Apa Itu Merkle Tree & Apa Perannya dalam Blockchain?
Tampilkan Lebih Banyak
Pahami konten artikel dengan cepat dan ukur sentimen pasar hanya dalam 30 detik!
Pohon Merkle digunakan dalam aplikasi ilmu komputer sebagai struktur data untuk verifikasi dan sinkronisasi data. Pohon Merkle juga digunakan untuk mengenkripsi data blockchain secara lebih aman dan efisien dalam Bitcoin dan mata uang kripto lainnya.
Dengan mata uang kripto, basis data pohon Merkle digunakan untuk membagi data blok dengan aman dan memastikan bahwa blok tidak hilang, rusak, atau diubah. Metode manajemen data ini memungkinkan untuk memvalidasi transaksi tertentu tanpa mengunduh seluruh blockchain berukuran terabyte. Ini adalah metode yang andal, aman, dan kriptografis untuk menjalankan blockchain.
Akibat jatuhnya raksasa Bursa Terpusat (CEX), FTX, banyak CEX telah membangun dan menerapkan Pohon Merkle sebagai bentuk Proof of Reserves (PoR) untuk memastikan bahwa dana mereka aman. Dalam artikel ini, kita akan membahas apa itu pohon Merkle, peran mereka dalam blockchain, dan bagaimana pengguna dapat memvalidasi dana mereka menggunakan pohon Merkle.
Siapa Pendiri Pohon Merkle?
Ralph Merkle, seorang ilmuwan komputer yang terkenal karena karyanya dalam kriptografi kunci publik, mengusulkan pohon Merkle di makalah tahun 1987 "Tanda Tangan Digital Berdasarkan Fungsi Enkripsi Konvensional". Hashing kriptografi juga ditemukan oleh Merkle.
Apa Itu Pohon Merkle?
Merkle tree adalah struktur data matematis berbasis hash yang merangkum semua transaksi dalam satu blok. Ini adalah metode untuk memeriksa akurasi data dengan cepat dengan cara desentralisasi. Sebagai hasil dari fungsinya, pohon Merkle digunakan dengan lebih efektif dan aman untuk mengenkripsi data blockchain.
Pohon Merkle sering digunakan dengan jaringan peer-to-peer (P2P) karena memerlukan informasi yang dibagikan dan divalidasi secara independen. Mari memahami lebih lanjut tentang pohon Merkle dan cara kerjanya.
Struktur Pohon Merkle
Pohon Merkle, yang juga dikenal sebagai pohon hash, memiliki struktur pohon biner, dengan hash data transaksional di baris bawah disebut sebagai "Node Daun", hash perantara disebut sebagai "Node Non-Keberangkatan", dan hash di bagian atas disebut sebagai "Akar." Meskipun sebagian besar implementasi pohon hash adalah biner (setiap node memiliki dua node anak), mereka juga dapat memiliki lebih banyak node anak.
Saat melihat struktur pohon Merkle, semua transaksi dikelompokkan secara berpasangan. Setiap pasangan memiliki hash terkomputasi yang disimpan langsung di node induk. Node-node ini juga dikelompokkan menjadi pasangan, setelah itu hash mereka disimpan pada level selanjutnya ke atas. Proses ini berlanjut hingga mencapai akar pohon Merkle.
Mari kita lihat setiap node:
Node Daun
Ini adalah hash setiap transaksi mata uang kripto dalam satu blok, juga disebut sebagai ID transaksi (TXID). Anda melihat hash transaksi saat mencari transaksi di penjelajah blok.
Node Non-Keluar
Kemudian, untuk membuat lapisan node non-daun di atas node daun, node daun ini di-hash bersama-sama secara berpasangan. Ini dikenal sebagai node non-daun karena, berbeda dengan node daun, node tersebut hanya menyimpan hash dari dua node daun yang diwakilinya dan tidak mengandung ID transaksi (atau hash). Akibatnya, akan ada setengah jumlah hash (atau node) di lapisan node non-daun di atas node daun seperti yang ada di lapisan node daun. Saat pohon menyempit saat naik, lapisan node non-daun ini terus dikacaukan bersama-sama secara berpasangan, menghasilkan setengah jumlah node per lapisan. Dua node akan ada di lapisan node non-daun akhir. Ini menciptakan akar Merkle dan merupakan lokasi hash terakhir di pohon Merkle.
Akar Merkle
Dengan Bitcoin, hash semua transaksi digabungkan menjadi satu hash dan disimpan di header blok. Akar Merkle, juga dikenal sebagai hash akar, adalah hash khusus ini. Node daun (ID transaksi/hash) di dasar pohon Merkle dapat diverifikasi menggunakan akar Merkle ini. Ketika digunakan untuk mata uang kripto, akar Merkle memastikan bahwa blok data tidak berubah, tidak rusak, dan utuh.
Pohon Merkle adalah biner, yang berarti bahwa jumlah total nodus daun yang berbeda harus sama untuk pohon dibangun dengan benar. Ketika ada jumlah nodus daun yang ganjil, hash sebelumnya akan diduplikasi untuk memberikan jumlah nodus yang genap.
Bagaimana Cara Kerja Pohon Merkle?
Pohon Merkle pada dasarnya dirancang untuk memecah bagian data yang besar menjadi bagian yang jauh lebih kecil, yang memastikan bahwa semua transaksi dapat diverifikasi dengan segera. Pohon merangkum setiap transaksi dengan membuat sidik jari kecil dari serangkaian transaksi tertentu, yang memudahkan pengguna untuk memverifikasi ketersediaan transaksi dalam satu blok.
Pohon Merkle dibentuk dengan hashing pasangan node yang berbeda sampai hanya satu hash tersisa, yang disebut sebagai akar Merkle. Pohon-pohon ini dibangun dari bawah ke atas, dengan setiap transaksi terdiri dari hash. Setiap simpul daun adalah hash data tunggal. Adapun node non-daun, ini adalah hash dari hash sebelumnya.
Misalnya, pohon Merkle terdiri dari empat transaksi yang diberi label D0, D1, D2, dan D3. Setiap transaksi di-hash sebelum hash disimpan langsung pada simpul daun. Ketika ini terjadi, hash N0, N1, N2, dan N3 akan dibuat. Sepasang simpul daun berturut-turut kemudian akan dirangkum dalam simpul induk melalui hash N0 dan hash N1, yang menghasilkan hash N4. Jika hash N2 dan hash N3 di-hash bersama-sama, hash N5 akan dibuat. Kedua hash ini, N4 dan N5, dikacaukan sekali lagi untuk membuat akar Merkle.
Proses ini dapat digunakan dengan set data yang ekstensif. Akar Merkle bertanggung jawab untuk merangkum data yang ada dalam transaksi tertentu, yang semuanya disimpan langsung di header blok. Teknik ini menyebabkan integritas data dipertahankan dengan benar. Jika satu detail dalam transaksi berubah pada suatu waktu, akar Merkle akan secara otomatis berubah di sampingnya.
Keuntungan Pohon Merkle
Ada banyak keuntungan untuk teknologi blockchain dan platform mata uang kripto saat menggunakan pohon Merkle untuk memverifikasi transaksi, yang mencakup semuanya mulai dari verifikasi yang efisien hingga deteksi gangguan yang mudah.
Proses Verifikasi Data yang Efisien
Integritas transaksi mudah diverifikasi dalam waktu singkat. Karena cara data terstruktur, sangat sedikit memori yang perlu digunakan selama proses verifikasi dan daya komputasi yang diperlukan berkurang secara signifikan.
Karena blockchain biasanya terdiri dari ratusan ribu blok, yang masing-masing dapat berisi hingga beberapa ribu transaksi, memvalidasi data menimbulkan dua tantangan utama: ruang memori dan daya komputasi. Setiap node pada jaringan akan diwajibkan untuk menyimpan salinan lengkap setiap transaksi yang pernah terjadi pada blockchain jika pohon Merkle bukan konsep dalam blockchain. Node harus membandingkan setiap baris entri dengan baris saat memverifikasi transaksi untuk memastikan bahwa catatannya benar-benar sesuai dengan catatan jaringan. Keamanan jaringan dapat terancam jika ada perbedaan antara catatan tersebut. Oleh karena itu, untuk membandingkan catatan guna memastikan tidak ada perubahan, komputer yang digunakan untuk memvalidasi data akan membutuhkan lebih banyak daya pemrosesan.
Di sisi lain, pohon Merkle menawarkan solusi untuk masalah ini dengan mengurangi jumlah data yang harus disimpan untuk kebutuhan verifikasi secara drastis. Mereka mengacak setiap entri dalam buku besar, secara efektif memisahkan data itu sendiri dari bukti yang mendukungnya. Tanpa mengetahui setiap TXID dalam satu blok, Anda dapat memeriksa TXID menggunakan akar Merkle dengan pohon Merkle. Pohon Merkle pada dasarnya adalah cara yang bagus untuk menunjukkan bahwa ada sesuatu di set data tanpa harus mengunduh seluruh set. Akibatnya, lebih sedikit daya komputasi yang diperlukan untuk memvalidasi transaksi.
Kecepatan Pemrosesan yang Lebih Cepat
Sebagai hasil dari distribusi transaksi pada blok di antara validator, setiap validator mengerjakan transaksi yang berbeda pada saat yang bersamaan. Dibandingkan dengan metode di mana setiap transaksi divalidasi secara berurutan satu demi satu, ini jauh lebih efektif.
Penggunaan Dompet Kripto
Verifikasi Pembayaran Sederhana (SPV), yang memungkinkan Anda mengonfirmasi transaksi tanpa mengunduh seluruh blok atau blockchain, dapat dilakukan oleh pohon Merkle. Ini memungkinkan penggunaan node klien ringan, yang lebih dikenal secara formal sebagai dompet kripto, untuk mengirim dan menerima transaksi.
Deteksi Segala Rintangan
Struktur hash memudahkan penambang untuk mengidentifikasi apakah perusakan telah terjadi pada transaksi.
Nilai hash yang berbeda dihasilkan untuk setiap blok menggunakan akar Merkle. Blok menautkan satu blok ke blok lain dalam blockchain dengan menyertakan hash blok sebelumnya. Hash transaksi apa pun berubah setiap kali transaksi tersebut diubah. Blok menjadi tidak valid akibat perubahan ini karena mengalir ke Akar Merkle dan mengubah nilainya. Hal ini kemudian menyebabkan perubahan hash blok berikut, sehingga sisa Blockchain menjadi tidak valid. Akibatnya, pohon Merkle membuat catatan transaksi blok yang tidak dapat diubah.
Pengeluaran ganda juga dapat dicegah sebagai hasilnya. Jika seseorang mencoba untuk membelanjakan dua kali mata uang digitalnya, hash akan dihasilkan untuk transaksi tersebut. Jika hash tersebut cocok dengan catatan yang ada di Blockchain, transaksi tersebut ditolak.
Mengapa Pohon Merkle Penting dalam Blockchain?
Pohon Merkle telah terbukti penting untuk teknologi blockchain karena memfasilitasi verifikasi yang cepat dan mudah dengan cara yang tidak mungkin dilakukan dengan teknik lain. Pohon Merkle ini memberi pengembang kemampuan untuk mengompresi kumpulan data yang sangat besar dengan menghilangkan semua data yang tidak perlu, dan mengubah data yang tersisa menjadi hash. Berbagai fitur yang disediakan oleh pohon Merkle meliputi:
- Struktur yang sangat ringan
- Skalabilitas efektif
- Efisiensi bahan bakar
- Verifikasi bahwa transaksi termasuk dalam blok tertentu
- Autentikasi pembayaran dasar
Merkle Tree Proof-of-Reserves (PoR)
Seperti yang disebutkan di awal, setelah kejatuhan FTX, pengguna telah khawatir apakah dana mereka benar-benar tetap aman di CEX. Akibatnya, beberapa CEX telah muncul untuk mengembangkan mekanisme Proof-of-Reserve Merkle Tree. Pada bagian ini, kami akan melihat bukti Merkle dan bagaimana pengguna kami dapat memvalidasi dana mereka.
Bukti Merkle
Bukti pohon Merkle adalah potongan dari pohon Merkle, bukan pohon yang sebenarnya. Dan direpresentasikan sebagai larik atau urutan (ditunjukkan oleh bagian oranye pada diagram di bawah ini).
Semua simpul daun dan informasi saldo untuk satu pengguna tertentu di perusahaan kami diwakili oleh simpul level terakhir angka tersebut. Dengan asumsi bahwa orang-orang merah muda pada gambar mewakili penerima bukti yang dimaksudkan, kami mengekstrak bagian oranye pada tingkat gambar berdasarkan tingkat dan menyajikan dokumen bukti kepada pengguna berdasarkan tinggi badan. Penting untuk diingat bahwa bukti Merkle memiliki dua komponen utama
- Node induk langsung (yaitu, B dan D) pengguna ini tidak diekstraksi.
- Sediakan node akar, yaitu root Merkle.
Dengan mempertimbangkan volume 10 juta pengguna sebagai contoh, tinggi pohon dapat dihitung sebagai Log2(10.000.000) = 23,2534966642 berdasarkan rumus matematis, yang memberikan tinggi pohon 24 level. Oleh karena itu, simpul pada grafik yang sengaja tidak diberikan kepada pengguna adalah 24 - 2 = 22.
Pohon Merkle adalah pohon biner lengkap, yang memungkinkan kami untuk menghitung semua informasi tentang node induknya hanya dengan mengetahui node kiri dan kanan. Dua bagian membentuk informasi lengkap ini: data saldo dan data hash.
- Data Saldo: Data node induk dapat dan hanya dapat dibagi ke node kiri dan kanan bawah.
- Data Hash: Hanya data saldo, data hierarki pohon, dan data hash node anak yang akan hadir untuk setiap node (setiap node menyimpan data ringkasan node kiri dan kanan di bawahnya).
Validasi pohon Merkle dihitung dengan menurunkan B dan D dan memverifikasi bahwa
- saldo sesuai dengan prinsip pemisahan; dan
- hash tersebut legal.
Dengan menggunakan fungsi ringkasan hash, pohon Merkle memungkinkan pengguna untuk menentukan apakah pohon tersebut merupakan bagian dari seluruh pohon tanpa harus mengetahui setiap node ungu dalam grafik. Bukti Merkle hanya untuk pengguna tersebut. Misalnya, pohon Merkle 24-level memerlukan larik 23 elemen untuk memverifikasi informasi saldo pengguna, dan larik ini hanya dapat mengonfirmasi bahwa bukti saldo pengguna akurat.
Pengguna tidak dapat merekonstruksi seluruh pohon berdasarkan informasi yang terfragmentasi selama tidak mendapatkan lebih dari setengah jumlah total pengguna. Oleh karena itu, pohon Merkle melindungi privasi pengguna dan kemampuan perusahaan untuk mencegah kebocoran informasi tentang keseluruhan aset perusahaan.
Memvalidasi Akun Bybit Anda
Ada 2 metode yang tersedia bagi Anda untuk memvalidasi akun Bybit Anda dan untuk memeriksa validitas dana.
Alat Validasi Platform
Metode ini adalah metode pertama dan satu-satunya di seluruh jaringan, dan akan menunjukkan proses derivasi node validasi Pohon Merkle dengan cara grafis intuitif di platform perusahaan.
Alat Validasi Mandiri
Kode sumber pembuatan pohon Merkle dan kode validasi perusahaan tersedia secara terbuka di github untuk membantu pengguna memprogram validasi mereka sendiri. Proses penghitungan pohon Merkle melibatkan sejumlah besar perhitungan pengguna, yang biasanya diimplementasikan oleh big data dan Java.
*Kode Java terbuka berarti kode terbuka bagi pengguna tanpa menahan informasi apa pun.
Bybit telah menggunakan kode berikut untuk pengguna profesional guna memvalidasi file bukti Pohon Merkle mereka dengan menyalinnya dari halaman bukti cadangan ke versi sistem "lengket" mereka melalui tombol Salin Data dan menyimpannya sebagai file bernama myProof.json ke disk lokal.
Aplikasi Pohon Merkle di Blockchain
Struktur akar Merkle dan Merkle telah diadopsi secara luas di berbagai blockchain dan platform mata uang kripto. Berikut ini detail tiga aplikasi tersebut.
Bitcoin
Bitcoin menggunakan pohon Merkle dalam beberapa cara, yang menjadikan pohon ini tak terpisahkan dari seluruh platform Bitcoin. Bahkan, pohon-pohon ini ada di setiap header blok Bitcoin. Hash untuk setiap transaksi yang tersedia dalam blok ditempatkan di header. Dalam hal Bitcoin, akar Merkle penting untuk penambangan serta verifikasi.
Penambangan
Blok Bitcoin terdiri dari header yang berisi metadata serta daftar transaksi yang lengkap. Daftar ini biasanya lebih besar dari header blok. Penambang memiliki data untuk membuat output yang sesuai dengan kondisi tertentu, yang diperlukan saat memvalidasi blok. Penambang dapat melakukan triliunan percobaan terpisah sebelum menemukan blok yang valid. Setiap upaya memerlukan perubahan angka di header blok. Meskipun ribuan transaksi terpisah dapat terjadi dalam satu blok, setiap transaksi harus di-hash.
Akar Merkle memungkinkan penambang untuk membuat proses ini jauh lebih efisien. Ketika proses penambangan dimulai, yang diperlukan hanyalah transaksi yang akan dilakukan ke pohon Merkle, setelah itu hash akar dapat ditempatkan di dalam header blok. Pada titik ini, penambang hanya diperlukan untuk mengacak header blok, dibandingkan dengan seluruh blok.
Verifikasi
Aspek lain dari akar Merkle yang digunakan dengan Bitcoin melibatkan leverage, yang berfokus pada klien yang ringan. Ketika node dioperasikan pada perangkat yang relatif lemah dengan sumber daya yang terbatas, pengguna tidak akan dapat mengunduh dan melakukan hash setiap transaksi dalam satu blok. Sebaliknya, bukti Merkle dapat diminta, yaitu konfirmasi bahwa transaksi ada dalam satu blok. Dengan mengurangi jumlah hash yang perlu dilakukan selama proses verifikasi, verifikasi dapat terjadi tanpa menggunakan banyak sumber daya komputasi.
Ethereum
Ethereum didasarkan pada versi pohon Merkle yang agak dimodifikasi, itulah sebabnya Ethereum disebut sebagai pohon Patricia Merkle. Setiap blok dalam blockchain Ethereum terdiri dari tiga pohon Merkle, bukan satu pohon biner — yang terjadi dalam blok Bitcoin. Masing-masing dari ketiga akar memiliki tujuannya sendiri.
Akar awal dianggap sebagai akar dari setiap transaksi. Sedangkan untuk akar kedua, menunjukkan status transaksi. Akar terakhir adalah penerimaan transaksi. Pengguna dapat melihat akar Merkle untuk menentukan apakah transaksi ditemukan pada blok tertentu, serta menentukan saldo akun mereka.
Kain Hyperledger
Saat melihat secara khusus Kain Hyperledger, platform blockchain ini menggunakan pohon Merkle untuk menghitung data blok sebagai hash. Nilai hash mengidentifikasi lebar pohon Merkle. Merkle trees di platform Kain Hyperledger berfungsi seperti yang ada di platform Bitcoin.
Kesimpulan
Pohon Merkle telah terbukti sangat berguna untuk platform mata uang kripto yang ingin memastikan proses verifikasi transaksinya semudah dan seefisien mungkin. Tanpa struktur ini, verifikasi akan menjadi proses yang memakan waktu karena data perlu ditransfer ke seluruh jaringan untuk diverifikasi. Platform yang menggunakan pohon Merkle mendapatkan keuntungan dari bandwidth dan kebutuhan daya komputasi yang lebih sedikit.
Dapatkan informasi harian terkait dunia kripto dan perdagangan
Tidak Ada Spam. Hanya sekumpulan informasi yang menarik dan terkini dalam semesta kripto