Merkle tree adalah struktur data yang dipakai di ilmu komputer dan kriptografi. Di pasar cryptocurrency, merkle tree merujuk pada struktur data yang memuat ringkasan transaksi yang dibuat lewat fungsi hash di blockchain. Merkle tree membantu proses verifikasi blok transaksi di blockchain berjalan mudah dan efisien. Lewat artikel ini, Anda bisa menemukan jawaban atas pertanyaan apa itu merkle tree.
Merkle tree ditemukan oleh Ralph Merkle. Ia mematenkan konsep merkle tree pada 1979 dan membahasnya dalam artikelnya "Digital Signature Based on Traditional Encryption Function" yang terbit pada 1987. Merkle tree adalah struktur data berbentuk skema yang berisi kumpulan hash. Kode hash dari data di dalam merkle tree disusun sebagai skema dari bawah ke atas. Di merkle tree, hasil penjumlahan hash-hash di bagian bawah skema itulah yang menentukan nilai hash di tingkat atasnya.
Integritas data dalam sistem dijamin oleh merkle tree dan data hash yang tersusun dalam sebuah skema, dengan mengumpulkan nilai hash secara berurutan dari bawah ke atas. Struktur ini dipakai dalam transfer data antarorang, secara peer-to-peer, sekaligus untuk memverifikasi data yang ditransfer. Lewat merkle tree, bisa diketahui apakah data atau blok data yang ditransfer rusak atau dipalsukan. Keakuratan blok-blok tersebut bisa diverifikasi dengan merkle tree.
Bagaimana Cara Kerja Merkle Tree?
Merkle tree tersusun dari kumpulan hash di dalam blok. Di bagian paling bawah merkle tree terdapat data transaksi. Nilai hash (kode hash) dari data ini diperoleh dengan menjalankan fungsi hash. Setelah itu, nilai-nilai di bagian bawah skema hash dijumlahkan satu sama lain dan hasilnya ditempatkan pada baris di atasnya. Dari proses inilah merkle tree terbangun. Di ujung proses, nilai hash pada puncak skema disebut dengan istilah root hash atau merkle root. Nilai root hash yang dihitung itu mencerminkan ada tidaknya kesalahan pada blok-blok di bawahnya. Bila terjadi ketidakcocokan pada nilai-nilai yang menyusun root hash, algoritma dalam sistem akan terus bekerja dengan fungsi hash sampai menghasilkan merkle root yang bebas kesalahan.
Kenapa Merkle Tree Dipakai di Bitcoin?
Merkle tree memudahkan kerja para penambang yang ingin memverifikasi blok di blockchain Bitcoin. Penambang di blockchain Bitcoin memverifikasi blok dengan menjalankan fungsi hash. Di blockchain Bitcoin, data diurutkan dan ditempatkan di dalam merkle tree. Setelah itu, root hash diperoleh lewat kerja fungsi-fungsi hash pada algoritmanya. Root hash yang dihasilkan juga bisa dipakai untuk proses mining selanjutnya. Dengan begitu, penambang bisa melanjutkan pekerjaannya cukup dengan meng-hash root hash saja, tanpa perlu meng-hash seluruh blok. Merkle tree juga memberi solusi serupa pada blockchain cryptocurrency selain Bitcoin.
