Sistem zk-SNARKs pertama kali berasal dari hasil penelitian Goldwasser, Micali, dan Rackoff pada tahun 1985. Mereka mengeksplorasi jumlah pengetahuan yang perlu dipertukarkan untuk membuktikan kebenaran sebuah pernyataan melalui interaksi berulang dalam sistem interaktif. Jika pembuktian dapat dilakukan tanpa pertukaran pengetahuan apa pun, itu disebut sebagai zk-SNARKs.
Sistem zk-SNARKs awal memiliki kekurangan dalam efisiensi dan kepraktisan, sebagian besar masih berada di tingkat teoretis. Dalam 10 tahun terakhir, dengan munculnya kriptografi di bidang cryptocurrency, zk-SNARKs mulai berkembang pesat dan menjadi arah penelitian yang penting. Di antara itu, mengembangkan protokol zk-SNARKs yang umum, non-interaktif, dan dengan skala bukti yang terbatas adalah salah satu arah eksplorasi kunci.
Salah satu terobosan penting dalam zero-knowledge proof adalah pendekatan non-interaktif dari pasangan pendek yang diajukan oleh Groth pada tahun 2010. Ini menjadi dasar teori untuk zk-SNARKs. Pada tahun 2015, Zcash mengadopsi sistem zero-knowledge proof untuk melindungi privasi transaksi, menandai dimulainya penerapan luas dari zero-knowledge proof.
Hasil akademis penting lainnya termasuk:
Pinocchio tahun 2013: Mengompresi waktu pembuktian dan verifikasi ke dalam rentang yang dapat digunakan
Groth16 tahun 2016: memperkecil ukuran bukti, meningkatkan efisiensi verifikasi
Bulletproofs 2017: mengusulkan bukti pendek tanpa pengaturan yang dapat dipercaya
zk-STARKs 2018: mengusulkan protokol baru yang tidak memerlukan pengaturan yang dapat dipercaya
Selain itu, PLONK, Halo2, dan lainnya juga merupakan kemajuan penting yang telah memperbaiki zk-SNARK.
Aplikasi zk-SNARKs
Dua aplikasi paling luas dari zk-SNARKs adalah perlindungan privasi dan penskalaan.
Perlindungan privasi
Proyek perdagangan privasi awal seperti Zcash dan Monero setelah diluncurkan, sempat menjadi arah penting. Namun, karena kebutuhan perdagangan privasi tidak memenuhi harapan, proyek-proyek semacam ini secara bertahap masuk ke jajaran dua dan tiga.
Zcash menggunakan teknologi zk-SNARKs, langkah-langkah transaksinya meliputi: pengaturan sistem, menghasilkan kunci publik dan privat, mencetak koin, menghasilkan bukti, memverifikasi, dan menerima. Namun, Zcash didasarkan pada model UTXO, hanya menyembunyikan sebagian informasi transaksi, bukan sepenuhnya tersembunyi. Tingkat penggunaan transaksi privasinya kurang dari 10%.
Tornado Cash menggunakan desain kolam campuran besar tunggal, berbasis jaringan Ethereum, menggunakan teknologi zk-SNARKs. Ini dapat menjamin bahwa hanya koin yang disetor yang dapat ditarik, setiap koin hanya dapat ditarik sekali, proses pembuktian terikat dengan pemberitahuan pembatalan.
peningkatan kapasitas
Skalabilitas ZK dapat dicapai di jaringan lapisan satu ( seperti Mina ) atau jaringan lapisan dua ( yaitu zk-rollup ). zk-rollup mencakup dua jenis peran yaitu Sequencer dan Aggregator. Sequencer bertanggung jawab untuk mengemas transaksi, Aggregator menggabungkan banyak transaksi dan menghasilkan zk-SNARKs, memperbarui pohon status Ethereum.
Keuntungan zk-rollup adalah biaya yang rendah dan cepat mencapai finalitas, sementara kerugiannya adalah beban komputasi yang besar dan kemungkinan adanya masalah keamanan.
Proyek zk-rollup utama saat ini termasuk: StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll, dll. Mereka memiliki perbedaan dalam pemilihan SNARK/STARK dan kompatibilitas EVM.
Kecocokan EVM selalu menjadi masalah. Beberapa proyek memilih untuk mengembangkan mesin virtual dan bahasa mereka sendiri, tetapi ini meningkatkan biaya belajar bagi pengembang. Saat ini, ada dua solusi utama di industri: sepenuhnya kompatibel dengan opcode Solidity, atau merancang mesin virtual yang ramah ZK dan kompatibel dengan Solidity. Baru-baru ini, kecocokan EVM telah mencapai kemajuan penting, dan diharapkan dapat mewujudkan migrasi yang mulus bagi pengembang.
Prinsip Implementasi ZK-SNARKs
ZK-SNARK(Argument Pengetahuan Non-Interaktif Ringkas Zero-Knowledge) adalah sistem zk-SNARKs dengan karakteristik berikut:
zk-SNARKs: proses pembuktian tidak mengungkapkan informasi tambahan
Ringkas: ukuran verifikasi kecil
Non-interaktif: tidak perlu interaksi berulang
Keandalan: pembuktian dengan kemampuan komputasi terbatas tidak dapat memalsukan bukti
Pengetahuan: Pembuktian harus mengetahui informasi yang valid untuk membangun bukti
Proses pembuktian ZK-SNARK Groth16 mencakup:
Mengubah masalah menjadi rangkaian
Mengubah sirkuit menjadi bentuk R1CS
Konversi R1CS ke bentuk QAP
Membangun pengaturan yang dapat dipercaya, menghasilkan kunci pembuktian dan kunci verifikasi
Menghasilkan dan Memverifikasi Bukti ZK-SNARK
Teknologi zk-SNARKs masih berkembang dengan cepat, dan di masa depan diharapkan dapat berperan lebih besar dalam perlindungan privasi, skalabilitas, dan aspek lainnya.
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Analisis Lengkap Perkembangan dan Aplikasi Teknologi zk-SNARKs: Dari Perlindungan Privasi hingga Perluasan Layer2
Perkembangan dan Aplikasi zk-SNARKs
Sejarah zk-SNARKs
Sistem zk-SNARKs pertama kali berasal dari hasil penelitian Goldwasser, Micali, dan Rackoff pada tahun 1985. Mereka mengeksplorasi jumlah pengetahuan yang perlu dipertukarkan untuk membuktikan kebenaran sebuah pernyataan melalui interaksi berulang dalam sistem interaktif. Jika pembuktian dapat dilakukan tanpa pertukaran pengetahuan apa pun, itu disebut sebagai zk-SNARKs.
Sistem zk-SNARKs awal memiliki kekurangan dalam efisiensi dan kepraktisan, sebagian besar masih berada di tingkat teoretis. Dalam 10 tahun terakhir, dengan munculnya kriptografi di bidang cryptocurrency, zk-SNARKs mulai berkembang pesat dan menjadi arah penelitian yang penting. Di antara itu, mengembangkan protokol zk-SNARKs yang umum, non-interaktif, dan dengan skala bukti yang terbatas adalah salah satu arah eksplorasi kunci.
Salah satu terobosan penting dalam zero-knowledge proof adalah pendekatan non-interaktif dari pasangan pendek yang diajukan oleh Groth pada tahun 2010. Ini menjadi dasar teori untuk zk-SNARKs. Pada tahun 2015, Zcash mengadopsi sistem zero-knowledge proof untuk melindungi privasi transaksi, menandai dimulainya penerapan luas dari zero-knowledge proof.
Hasil akademis penting lainnya termasuk:
Selain itu, PLONK, Halo2, dan lainnya juga merupakan kemajuan penting yang telah memperbaiki zk-SNARK.
Aplikasi zk-SNARKs
Dua aplikasi paling luas dari zk-SNARKs adalah perlindungan privasi dan penskalaan.
Perlindungan privasi
Proyek perdagangan privasi awal seperti Zcash dan Monero setelah diluncurkan, sempat menjadi arah penting. Namun, karena kebutuhan perdagangan privasi tidak memenuhi harapan, proyek-proyek semacam ini secara bertahap masuk ke jajaran dua dan tiga.
Zcash menggunakan teknologi zk-SNARKs, langkah-langkah transaksinya meliputi: pengaturan sistem, menghasilkan kunci publik dan privat, mencetak koin, menghasilkan bukti, memverifikasi, dan menerima. Namun, Zcash didasarkan pada model UTXO, hanya menyembunyikan sebagian informasi transaksi, bukan sepenuhnya tersembunyi. Tingkat penggunaan transaksi privasinya kurang dari 10%.
Tornado Cash menggunakan desain kolam campuran besar tunggal, berbasis jaringan Ethereum, menggunakan teknologi zk-SNARKs. Ini dapat menjamin bahwa hanya koin yang disetor yang dapat ditarik, setiap koin hanya dapat ditarik sekali, proses pembuktian terikat dengan pemberitahuan pembatalan.
peningkatan kapasitas
Skalabilitas ZK dapat dicapai di jaringan lapisan satu ( seperti Mina ) atau jaringan lapisan dua ( yaitu zk-rollup ). zk-rollup mencakup dua jenis peran yaitu Sequencer dan Aggregator. Sequencer bertanggung jawab untuk mengemas transaksi, Aggregator menggabungkan banyak transaksi dan menghasilkan zk-SNARKs, memperbarui pohon status Ethereum.
Keuntungan zk-rollup adalah biaya yang rendah dan cepat mencapai finalitas, sementara kerugiannya adalah beban komputasi yang besar dan kemungkinan adanya masalah keamanan.
Proyek zk-rollup utama saat ini termasuk: StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll, dll. Mereka memiliki perbedaan dalam pemilihan SNARK/STARK dan kompatibilitas EVM.
Kecocokan EVM selalu menjadi masalah. Beberapa proyek memilih untuk mengembangkan mesin virtual dan bahasa mereka sendiri, tetapi ini meningkatkan biaya belajar bagi pengembang. Saat ini, ada dua solusi utama di industri: sepenuhnya kompatibel dengan opcode Solidity, atau merancang mesin virtual yang ramah ZK dan kompatibel dengan Solidity. Baru-baru ini, kecocokan EVM telah mencapai kemajuan penting, dan diharapkan dapat mewujudkan migrasi yang mulus bagi pengembang.
Prinsip Implementasi ZK-SNARKs
ZK-SNARK(Argument Pengetahuan Non-Interaktif Ringkas Zero-Knowledge) adalah sistem zk-SNARKs dengan karakteristik berikut:
Proses pembuktian ZK-SNARK Groth16 mencakup:
Teknologi zk-SNARKs masih berkembang dengan cepat, dan di masa depan diharapkan dapat berperan lebih besar dalam perlindungan privasi, skalabilitas, dan aspek lainnya.