Zerocash: Pembayaran Anonim Terdesentralisasi dari Bitcoin dengan zk-SNARK

Penulis Ben-Sasson, Eli; Chiesa, Alessandro; Garman, Christina; Green, Matthew; Miers, Ian; Tromer, Eran; Virza, Madars
Tahun 2014
Proyek Zcash
Lisensi CC-BY
Sumber Resmi eprint.iacr.org/2014/349.pdf
Disclaimer: Halaman ini merupakan ringkasan dan analisis edukatif dari whitepaper atau makalah teknis resmi. Konten ini disajikan untuk tujuan pendidikan semata dan bukan merupakan saran investasi atau keuangan. Selalu baca dokumen asli dan lakukan riset mandiri sebelum mengambil keputusan keuangan apa pun.

Paper Zerocash — diterbitkan 18 Mei 2014 di IEEE Symposium on Security and Privacy oleh Eli Ben-Sasson, Alessandro Chiesa, Christina Garman, Matthew Green, Ian Miers, Eran Tromer, dan Madars Virza — memperkenalkan penerapan praktis pertama zk-SNARK pada transaksi cryptocurrency. Ini memungkinkan pengguna membuktikan bahwa mereka memiliki otoritas untuk menghabiskan koin dan bahwa transaksi valid, tanpa mengungkapkan pengirim, penerima, atau jumlah — menetapkan fondasi kriptografis untuk Zcash (diluncurkan 28 Oktober 2016) dan memulai bidang sistem zero-knowledge proof terapan yang kemudian merasuki skalabilitas dan privasi blockchain di seluruh industri.

Publikasi dan Konteks

Transaksi Bitcoin, meskipun pseudonim, bersifat transparan. Firma analitik chain dapat melacak grafik pembayaran Bitcoin dengan akurasi tinggi. Upaya sebelumnya untuk privasi Bitcoin (CoinJoin mixing, Zerocoin) memerlukan koordinasi, bergantung pada kepercayaan, atau memberikan jaminan privasi yang tidak lengkap.

Zerocash memperkenalkan pendekatan baru: bukti kriptografis yang secara matematis menjamin privasi tanpa koordinasi, layanan mixing, atau pihak tepercaya mana pun. Terobosan teknis utamanya: membuat zk-SNARK — kelas zero-knowledge proof — cukup efisien untuk membuktikan validitas transaksi cryptocurrency di hardware komoditas.

zk-SNARK Diterapkan pada Pembayaran

zk-SNARK (Succinct Non-interactive Arguments of Knowledge) dalam Zerocash membuktikan pernyataan:

“Saya mengetahui kunci pengeluaran yang valid untuk commitment koin yang belum pernah dihabiskan sebelumnya, dan saya mengkreditkan jumlah output yang benar kepada penerima.”

Proof berukuran kecil (~288 byte saat peluncuran) dan cepat diverifikasi (~10ms), menjadikannya praktis untuk penggunaan blockchain.

Notes: Unit Kepemilikan Privat

Zerocash memperkenalkan notes — nilai terenkripsi yang merepresentasikan kepemilikan koin. Sebuah note berisi:

  • Nilai koin
  • Keacakan (untuk keunikan commitment)
  • Alamat pembayaran pemilik

Semua notes berkomit sebagai daun dalam Merkle tree (note commitment tree). Menghabiskan note memerlukan pembuktian bahwa Anda mengetahui preimage dari commitment di tree ini — tanpa mengungkapkan commitment mana yang Anda habiskan.

Nullifier: Mencegah Double-Spending

Menghabiskan note mengungkapkan nullifier (diturunkan dari secret key note), yang dicatat secara publik. Jika note yang sama dihabiskan lagi, nullifier yang sama muncul dan transaksi ditolak — mencegah double-spending tanpa mengungkapkan link antara spending dan original note.

Privasi Pengirim, Penerima, dan Jumlah

Zerocash menyembunyikan ketiga elemen secara bersamaan:

  • Pengirim: Proof ZK tidak mengungkapkan commitment input mana yang dihabiskan
  • Penerima: Output notes dienkripsi dengan kunci publik penerima; hanya penerima yang dapat mendekripsinya
  • Jumlah: Nilai tersembunyi dalam komitmen kriptografis; proof ZK memverifikasi keseimbangan input = output tanpa mengungkapkan jumlah

Warisan: Zcash dan Revolusi ZK

Zerocash menjadi fondasi langsung Zcash (2016) — mata uang privasi pertama berbasis zk-SNARK. Yang lebih penting, paper ini memulai revolusi ZK proof terapan: teknik yang dikembangkan untuk Zerocash kemudian diterapkan pada skalabilitas Ethereum (ZK-Rollup), sistem pembuktian on-chain, dan verifikasi komputasi yang dapat dipercaya di seluruh industri blockchain.

Istilah Terkait

Referensi