Zk-SNARK

Apa zk-SNARK?

Zk-SNARK adalah singkatan dari “Zero-Knowledge Succinct Non-Interactive Argument of Knowledge”. Zk-SNARK adalah bukti kriptografi yang memungkinkan satu pihak untuk membuktikan bahwa ia memiliki informasi tertentu tanpa mengungkapkan informasi tersebut. Pembuktian ini dimungkinkan dengan menggunakan kunci rahasia yang dibuat sebelum transaksi terjadi. Ini digunakan sebagai bagian dari protokol untuk cryptocurrency, Zcash .

Poin Penting

  • Zk-SNARK adalah protokol tanpa bukti pengetahuan yang digunakan dalam enkripsi, dan merupakan singkatan dari “Zero-Knowledge Succinct Non-Interactive Argument of Knowledge”.
  • Bukti ini pertama kali dikembangkan dan diperkenalkan pada akhir 1980-an, dan sekarang digunakan oleh cryptocurrency Zcash untuk memecahkan masalah anonimitas yang dirasakan dengan blockchain tipe Bitcoin.
  • Bukti Zk-SNARK mengandalkan penyiapan “sistem kepercayaan” awal yang telah dikritik sebagai cacat keamanan yang melekat.

Memahami zk-SNARK

Bagi banyak anggota asli komunitas cryptocurrency — terutama komunitas Bitcoin — privasi adalah tujuan dan fitur yang diasumsikan dari cryptocurrency. Namun, privasi selalu menjadi perhatian urutan kedua, mengingat kebutuhan cryptocurrency untuk menciptakan sistem “tanpa kepercayaan” untuk menjamin integritas mata uang elektronik dan transaksi digital.


Pada awal 2010-an, pengguna relatif mudah untuk mengidentifikasi kembali orang-orang yang telah memberikan data nama samaran ke berbagai sumber.

Karena kurangnya privasi dari beberapa cryptocurrency asli seperti Bitcoin, pengembang mulai mengerjakan koin yang berfokus pada privasi. Yang paling menonjol adalah Zcash, didukung oleh teknologi yang dikenal sebagai zk-SNARKs.

Bukti Tanpa Pengetahuan

Sebuah zk-SNARK ( “zero-pengetahuan singkat argumen non-interaktif pengetahuan”) menggunakan konsep yang dikenal sebagai “bukti nol-pengetahuan.” Ide di balik pembuktian ini pertama kali dikembangkan pada 1980-an. Sederhananya, bukti tanpa pengetahuan adalah situasi di mana masing-masing dari dua pihak dalam transaksi dapat memverifikasi satu sama lain bahwa mereka memiliki sekumpulan informasi tertentu, sementara pada saat yang sama tidak mengungkapkan informasi apa itu.

Untuk sebagian besar jenis bukti lainnya, setidaknya salah satu dari kedua pihak harus memiliki akses ke semua informasi. Bukti tradisional dapat dibandingkan dengan kata sandi yang digunakan untuk mengakses jaringan online. Pengguna mengirimkan kata sandi, dan jaringan itu sendiri memeriksa isi kata sandi untuk memverifikasi bahwa itu benar. Untuk melakukan ini, jaringan juga harus memiliki akses ke konten kata sandi.


Versi bukti tanpa pengetahuan tentang situasi ini akan melibatkan pengguna yang menunjukkan ke jaringan (melalui bukti matematis) bahwa mereka memiliki sandi yang benar tanpa benar-benar mengungkapkan sandi itu sendiri. Keuntungan privasi dan keamanan dalam situasi ini jelas: Jika jaringan tidak memiliki kata sandi yang disimpan di suatu tempat untuk tujuan verifikasi, kata sandi tidak dapat dicuri.

Dasar matematika zk-SNARKS itu kompleks. Meskipun demikian, bukti jenis ini memungkinkan satu pihak untuk menunjukkan tidak hanya bahwa ada sedikit informasi tertentu, tetapi juga bahwa pihak tersebut memiliki kesadaran akan informasi tersebut. Dalam kasus Zcash, zk-SNARKs dapat diverifikasi hampir seketika, dan protokol tidak memerlukan interaksi apa pun antara prover dan verifier.

Kritik terhadap zk-SNARKs

Tentu saja ada kekhawatiran terkait dengan zk-SNARKs. Misalnya, jika seseorang dapat mengakses kunci pribadi yang digunakan untuk membuat parameter protokol pembuktian, mereka dapat membuat pembuktian palsu yang tetap terlihat valid untuk penguji. Ini akan memungkinkan orang tersebut membuat token baru Zcash melalui proses pemalsuan. Untuk mencegah hal ini terjadi, Zcash dirancang sedemikian rupa untuk membuat protokol pembuktian menjadi rumit dan tersebar di banyak pihak.

Sementara pembangunan proses pembuktian Zcash diselesaikan sedemikian rupa untuk meminimalkan kemungkinan pemalsuan token melalui pembuktian palsu, setidaknya ada satu masalah lain yang terkait dengan cryptocurrency juga. Zcash dibuat dengan 20% “pajak” yang dikenakan pada semua blok yang dibuat selama beberapa tahun pertama token. Pajak ini dikenal sebagai “pajak pendiri”, dan digunakan untuk memberi kompensasi kepada pengembang cryptocurrency.

Kritikus menyarankan bahwa para pendiri berpotensi menggunakan aspek sistem ini untuk membuat token Zcash dalam jumlah tak terbatas tanpa ada orang lain yang menyadari keberadaan token tersebut. Oleh karena itu, tidak sepenuhnya mungkin untuk mengetahui jumlah pasti token Zcash yang ada saat ini.

Sejak 2019, beberapa pengembang telah bekerja untuk meningkatkan zk-SNARKs dengan menghapus pengaturan tepercaya. Sebuah tim bernama Suterusu telah mengembangkan sistem yang disebut zK-ConSNARK yang mengklaim dapat dioperasikan tanpa pengaturan tepercaya, dapat memberikan perlindungan privasi untuk blockchain arus utama seperti Bitcoin, dan memiliki inflasi terendah untuk mata uang kripto yang masih ada.