Bagaimana zk-SNARK Meningkatkan Gate.io Bukti Cadangan

LanjutanOct 12, 2023
Sebagai salah satu pionir dalam industri yang memperkenalkan bukti cadangan, Gate.io akan mengadopsi teknologi zk-SNARK untuk meningkatkan bukti cadangannya, memberikan keamanan aset dan perlindungan privasi yang unggul kepada pengguna.
Bagaimana zk-SNARK Meningkatkan Gate.io Bukti Cadangan

Dengan lebih dari 13 juta pengguna, Gate.io sepenuhnya memahami pentingnya keamanan dana dan telah memelopori industri dalam mengambil langkah-langkah efektif. Gate.io adalah salah satu bursa paling awal yang menerapkan bukti cadangan (PoR), yang mengungkapkan PoR-nya pada awal Mei 2020. Hanya setelah FTX menyalahgunakan aset pengguna pada tahun 2022, yang menyebabkan krisis likuiditas dan kebangkrutan berikutnya, bukti cadangan diakui secara luas sebagai solusi untuk memastikan keamanan dana pengguna dan meningkatkan kepercayaan platform.

Setelah insiden FTX, Gate.io segera merilis bukti cadangan keduanya. Tak lama setelah dirilis, pendiri Ethereum, Vitalik Buterin, menerbitkan sebuah artikel berjudul “Memiliki CEX yang aman: bukti solvabilitas dan seterusnya,” membahas bagaimana bursa dapat menunjukkan solvabilitasnya dengan lebih baik. Artikel tersebut menyarankan integrasi teknologi canggih seperti zk-SNARK di atas bukti cadangan tradisional untuk memastikan PoR yang lebih publik, transparan, dan autentik. Gate.io berencana menggunakan teknologi baru yang disebutkan dalam artikel tersebut untuk meningkatkan bukti cadangannya, menawarkan peningkatan privasi dan keamanan aset asli kepada pengguna.

Apa itu Bukti Cadangan?

Bukti Cadangan (PoR) mengacu pada peninjauan saldo yang dimiliki oleh bursa mata uang kripto atau lembaga keuangan lainnya, memverifikasi apakah jumlah aset yang dicatat oleh perusahaan sesuai dengan aset sebenarnya yang dimiliki. Jika jumlah aset dalam cadangan melebihi jumlah aset yang disimpan oleh pengguna, yaitu rasio agunan lebih besar dari 100%, hal ini membuktikan bahwa dana pengguna didukung oleh aset riil dengan basis 1:1.

Sebelum munculnya PoR, terdapat juga usulan transfer aset dan bukti kewajiban untuk menunjukkan bahwa bursa memiliki dana yang cukup.

Transfer Aset - Menunjukkan Bursa Memiliki Aset yang Cukup

Pada tahun 2011, MtGox, yang saat itu merupakan bursa Bitcoin terbesar, membuktikan bahwa mereka memiliki dana tertentu dengan melakukan transaksi yang memindahkan 424,242 BTC ke alamat yang diumumkan sebelumnya. Metode ini hanya dapat memvalidasi aset dan tidak dapat membuktikan kewajiban bursa.

Bukti Kewajiban

Kewajiban bursa adalah aset yang disimpan oleh penggunanya. Cara paling sederhana untuk membuktikan aset pengguna adalah dengan mempublikasikan daftar yang berisi akun dan saldo pengguna. Setiap pengguna dapat mengakses daftar ini dan memeriksa apakah saldo di akun mereka sudah benar. Namun, metode ini jelas memiliki kelemahan:

  1. Tidak ada jaminan bahwa daftar yang disediakan oleh bursa adalah asli.

  2. Dalam prosesnya, informasi akun dan saldo pengguna diungkapkan.

Metode ini juga dapat menggunakan struktur data seperti Merkle untuk meminimalkan paparan informasi pengguna, sehingga mengarah pada konsep PoR saat ini.

Seperti yang diilustrasikan, pohon Merkle adalah struktur data mirip pohon. Data di lapisan bawah disebut “simpul daun”, dan lapisan tengah disebut “simpul perantara”. Dua node daun dapat menjalani hashing (memproses nilai input apa pun untuk mendapatkan nilai tertentu) untuk menghasilkan nilai node perantara. Dua node perantara kemudian di-hash untuk mendapatkan nilai output unik untuk node tingkat berikutnya. Setelah pemrosesan berlapis-lapis, simpul akar (Root) dari pohon Merkle akhirnya diperoleh. Nilai ini unik, dan setiap perubahan pada simpul daun akan mengakibatkan perubahan pada simpul akar.

Bukti Cadangan di Pohon Merkle (Sumber: Vitalik

Dalam metode ini, total aset yang dimiliki bursa atas nama penggunanya ditentukan dengan mengumpulkan nilai lapis demi lapis. Namun, bahkan setelah memasukkan data akun pengguna dan saldo langsung ke node daun, masih ada sedikit risiko kebocoran informasi. Mengambil ilustrasi sebagai contoh, pengguna yang ditandai dengan warna hijau (Charlie) dapat mengakses sebagian informasi David, serta saldo Alice dan Bob di sisi kiri. Akibatnya, ada perbaikan teknis pada simpul daun:

  1. Seperti yang diperlihatkan dalam ilustrasi, ID akun pengguna di-hash bersama dengan nilai tertentu.

  2. Saldo pengguna tersebar. Misalnya, 10ETH Charlie dapat dibagi menjadi dua jumlah 5ETH dan ditempatkan di dua node daun yang berbeda.

  3. ID pengguna dan saldo di-hash secara terpisah, lalu nilai yang dihasilkan di-hash sekali lagi. Bukti dana cadangan Gate.io menggunakan metode ini.

Meskipun terdapat kemajuan pada tingkat simpul daun, ada satu masalah yang masih belum terselesaikan: saldo negatif. Dalam praktiknya, setelah pengguna menyetor mata uang kripto, mereka terlibat dengan produk pertukaran seperti perdagangan dengan leverage dan kontrak abadi. Jika terjadi kerugian, kerugian maksimal harus 100% dari pokok, artinya saldo akun pengguna harus selalu lebih besar atau sama dengan nol.

Biasanya, saldo negatif dipicu oleh pertukaran jahat. Misalnya, jika suatu bursa menyalahgunakan 500ETH, berdasarkan perhitungan standar, aset yang sebenarnya dimiliki bursa tersebut mungkin kurang dari jaminan yang disyaratkan, bahkan mungkin kurang dari 100%, yang menunjukkan adanya penyalahgunaan tersebut. Namun, bursa mungkin akan membuat akun, seperti akun bernama Henry dengan saldo -500ETH pada ilustrasi di atas, untuk membuat total nilai aset pohon Merkle sama dengan atau kurang dari aset yang dimiliki bursa setelah penyelewengan, sehingga menciptakan ilusi. dengan tingkat jaminan lebih besar dari 100%.

Dampak Akun Bernilai Negatif pada Ilustrasi Pohon Merkle (Sumber: Vitalik

Untuk mengatasi masalah ini, bursa seperti Gate.io telah mulai menggunakan teknologi bukti tanpa pengetahuan zk-SNARK untuk meningkatkan bukti cadangan mereka.

Apa itu Bukti Tanpa Pengetahuan dan zk-SNARK?

Bukti tanpa pengetahuan adalah teknik di mana satu pihak dapat membuktikan sesuatu kepada pihak lain tanpa mengungkapkan informasi rahasia. Untuk mengilustrasikan konsep ini dengan contoh sederhana: Jika Pengguna A mengetahui nomor telepon Pengguna B dan Pengguna C menanyakan apakah Pengguna A mengetahuinya, Pengguna A dapat langsung menghubungi nomor B untuk memverifikasi bahwa mereka memang memilikinya, tanpa mengungkapkan nomor sebenarnya kepada Pengguna. C. Proses ini, yang menjaga privasi pengguna sekaligus menegaskan pengetahuan, merupakan contoh mekanisme “zero-knowledge proof”.

Dalam dunia mata uang kripto, bukti tanpa pengetahuan (zero-knowledge proof) memungkinkan pengguna untuk menunjukkan kepemilikan kunci pribadi tanpa memperlihatkan kunci itu sendiri atau tanda tangan elektronik apa pun. Platform perdagangan mata uang kripto berharap dapat memvalidasi status dana cadangan mereka tanpa mengungkapkan informasi sensitif pengguna seperti saldo rekening individu.

zk-SNARK adalah singkatan dari teknik pembuktian tanpa pengetahuan yang ringkas dan non-interaktif. Ini menjalani “penyiapan tepercaya awal” untuk menghasilkan String Referensi Umum (CRS) yang dapat diakses langsung oleh semua pembukti. Hal ini analog dengan sistem penilaian ujian dimana zk-SNARK langsung mengunggah jawaban yang benar. Peserta ujian kemudian dapat memverifikasi tanggapan mereka (dengan mengirimkan solusi pertanyaan mereka ke sistem backend, yang segera memberikan hasil yang benar atau salah), sehingga prosesnya menjadi sangat efisien.

Dengan zk-SNARK, pengguna dapat membuktikan mengetahui nilai asli yang telah di-hash tanpa mengungkapkan konten sebenarnya dari nilai tersebut. Tanpa mengungkapkan jumlah, nilai, atau alamat tertentu, pengguna juga dapat memverifikasi validitas suatu transaksi. Ini biasanya digunakan dalam transaksi pribadi. Dalam desain bukti cadangan, zk-SNARK dapat menentukan batasan sebelumnya, menghilangkan akun bukan nol, dan memastikan privasi pengguna.

Bagaimana Gate.io Memanfaatkan zk-SNARKs untuk Meningkatkan Bukti Cadangan

Gate.io mengintegrasikan teknologi zk-SNARK dengan pohon Merkle untuk menciptakan bukti cadangan yang lebih transparan, terlindungi privasi, dan tahan kerusakan.

Proses Implementasi

  1. Otorisasi Dompet Dingin
    Semua dompet dingin dan panas mentransfer jumlah acak tertentu ke alamat yang ditunjuk oleh perusahaan audit untuk memverifikasi kepemilikan. Perusahaan audit kemudian merangkum saldo dari alamat-alamat ini untuk menentukan jumlah total yang dikendalikan oleh bursa (termasuk dana pengguna dan dana kepemilikan).

  2. Cuplikan Saldo Pengguna
    Pada saat tertentu, cuplikan saldo pengguna di platform diambil. Ekuitas akun aktual dihitung menggunakan data seperti pesanan yang belum direalisasi, jumlah pinjaman, bunga terutang, dan keuntungan/kerugian yang belum direalisasi.

  3. Mengekspor Saldo
    UID terenkripsi dan saldo setiap pengguna diberikan kepada perusahaan audit untuk tujuan menghitung aset pengguna agregat dan menerbitkan nomor Merkle.

  4. Pemrosesan Batch Aset Pengguna
    Aset bersih bursa dipastikan merupakan jumlah dari aset bersih masing-masing pengguna. Kemudian, berdasarkan aset bersih pengguna, dibangun pohon Merkle.
    (Alasan utama pemrosesan batch adalah karena Gate.io memiliki 13 juta pengguna. Memproses semua data pengguna sekaligus akan sangat menuntut perangkat keras dan perangkat lunak. Pemrosesan batch lebih hemat waktu dan biaya tanpa mengorbankan keamanan atau privasi data.)

  5. Menerapkan Batasan Sirkuit
    ① Sebelum aset bersih pengguna dimasukkan ke dalam pohon Merkle, node yang sesuai dengan ID pengguna tersebut kosong.
    ② Berdasarkan daftar aset pengguna dan harga setiap aset, hitung total aset/liabilitas pengguna. Total aset harus selalu melebihi total kewajiban.
    ③ Tambahkan aset/kewajiban pengguna ke aset/kewajiban bursa.
    ④ Dengan menggunakan ID pengguna, total aset/liabilitas, dan daftar aset, hitung hash status pengguna. Masukkan status pengguna ke pohon Merkle untuk mendapatkan Merkle Root baru.
    ⑤ Sebelum membuat operasi untuk satu pengguna, nilai hash akar pohon harus cocok dengan nilai hash dari node akar setelah membuat operasi untuk pengguna berikutnya.
    (Batasan ① mencegah data simpul yang tidak benar, ② mencegah akun dengan nilai negatif, dan ⑤ memastikan data pengguna tetap tidak berubah sebelum dan sesudah operasi.)

  6. Menghasilkan Bukti Cadangan
    Menggunakan sirkuit zk-SNARK, tentukan jumlah aset pengguna dan kemudian terbitkan laporan bukti cadangan.

Untuk penjelasan lebih detail mengenai proses perhitungan cadangan dan implementasi kode, klik di sini.

Kinerja

Pada mesin dengan 32 core dan RAM 128 GB, diperlukan waktu 15 hari untuk menghitung bukti aset untuk 10 juta pengguna. Perhitungan bukti cadangan dapat diparalelkan; jadi dengan 10 mesin hanya membutuhkan waktu 1,5 hari.

Kesimpulan

Pengenalan zk-SNARKs merupakan peningkatan yang signifikan untuk Gate.io bukti cadangan dan langkah penting dalam melindungi aset pengguna. Perlindungan keamanan dan privasi yang unggul ini meningkatkan kepercayaan pengguna dan menetapkan standar baru untuk industri mata uang kripto. Sebagai pemimpin industri, Gate.io kini telah membuat kodenya menjadi sumber terbuka , dengan harapan dapat mendorong perkembangan industri yang lebih transparan dan aman. Di masa depan, Gate.io akan melanjutkan semangat inovasinya, mengeksplorasi dan memelopori masa depan kriptografi yang lebih aman dan komprehensif dengan perlindungan privasi bersama para penggunanya.

Referensi

Penulis: Wayne
Penerjemah: Piper
Pengulas: Edward、KOWEI、Elisa、Ashley He、Joyce
* Informasi ini tidak bermaksud untuk menjadi dan bukan merupakan nasihat keuangan atau rekomendasi lain apa pun yang ditawarkan atau didukung oleh Gate.io.
* Artikel ini tidak boleh di reproduksi, di kirim, atau disalin tanpa referensi Gate.io. Pelanggaran adalah pelanggaran Undang-Undang Hak Cipta dan dapat dikenakan tindakan hukum.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!
Buat Akun