Pohon Merkle adalah struktur data yang digunakan dalam aplikasi ilmu komputer. Dalam bitcoin dan cryptocurrency lainnya, pohon Merkle berfungsi untuk menyandikan data blockchain lebih efisien dan aman.
Mereka juga disebut sebagai "pohon hash biner."
Menghancurkan Pohon Merkle
Dalam blockchain bitcoin, blok transaksi dijalankan melalui algoritma untuk menghasilkan hash, yang merupakan serangkaian angka dan huruf yang dapat digunakan untuk memverifikasi bahwa serangkaian data yang diberikan sama dengan set transaksi yang asli, tetapi bukan untuk mendapatkan set transaksi asli. Perangkat lunak Bitcoin tidak menjalankan seluruh blok data transaksi - mewakili rata-rata transaksi 10 menit - melalui fungsi hash pada satu waktu, namun. Sebaliknya setiap transaksi hash, maka setiap pasangan transaksi digabungkan dan hash bersama, dan seterusnya hingga ada satu hash untuk seluruh blok. (Jika ada jumlah transaksi ganjil, satu transaksi digandakan dan hash-nya digabungkan dengan itu sendiri.)
Divisualisasikan, struktur ini menyerupai pohon. Dalam diagram di bawah ini, "T" menunjuk transaksi, "H" sebuah hash. Perhatikan bahwa gambar sangat disederhanakan; blok rata-rata berisi lebih dari 500 transaksi, bukan delapan.
Hash di baris bawah disebut sebagai "daun, " hash antara sebagai "cabang, " dan hash di bagian atas sebagai "root." Akar Merkle dari blok yang diberikan disimpan di header: misalnya, akar Merkle dari blok # 482819 adalah e045b18e7a3d708d686717b4f44db2099aabcad9bebf968de5f7271b458f71c8. Root digabungkan dengan informasi lain (versi perangkat lunak, hash blok sebelumnya, timestamp, target kesulitan, dan nonce) dan kemudian dijalankan melalui fungsi hash untuk menghasilkan hash unik blok: 0000000000000000bfc767ef8bf287f8bf28c42cbd4bdbafd9aa1b5c3c28c28. Hash ini sebenarnya tidak termasuk dalam blok yang relevan, tetapi yang berikutnya; ini berbeda dari akar Merkle.
Pohon Merkle berguna karena memungkinkan pengguna untuk memverifikasi transaksi tertentu tanpa mengunduh seluruh blockchain (lebih dari 130 gigabytes pada akhir Agustus 2017). Misalnya, Anda ingin memverifikasi bahwa transaksi T D termasuk dalam blok di diagram di atas. Jika Anda memiliki hash root (H ABCDEFGH), prosesnya seperti permainan sudoku: Anda menanyakan jaringan tentang H D, dan mengembalikan H C, H AB, dan H EFGH. Pohon Merkle memungkinkan Anda untuk memverifikasi bahwa semuanya dicatat dengan tiga hash: diberikan H AB, H C, H EFGH, dan root H ABCDEFGH, H D (satu-satunya hash yang hilang) harus ada dalam data.
Pohon Merkle dinamai Ralph Merkle, yang mengusulkan mereka dalam makalah 1987 berjudul "Tanda Tangan Digital Berdasarkan Fungsi Enkripsi Konvensional." Merkle juga menemukan hashing kriptografi.