Sistem bukti nol pengetahuan berasal dari makalah yang diterbitkan oleh Goldwasser, Micali, dan Rackoff pada tahun 1985 yang berjudul "Kompleksitas Pengetahuan dari Sistem Bukti Interaktif". Makalah ini membahas jumlah pengetahuan yang diperlukan untuk membuktikan kebenaran suatu pernyataan melalui interaksi berulang dalam sistem interaktif. Jika bukti dapat diselesaikan tanpa mengungkapkan informasi tambahan, maka itu disebut sebagai nol pengetahuan.
Sistem zk-SNARKs awal tidak efisien dan tidak praktis, terutama berada di tingkat teori. Hingga 10 tahun terakhir, dengan penerapan luas kriptografi di bidang cryptocurrency, zk-SNARKs secara bertahap menjadi arah penelitian yang penting. Di antaranya, mengembangkan protokol zk-SNARKs yang umum, non-interaktif, dan dengan ukuran bukti terbatas adalah tujuan kunci.
Kemajuan revolusioner dari zk-SNARKs adalah makalah yang diterbitkan oleh Groth pada tahun 2010, yang meletakkan dasar teori untuk zk-SNARK. Pada tahun 2015, Zcash menerapkan zk-SNARKs untuk melindungi privasi transaksi, membuka aplikasi luas zk-SNARKs dalam skenario nyata.
Setelah itu, beberapa hasil akademis penting termasuk:
Protokol Pinocchio tahun 2013, secara signifikan meningkatkan efisiensi pembuktian dan verifikasi.
Groth16 tahun 2016, lebih lanjut menyederhanakan skala bukti dan meningkatkan efisiensi verifikasi
Bulletproofs 2017, mengusulkan algoritma bukti pendek tanpa pengaturan yang dapat dipercaya.
zk-STARKs pada tahun 2018, mengusulkan protokol zero-knowledge proof yang tahan kuantum.
Pengembangan baru lainnya seperti PLONK, Halo2, dan sebagainya juga telah meningkatkan zk-SNARK di berbagai aspek.
Aplikasi Utama zk-SNARKs
zk-SNARKs saat ini memiliki dua aplikasi paling luas, yaitu perlindungan privasi dan skalabilitas.
Aplikasi transaksi privasi awal seperti Zcash dan Monero pernah menjadi sorotan, tetapi kebutuhan privasi tidak sepopuler yang diharapkan, sehingga proyek-proyek ini perlahan-lahan mundur ke belakang. Sebaliknya, kebutuhan untuk skalabilitas semakin mendesak. Terutama setelah Ethereum 2.0 beralih ke jalur yang berpusat pada rollup, solusi skalabilitas berbasis zk-SNARKs kembali menjadi perhatian utama di industri.
transaksi privasi
Proyek perwakilan perdagangan privasi termasuk:
Zcash: Menggunakan zk-SNARKs untuk mewujudkan privasi transaksi
Monero: menggunakan algoritma Bulletproofs
Tornado Cash: kolam pencampuran berbasis Ethereum, menggunakan zk-SNARKs
Proses transaksi privasi Zcash mencakup langkah-langkah seperti pengaturan sistem, pembuatan kunci, pencetakan koin, pembuatan bukti transaksi, verifikasi, dan penerimaan. Namun Zcash juga memiliki beberapa keterbatasan, seperti berbasis model UTXO, sulit untuk digabungkan dengan aplikasi lain, dan tingkat penggunaan transaksi privasi yang sebenarnya tidak tinggi.
Tornado Cash menggunakan metode kolam pencampuran tunggal, yang memiliki fleksibilitas yang lebih baik. Ini didasarkan pada implementasi zk-SNARKs Groth16, yang dapat memastikan bahwa hanya koin yang disetor yang dapat ditarik, dan setiap koin hanya dapat ditarik sekali.
perluasan
Penerapan zero-knowledge proof dalam skalabilitas terutama adalah zk-rollup. Peran inti dari zk-rollup adalah Sequencer dan Aggregator. Sequencer bertanggung jawab untuk mengemas transaksi, Aggregator menggabungkan sejumlah besar transaksi dan menghasilkan zk-SNARKs, yang digunakan untuk memperbarui pohon status Ethereum.
Keuntungan zk-rollup adalah biaya rendah, kecepatan transaksi cepat, dan dapat melindungi privasi. Kekurangannya adalah perhitungan untuk menghasilkan bukti sangat besar, dan SNARK memerlukan pengaturan yang dapat dipercaya.
Saat ini, proyek zk-rollup utama termasuk:
StarkNet: menggunakan zk-STARKs, tidak mendukung EVM
zkSync: Menggunakan PLONK, mendukung EVM
Aztec: Mengembangkan protokol PLONK, mengutamakan privasi
Scroll: Berkomitmen untuk mewujudkan zk-rollup yang kompatibel dengan EVM
Kompatibilitas EVM adalah tantangan besar yang dihadapi oleh zk-rollup. Saat ini, ada dua solusi utama: sepenuhnya kompatibel dengan opcode Solidity, atau merancang mesin virtual yang ramah ZK dan kompatibel dengan Solidity. Peningkatan kompatibilitas EVM akan sangat mempengaruhi perkembangan ekosistem ZK.
Prinsip Dasar zk-SNARKs
zk-SNARK berarti "Zero-Knowledge Succinct Non-Interactive Argument of Knowledge". Ini memiliki karakteristik berikut:
zk-SNARKs: tidak mengungkapkan informasi tambahan
Ringkas: biaya verifikasi rendah
Non-interaktif: Tidak perlu interaksi berulang
Bukti: dapat diandalkan secara komputasi
Pengetahuan: Pembuktian harus mengetahui informasi yang valid
Prinsip implementasi zk-SNARK Groth16 mencakup langkah-langkah berikut:
Mengubah masalah menjadi rangkaian
Mengubah rangkaian menjadi bentuk R1CS
Mengubah R1CS menjadi bentuk QAP
Menghasilkan parameter pengaturan yang dapat dipercaya
Menghasilkan dan Memverifikasi zk-SNARKs
Teknologi zk-SNARKs sedang berkembang pesat, dan di masa depan diharapkan dapat memainkan peran penting di lebih banyak bidang.
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.
Evolusi teknologi zk-SNARKs: dari terobosan teoretis hingga aplikasi skala.
zk-SNARKs:evolusi dari teori ke aplikasi
Perkembangan zk-SNARKs
Sistem bukti nol pengetahuan berasal dari makalah yang diterbitkan oleh Goldwasser, Micali, dan Rackoff pada tahun 1985 yang berjudul "Kompleksitas Pengetahuan dari Sistem Bukti Interaktif". Makalah ini membahas jumlah pengetahuan yang diperlukan untuk membuktikan kebenaran suatu pernyataan melalui interaksi berulang dalam sistem interaktif. Jika bukti dapat diselesaikan tanpa mengungkapkan informasi tambahan, maka itu disebut sebagai nol pengetahuan.
Sistem zk-SNARKs awal tidak efisien dan tidak praktis, terutama berada di tingkat teori. Hingga 10 tahun terakhir, dengan penerapan luas kriptografi di bidang cryptocurrency, zk-SNARKs secara bertahap menjadi arah penelitian yang penting. Di antaranya, mengembangkan protokol zk-SNARKs yang umum, non-interaktif, dan dengan ukuran bukti terbatas adalah tujuan kunci.
Kemajuan revolusioner dari zk-SNARKs adalah makalah yang diterbitkan oleh Groth pada tahun 2010, yang meletakkan dasar teori untuk zk-SNARK. Pada tahun 2015, Zcash menerapkan zk-SNARKs untuk melindungi privasi transaksi, membuka aplikasi luas zk-SNARKs dalam skenario nyata.
Setelah itu, beberapa hasil akademis penting termasuk:
Pengembangan baru lainnya seperti PLONK, Halo2, dan sebagainya juga telah meningkatkan zk-SNARK di berbagai aspek.
Aplikasi Utama zk-SNARKs
zk-SNARKs saat ini memiliki dua aplikasi paling luas, yaitu perlindungan privasi dan skalabilitas.
Aplikasi transaksi privasi awal seperti Zcash dan Monero pernah menjadi sorotan, tetapi kebutuhan privasi tidak sepopuler yang diharapkan, sehingga proyek-proyek ini perlahan-lahan mundur ke belakang. Sebaliknya, kebutuhan untuk skalabilitas semakin mendesak. Terutama setelah Ethereum 2.0 beralih ke jalur yang berpusat pada rollup, solusi skalabilitas berbasis zk-SNARKs kembali menjadi perhatian utama di industri.
transaksi privasi
Proyek perwakilan perdagangan privasi termasuk:
Proses transaksi privasi Zcash mencakup langkah-langkah seperti pengaturan sistem, pembuatan kunci, pencetakan koin, pembuatan bukti transaksi, verifikasi, dan penerimaan. Namun Zcash juga memiliki beberapa keterbatasan, seperti berbasis model UTXO, sulit untuk digabungkan dengan aplikasi lain, dan tingkat penggunaan transaksi privasi yang sebenarnya tidak tinggi.
Tornado Cash menggunakan metode kolam pencampuran tunggal, yang memiliki fleksibilitas yang lebih baik. Ini didasarkan pada implementasi zk-SNARKs Groth16, yang dapat memastikan bahwa hanya koin yang disetor yang dapat ditarik, dan setiap koin hanya dapat ditarik sekali.
perluasan
Penerapan zero-knowledge proof dalam skalabilitas terutama adalah zk-rollup. Peran inti dari zk-rollup adalah Sequencer dan Aggregator. Sequencer bertanggung jawab untuk mengemas transaksi, Aggregator menggabungkan sejumlah besar transaksi dan menghasilkan zk-SNARKs, yang digunakan untuk memperbarui pohon status Ethereum.
Keuntungan zk-rollup adalah biaya rendah, kecepatan transaksi cepat, dan dapat melindungi privasi. Kekurangannya adalah perhitungan untuk menghasilkan bukti sangat besar, dan SNARK memerlukan pengaturan yang dapat dipercaya.
Saat ini, proyek zk-rollup utama termasuk:
Kompatibilitas EVM adalah tantangan besar yang dihadapi oleh zk-rollup. Saat ini, ada dua solusi utama: sepenuhnya kompatibel dengan opcode Solidity, atau merancang mesin virtual yang ramah ZK dan kompatibel dengan Solidity. Peningkatan kompatibilitas EVM akan sangat mempengaruhi perkembangan ekosistem ZK.
Prinsip Dasar zk-SNARKs
zk-SNARK berarti "Zero-Knowledge Succinct Non-Interactive Argument of Knowledge". Ini memiliki karakteristik berikut:
Prinsip implementasi zk-SNARK Groth16 mencakup langkah-langkah berikut:
Teknologi zk-SNARKs sedang berkembang pesat, dan di masa depan diharapkan dapat memainkan peran penting di lebih banyak bidang.