Web3 & DApp Development Fundamentals · Pelajaran

Pohon Merkle

Verifikasi efisien

Pelajaran 2 dari 413 langkah

Pohon Merkle adalah pelajaran Web3 & DApp Development Fundamentals gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Web3 & DApp Development Fundamentals, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Web3 & DApp Development Fundamentals mencakup 4 pelajaran total.

Masalah yang Diselesaikan Merkle Tree

Sebuah blok dapat berisi ribuan transaksi. Bagaimana perangkat ringan dapat memverifikasi bahwa satu transaksi tertentu tercakup tanpa mengunduh semuanya?

Jawabannya adalah Merkle tree — struktur yang memungkinkan Anda membuktikan keanggotaan hanya dengan beberapa hash.

Apa Itu Merkle Tree?

Pohon Merkle (atau pohon hash) adalah pohon biner dengan ketentuan berikut:

  • Setiap daun adalah hash dari satu transaksi
  • Setiap simpul internal adalah hash gabungan dari kedua anaknya
  • Satu-satunya simpul teratas adalah akar Merkle

Membangun Pohon

Pembangunannya dilakukan dari bawah ke atas. Hash setiap transaksi untuk membentuk daun, lalu hash pasangan-pasangan tersebut berulang kali hingga hanya tersisa satu hash.

Leaves:  H(tx1) H(tx2) H(tx3) H(tx4)
Level 1: H(H(tx1)+H(tx2))  H(H(tx3)+H(tx4))
Root:    H(level1a + level1b)

Akar Merkle

Akar Merkle adalah satu hash yang mewakili setiap transaksi dalam blok. Hash ini disimpan di header blok.

Jika satu transaksi saja berubah, akarnya ikut berubah—sehingga akar tersebut menjadi sidik jari ringkas dari seluruh kumpulan transaksi.

Menangani Jumlah Daun Ganjil

Jika suatu tingkat memiliki jumlah simpul ganjil, simpul terakhir biasanya digandakan agar dapat dipasangkan.

Hal ini menjaga keseimbangan pohon dan memastikan setiap simpul memiliki saudara untuk di-hash bersamanya.

Leaves: H(tx1) H(tx2) H(tx3)
-> duplicate last: H(tx3) H(tx3)
Level 1: H(tx1+tx2)  H(tx3+tx3)

Bukti Merkle

Bukti Merkle adalah kumpulan kecil hash saudara yang diperlukan untuk menghitung ulang akar dari satu daun.

Untuk membuktikan bahwa tx2 disertakan, Anda hanya memerlukan simpul-simpul saudara di sepanjang jalurnya—bukan transaksi lainnya.

Prove tx2 is in the block:
  provide H(tx1) and H(tx3+tx4)
  recompute: H( H(tx1)+H(tx2) )
  then:      H( that + H(tx3+tx4) )
  compare to stored Merkle root

Alasan Bukti Efisien

Untuk N transaksi, bukti Merkle hanya memerlukan sekitar log2(N) hash.

Untuk satu juta transaksi, jumlahnya kira-kira 20 hash, bukan satu juta—penghematan besar bagi klien ringan dan dompet seluler.

Klien Ringan (SPV)

Klien Verifikasi Pembayaran Sederhana hanya mengunduh header blok, bukan blok lengkap.

Dengan menggunakan bukti Merkle dari simpul penuh, klien SPV dapat memastikan bahwa suatu transaksi berada dalam blok tanpa memercayai simpul tersebut secara membabi buta.

Deteksi Perubahan

Karena setiap transaksi berkontribusi pada akar Merkle, perubahan pada transaksi apa pun akan menghasilkan akar yang berbeda.

Akar pada header tidak lagi cocok dengan akar yang dihitung ulang, sehingga perubahan tersebut segera terungkap.

Pohon Merkle di Luar Transaksi

Pohon Merkle digunakan jauh melampaui daftar transaksi. Ethereum menggunakan varian yang disebut Trie Patricia Merkle untuk mengikat seluruh keadaan dunia dan tanda terima.

Git, IPFS, dan banyak basis data juga mengandalkan struktur Merkle untuk menjaga integritas.

Menyatukan Semuanya

Pohon Merkle mengubah kumpulan besar transaksi menjadi satu hash akar, sekaligus tetap memungkinkan bukti keanggotaan yang ringkas dan dapat diverifikasi.

Pohon ini adalah salah satu struktur data paling elegan di balik verifikasi yang dapat diskalakan dan tanpa kepercayaan.

Pemeriksaan Singkat

Periksa pemahaman Anda tentang bukti Merkle.

Ringkasan: Pohon Merkle

Anda telah mempelajari bahwa:

  • Pohon Merkle melakukan hash pada transaksi secara berpasangan hingga menjadi satu akar
  • Akar Merkle adalah sidik jari yang disimpan di header
  • Bukti Merkle hanya memerlukan sekitar ~log2(N) hash
  • Hal ini memungkinkan klien ringan yang efisien dan deteksi perubahan

Selanjutnya kita akan membahas hashing yang menjadi dasar semua ini.

Gratis untuk memulai

Belajar Web3 & DApp Development Fundamentals dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
29
Pelajaran
105

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pohon Merkle” gratis?

Ya — teks lengkap “Pohon Merkle” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Web3 & DApp Development Fundamentals, upgrade ke CoddyKit PRO. Kursus Web3 & DApp Development Fundamentals mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pohon Merkle”?

Verifikasi efisien Kamu berlatih Web3 & DApp Development Fundamentals dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Web3 & DApp Development Fundamentals?

Tidak diperlukan pengalaman sebelumnya. Web3 & DApp Development Fundamentals di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Pohon Merkle” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Web3 & DApp Development Fundamentals ini?

Ya. Setiap pelajaran Web3 & DApp Development Fundamentals menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Blok dan Chain
  2. Pohon Merkle
  3. Hashing dalam Blockchain
  4. Buku Besar Terdistribusi
← Kembali ke Web3 & DApp Development Fundamentals