Bagaimana Merkle root dibuat?
Mulailah dengan ID setiap transaksi dalam blok, yang merupakan hash SHA-256 ganda. Urutkan, dengan coinbase di urutan pertama. Gabungkan transaksi yang bersebelahan secara berpasangan, lalu hash setiap pasangan. Sekarang jumlah hash menjadi setengahnya. Ulangi sampai tersisa satu: itulah Merkle root.
Jika suatu tingkat memiliki jumlah hash ganjil, hash terakhir dipasangkan dengan dirinya sendiri. Ubah transaksi apa pun, bahkan hanya satu satoshi, maka semua hash di jalurnya hingga ke puncak akan berubah, termasuk Merkle root. Coba di demo di atas.
Kenapa pakai pohon, bukan satu hash besar?
Bukti. Untuk menunjukkan bahwa sebuah transaksi ada dalam blok, kamu hanya perlu hash di sepanjang cabangnya, bukan seluruh blok. Blok dengan sekitar 4.000 transaksi hanya membutuhkan 12 hash, atau beberapa ratus byte. Whitepaper Satoshi menjelaskan dompet ringan yang memeriksa pembayaran dengan cara ini dan hanya menyimpan header blok.
Ini juga penting untuk penambangan. Saat penambang mengubah extra nonce dalam transaksi coinbase, Merkle root ikut berubah, dan header blok mendapat kumpulan nonce baru untuk dicoba.
Sumber
- Bitcoin: A Peer-to-Peer Electronic Cash System · Satoshi Nakamoto, 2008
- Referensi rantai blok: header, pohon Merkle, target · Dokumentasi pengembang Bitcoin
- Pohon Merkle · Bitcoin Wiki
Angka terkini di halaman ini berasal dari API CloudMineCrypto dan data blockchain publik, diperbarui secara berkala, dan diberi label di tempatnya. Hanya untuk edukasi, bukan nasihat keuangan.