Pohon Merkle (Merkle Tree) adalah struktur data seperti pohon hash biner. Dalam pohon biner, sebuah node dapat memiliki maksimal dua node anak, yaitu node kiri dan node kanan. Setiap node daun pohon Merkle menyimpan nilai hash dari elemen data. Ketika mengetahui data node kiri dan data node kanan, kita dapat menghitung informasi lengkap node induk. Informasi lengkap ini terdiri dari dua bagian: Data saldo alamat dompet dan data hash.
- Data saldo: Berdasarkan struktur data pohon biner, data keseimbangan node induk hanya dapat terdiri dari data keseimbangan node kiri dan data keseimbangan node kanan di bawahnya.
- Data hash: Setiap node terdiri dari data saldo, data hierarki pohon biner (garis putus-putus pada gambar) dan data hash node anak (data node kiri dan data node kanan disimpan di bawah setiap node).
Pohon Merkle diverifikasi dengan penghitungan, seperti bagian hijau (B dan D) yang dihitung pada gambar di atas, dan dengan dua kriteria berikut:
1. Verifikasi apakah saldo memenuhi prinsip pemisahan.
2. Verifikasi apakah hash itu legal.
Pohon Merkle menggunakan fungsi hash, yang memungkinkan pengguna memverifikasi apakah mereka bagian dari pohon lengkap tanpa mengetahui informasi di node ungu. Bukti Merkle (Merkle proof) unik bagi pengguna individu. Dalam kasus pohon Merkle dengan 24 tingkat, pengguna memerlukan larik saldo dengan panjang 24 elemen untuk memverifikasi informasi saldo mereka, dan larik ini hanya digunakan untuk memverifikasi saldo pengguna.
Selama data yang diperoleh pengguna tidak melebihi 50% dari total data pengguna di pohon Merkle, pengguna tidak dapat merekonstruksi seluruh struktur data berdasarkan informasi terfragmentasi mereka sendiri. Oleh karena itu, untuk perusahaan, pohon Merkle memastikan bahwa keseluruhan informasi aset perusahaan tidak akan bocor, dan privasi akun pengguna terlindungi.
Bybit menyediakan dua metode verifikasi sebagai berikut:
Verifikasi Melalui Platform Bybit
Anda dapat mengunjungi laman ini untuk masuk ke laman Verifikasi Akun Saya dan melihat jalur Merkle Anda. Secara grafis, Bybit menampilkan proses derivasi node verifikasi pohon Merkle untuk memudahkan Anda melihat saldo aset Anda.
Catatan: Kami melakukan audit Bukti Cadangan Dana (Proof of Reserves) secara berkala untuk menunjukkan bahwa Bybit memiliki cadangan dana yang memadai. Jika Anda membuat akun setelah audit dilakukan atau Anda tidak memiliki token yang diaudit, tidak akan ada catatan audit terkait untuk akun Anda.
Melalui Alat Validasi Mandiri — Kode Sumber Terbuka
Bybit telah merilis kode sumber pembuatan pohon Merkle dan kode verifikasi di GitHub untuk membantu pengguna dalam proses verifikasi saldo mereka sendiri. Proses kalkulasi pohon Merkle melibatkan kalkulasi data pengguna secara masif, yang biasanya diimplementasikan oleh big data dan Java. Pengodean Java benar-benar terbuka untuk diperiksa pengguna.
Latar Belakang
Bybit telah membuat kode sumber terbuka berikut bagi pengguna profesional untuk memverifikasi secara mandiri. Pengguna dapat mengeklik Salin Data dari laman Proof of Reserve mereka untuk menyalin data ke fail bukti pohon Merkle di papan klip (clipboard) sistem pemrograman mereka sendiri, dan menyimpannya sebagai fail bernama myProof.json di drive lokal mereka.
Cara Memulai
1. Buat Fail yang Dapat Anda Eksekusi
Silakan mengunduh fail kode sumber terbaru, dan memastikan JDK (versi 1.8 ke atas) dan Maven telah diinstal di workstation atau laptop Anda.
- Selesaikan dependensi, kompilasi, dan paket.
- Periksa paket jar yang dikompilasi, sebagai berikut, di folder proyek saat ini.
2. Lakukan Verifikasi Anda
- Anda dapat menempelkan fail bukti yang disalin dari situs web Bybit ke fail baru di folder saat ini, dan memberi nama fail tersebut sebagai myProof.json. Lalu, jalankan perintah berikut:
- Selanjutnya, Anda dapat menjalankan program yang diverifikasi dan mengamati data keluarannya.