Menggunakan protokol bukti pengungkapan nol dari keluarga SNARK, Anda tidak pernah tahu aturan mainnya. Aturan-aturan ini dibuat oleh peserta dalam prosedur untuk menghasilkan parameter sistem tepercaya, tetapi setelah selesai tidak mungkin untuk memverifikasi aturan ini. Anda bisa percaya pada kebenaran generasi, tetapi jika Anda tidak berpartisipasi di dalamnya, Anda tidak memiliki jaminan seratus persen.

Baru-baru ini, berbagai protokol tanpa pengetahuan telah disebutkan dalam komunitas blockchain (untuk mendapatkan ide umum tentang mereka, saya merekomendasikan
artikel ini ): terutama dalam konteks privasi, lebih jarang dalam konteks skalabilitas dan lainnya.
Salah satu yang paling banyak dipelajari, dan yang lebih penting, diimplementasikan adalah keluarga protokol zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge). Protokol semacam itu digunakan, khususnya, dalam cryptocurrency Zcash. Popularitas SNARK dibenarkan: protokol memungkinkan kita untuk membuktikan fakta dengan nol pengungkapan, buktinya relatif kecil, dan semua ini dengan jaminan keamanan bahwa kriptografi modern pada kurva eliptik memberi kita.
Namun, itu bukan tanpa kelemahan, seperti biasa: kelemahan utama dari keluarga protokol zk ini adalah kebutuhan untuk menghasilkan parameter sistem awal (tepercaya) - proses ini juga disebut upacara. Setelah semua, parameter rahasia yang akan dihancurkan digunakan untuk generasi - mereka disebut beracun. Masalah utama adalah bahwa jika parameter beracun dipertahankan, orang yang memilikinya akan dapat membuktikan fakta palsu (dalam kasus Zcash, menghasilkan cryptocurrency dari udara).
Pembuatan Parameter Awal
Selanjutnya, matematika yang mendasari protokol SNARK hanya akan terpengaruh secara dangkal. Jika Anda tertarik untuk mengatasinya, saya sarankan serangkaian artikel dari Vitalik Buterin tentang topik ini.Mari kita lihat proses menghasilkan parameter tepercaya. Jadi, kami memiliki pernyataan masalah, fakta solusi yang ingin kami buktikan dengan nol pengungkapan. Misalnya, kami ingin menguji pengetahuan tentang akar persamaan kuadrat:
x2−6x+5=0
Menurut protokol, kita harus membawa persamaan ini ke bentuk QAP (Program Aritmatika Kuadratik). Selanjutnya, untuk menghasilkan dan memverifikasi bukti, perlu untuk mendapatkan parameter awal. Mari kita tinggalkan tanda kurung bagaimana parameter tepercaya diperoleh dari QAP, apa parameter ini dan bagaimana, dengan bantuan mereka, bukti dapat diperiksa agar tidak mempelajari matematika yang berat. Kami hanya mencatat bahwa parameter disajikan sebagai titik pada kurva elips:

Mereka diperoleh dari pernyataan masalah dalam bentuk QAP menggunakan operasi multiplikasi ireversibel pada kurva elips menggunakan parameter beracun.
Sekarang setelah parameter awal dibuat, kita dapat mulai bekerja dengan bukti. Dalam kasus kami, kami dapat membuat dan memverifikasi bukti bahwa akar persamaan diketahui (misalnya,
x=1 ) Selain itu, buktinya tidak akan mengungkapkan nilai rahasia (akar persamaan) dan akan terdiri dari beberapa titik kurva eliptik.
Namun, berdasarkan matematika yang mendasari protokol, jika parameter beracun dipertahankan oleh seseorang setelah upacara, orang ini akan dapat membuktikan fakta palsu. Kembali ke contoh kita, kita dapat membuktikan bahwa 2 adalah akar dari persamaan, meskipun ini jelas bukan kasusnya.
Upacara
Proyek serius yang menggunakan protokol SNARK sangat menyadari masalah parameter toksik dan menganggap serius kebenaran prosedur untuk menghasilkan parameter awal. Contoh paling terkenal adalah
upacara Zcash .
Upacara pertama diadakan pada Oktober 2016, 6 pengembang terkenal dari komunitas cryptocurrency mengambil bagian di dalamnya. Protokol upacara memberikan jaminan keamanan yang memadai. Yaitu, jika setidaknya satu peserta dalam upacara itu jujur - benar menghancurkan bagiannya dari parameter beracun - dan tidak diretas, maka upacara akan aman.
Upacara
kedua , yang lebih maju untuk menghasilkan parameter tepercaya diadakan pada 2017-2018. Itu terdiri dari dua tahap, di bagian pertama (Powers of Tau) 87 orang mengambil bagian, dan di bagian terakhir (Sapling MPC) lebih dari 90 orang. Seperti dalam kasus upacara asli, dengan kejujuran setidaknya satu peserta, upacara dapat dianggap aman. Ciri penting dari upacara kedua adalah siapa pun bisa menjadi peserta. Dengan demikian, setiap orang memiliki kesempatan untuk mendapatkan 100% jaminan kebenaran protokol.
Sebagai kesimpulan, perlu dicatat bahwa kekritisan upacara dan ancaman yang timbul darinya harus dipertimbangkan secara terpisah untuk setiap sistem tertentu. Dan pada saat yang sama, untuk semua sistem yang menggunakan protokol SNARK, prosedur yang andal untuk menghasilkan parameter awal dengan jaminan untuk penghancuran parameter beracun diperlukan.