Panduan Pemula untuk Bukti Tanpa Pengetahuan: Sejarah Perkembangan, Penerapan, dan Prinsip Dasar

Pemula1/6/2024, 7:13:44 PM
Artikel ini secara sistematis memperkenalkan sejarah perkembangan dan prinsip dasar pembuktian tanpa pengetahuan.

Tingkat pertumbuhan proyek tanpa bukti (ZKP) saat ini di industri blockchain sangat mencengangkan, terutama munculnya aplikasi ZKP di dua tingkat perluasan dan perlindungan privasi, yang telah memaparkan kita pada berbagai proyek tanpa bukti pengetahuan. Karena sifat ZKP yang sangat matematis, jauh lebih sulit bagi penggemar enkripsi untuk memahami ZK secara mendalam. Oleh karena itu, kami juga berharap untuk memilah beberapa perubahan dalam teori dan penerapan ZKP dari awal, dan mengeksplorasi dampak dan nilai pada industri kripto bersama pembaca - belajar bersama melalui beberapa laporan, yang juga berfungsi sebagai ringkasan pemikiran HashKey Tim peneliti modal. Artikel ini adalah seri pertama yang memperkenalkan sejarah perkembangan, aplikasi, dan beberapa prinsip dasar ZKP.

1. Sejarah bukti tanpa pengetahuan

Sistem pembuktian tanpa pengetahuan modern berasal dari makalah yang diterbitkan bersama oleh Goldwasser, Micali dan Rackoff: The Knowledge Complexity of Interactive Proof Systems (GMR85), yang diusulkan pada tahun 1985 dan diterbitkan pada tahun 1989. Makalah ini terutama menjelaskan berapa banyak pengetahuan yang perlu dipertukarkan setelah interaksi putaran K dalam sistem interaktif untuk membuktikan bahwa suatu pernyataan benar. Jika pengetahuan yang dipertukarkan dapat dijadikan nol maka disebut pembuktian pengetahuan nol (zero-knowledge proof). Diasumsikan bahwa pembukti mempunyai sumber daya yang tidak terbatas dan pemverifikasi hanya mempunyai sumber daya yang terbatas. Masalah dengan sistem interaktif adalah bahwa pembuktiannya tidak sepenuhnya dapat dibuktikan secara matematis, namun benar dalam arti probabilistik, meskipun probabilitasnya sangat kecil (1/2^n).

Oleh karena itu, sistem interaktif ini belum sempurna dan hanya memiliki kelengkapan perkiraan. Sistem non-interaktif (NP) yang lahir atas dasar ini memiliki kelengkapan dan menjadi pilihan tepat untuk sistem pembuktian tanpa pengetahuan.

Sistem pembuktian tanpa pengetahuan awal kurang efisien dan berguna, sehingga sistem tersebut selalu berada pada tingkat teoretis. Baru pada sepuluh tahun terakhir mereka mulai berkembang. Ketika kriptografi menjadi menonjol dalam kripto, bukti tanpa pengetahuan menjadi yang terdepan dan menjadi arah yang penting. Secara khusus, mengembangkan protokol umum, non-interaktif, tanpa pengetahuan dengan ukuran bukti terbatas adalah salah satu arah eksplorasi yang paling penting.

Pada dasarnya, pembuktian tanpa pengetahuan adalah trade-off antara kecepatan pembuktian, kecepatan verifikasi, dan ukuran pembuktian. Protokol yang ideal adalah bukti cepat, verifikasi cepat, dan ukuran bukti kecil.

Terobosan paling penting dalam pembuktian tanpa pengetahuan adalah makalah Groth tahun 2010 Argumen Pengetahuan Nol Non-interaktif Berbasis Pasangan Pendek, yang juga merupakan pelopor teoretis dari kelompok zk-SNARK terpenting di ZKP.

Perkembangan terpenting dalam penerapan zero-knowledge proof adalah sistem zero-knowledge proof yang digunakan oleh Z-cash pada tahun 2015, yang melindungi privasi transaksi dan jumlah. Kemudian, ini berkembang menjadi kombinasi zk-SNARK dan kontrak pintar, dan zk-SNARK memasuki skenario aplikasi yang lebih luas.

Beberapa prestasi akademik penting pada periode ini antara lain:

  1. Pinocchio (PGHR13) pada tahun 2013: Pinocchio: Komputasi Verifikasi yang Hampir Praktis, yang memampatkan waktu pembuktian dan verifikasi ke cakupan yang berlaku, juga merupakan protokol dasar yang digunakan oleh Zcash.
  2. Groth16 pada tahun 2016: Tentang Ukuran Argumen Non-interaktif Berbasis Pasangan, yang menyederhanakan ukuran pembuktian dan meningkatkan efisiensi verifikasi, saat ini merupakan algoritma dasar ZK yang paling banyak digunakan.
  3. Antipeluru (BBBPWM17) Antipeluru: Bukti Singkat untuk Transaksi Rahasia dan Lainnya pada tahun 2017 mengusulkan algoritme Antipeluru, sebuah bukti tanpa pengetahuan non-interaktif yang sangat singkat yang tidak memerlukan pengaturan tepercaya. Ini akan diterapkan ke Monero 6 bulan kemudian dan sangat cepat. Kombinasi teori dan aplikasi.
  4. Pada tahun 2018, zk-STARKs (BBHR18) Integritas komputasi yang skalabel, transparan, dan aman pasca-kuantum mengusulkan protokol algoritme ZK-STARK yang tidak memerlukan pengaturan tepercaya. Ini adalah arah lain yang menarik dari pengembangan ZK saat ini, dan juga berdasarkan pada ini, StarkWare, proyek ZK yang paling penting, lahir.

Perkembangan lain termasuk PLONK, Halo2, dll. juga merupakan kemajuan yang sangat penting dan juga telah melakukan beberapa perbaikan pada zk-SNARK.

2. Penjelasan singkat penerapan pembuktian tanpa pengetahuan

Dua penerapan zero-knowledge proof yang paling luas adalah perlindungan privasi dan perluasan kapasitas. Pada awalnya, dengan diluncurkannya transaksi privasi dan beberapa proyek terkenal seperti Zcash dan Monero, transaksi privasi pernah menjadi kategori yang sangat penting. Namun, karena kebutuhan akan transaksi privasi tidak begitu menonjol seperti yang diharapkan oleh industri, proyek perwakilan semacam ini mulai melambat. Perlahan masuk ke kubu lapis kedua dan ketiga (bukan mundur dari pentas sejarah). Pada tingkat aplikasi, kebutuhan akan ekspansi telah meningkat ke titik di mana Ethereum 2.0 (yang telah berganti nama menjadi lapisan konsensus) telah berubah menjadi rute yang berpusat pada rollup pada tahun 2020. Seri ZK resmi kembali menjadi perhatian industri dan menjadi fokus.

Transaksi privasi: Ada banyak proyek yang telah menerapkan transaksi privasi, antara lain Zcash menggunakan SNARK, Tornado, Monero menggunakan antipeluru, dan Dash. Dash tidak menggunakan ZKP dalam arti sebenarnya, tetapi sistem pencampuran mata uang sederhana dan kasar yang hanya dapat menyembunyikan alamat tetapi tidak menyembunyikan jumlahnya. Saya tidak akan menyebutkannya di sini.

Langkah-langkah transaksi zk-SNARKs yang diterapkan Zcash adalah sebagai berikut:

Sumber: Mengungkap Peran zk-SNARKs di Zcash

  1. Fase Pengaturan sistem menghasilkan kunci bukti (polinomial bukti enkripsi) dan kunci verifikasi, menggunakan fungsi KeyGen
  2. Metode enkripsi ECIES fase CPA (Skema Enkripsi Terintegrasi Kurva Elliptic) digunakan untuk menghasilkan kunci publik dan pribadi
  3. Tahap Minting Coins, jumlah koin baru yang dihasilkan. Alamat publik dan komitmen koin
  4. Pada tahap Penuangan, sertifikat zk-SNARK dibuat dan ditambahkan ke buku besar transaksi penuangan.
  5. Pada fase Verifikasi, verifikator memverifikasi apakah volume transaksi Mint dan Pour sudah benar.
  6. Pada tahap Penerimaan, penerima menerima koin. Jika ingin menggunakan koin yang diterima, terus hubungi Pouring untuk membentuk verifikasi zk-SNARK, ulangi langkah 4-6 di atas untuk menyelesaikan transaksi.

Zcash masih memiliki keterbatasan dalam penggunaan zero-knowledge yaitu berbasis UTXO sehingga sebagian informasi transaksinya hanya terlindung, tidak terlalu ditutup-tutupi. Karena merupakan jaringan terpisah berdasarkan desain Bitcoin, maka sulit untuk diperluas (digabungkan dengan aplikasi lain). Tingkat penggunaan sebenarnya dari perlindungan (yaitu transaksi pribadi) kurang dari 10%, yang menunjukkan bahwa transaksi pribadi belum berhasil diperluas. (dari 2202)

Kumpulan pencampuran besar tunggal yang digunakan oleh Tornado lebih fleksibel dan didasarkan pada jaringan yang “telah dicoba dan diuji” seperti Ethereum. Torndao pada dasarnya adalah kumpulan pencampuran mata uang menggunakan zk-SNARK, dan pengaturan kepercayaan didasarkan pada makalah Groth 16. Fitur yang tersedia dengan Tornado Cash meliputi:

  1. Hanya koin yang disimpan yang dapat ditarik.
  2. Tidak ada koin yang dapat ditarik dua kali
  3. Proses pembuktiannya terikat pada pemberitahuan pembatalan mata uang (Nullifier). Hash dari bukti yang sama tetapi Nullifier berbeda tidak akan mengizinkan penarikan koin.
  4. Keamanannya 126-bit dan tidak akan terdegradasi karena komposisi.

Vitalik menyebutkan dibandingkan dengan ekspansi, privasi relatif mudah diterapkan. Jika beberapa protokol ekspansi dapat dibuat, privasi pada dasarnya tidak akan menjadi masalah.

Ekspansi: Perluasan ZK dapat dilakukan pada jaringan lapis pertama seperti Mina, atau pada jaringan lapis kedua yaitu zk-roll up. Ide ZK roll up mungkin berasal dari postingan Vitalik pada tahun 2018, Penskalaan on-chain berpotensi ~500 tx/detik melalui validasi tx massal.

ZK-rollup memiliki dua jenis peran, satu adalah Sequencer, dan yang lainnya adalah Agregator. Sequencer bertanggung jawab untuk mengemas transaksi, dan Agregator bertanggung jawab untuk menggabungkan sejumlah besar transaksi dan membuat rollup, dan membentuk bukti SNARK (ini juga bisa menjadi bukti tanpa pengetahuan berdasarkan algoritma lain). Bukti ini akan dibandingkan dengan keadaan Layer1 sebelumnya, dan kemudian memperbarui pohon Ethereum Merkle, menghitung pohon keadaan baru.

Sumber: Poligon

Keuntungan dan kerugian dari rollup ZK:

  1. Keuntungan: biaya rendah, tidak seperti OP yang akan diserang secara ekonomi, tidak perlu menunda transaksi, privasi dapat terlindungi, dan finalitas dapat dicapai dengan cepat
  2. Kekurangan: Membentuk bukti ZK memerlukan perhitungan dalam jumlah besar, masalah keamanan (SNARK memerlukan pengaturan yang tepercaya), tidak tahan terhadap serangan kuantum (SNARK, STARK bisa), urutan transaksi dapat diubah

Sumber: Penelitian Ethereum

Berdasarkan ketersediaan data dan metode pembuktian, Starkware memiliki diagram klasifikasi klasik untuk L2 (lapisan ketersediaan data Volition dapat dipilih on-chain atau off-chain):

Sumber: Starkware

Proyek rollup ZK paling kompetitif yang saat ini ada di pasaran meliputi: StarkNet dari Starkware, zkSync dari Matterlabs dan koneksi Aztec dari Aztec, Hermez dan Miden dari Polygon, Loopring, Scroll, dll.

Pada dasarnya jalur teknisnya terletak pada pilihan SNARK (dan versi yang ditingkatkan) dan STARK, serta dukungan untuk EVM (termasuk kompatibilitas atau kesetaraan).

  1. Aztec telah mengembangkan protokol SNARK-protokol Plonk yang digeneralisasi. Aztec3 yang berjalan mungkin mendukung EVM, namun privasi lebih diutamakan daripada kompatibilitas EVM.
  2. Starnet menggunakan zk-STARK, zkp yang tidak memerlukan pengaturan tepercaya, namun saat ini tidak mendukung EVM dan memiliki kompiler dan bahasa pengembangannya sendiri.
  3. zkSync juga menggunakan plonk dan mendukung EVM. zkSync 2.0 kompatibel dengan EVM dan memiliki zkEVM sendiri
  4. Scroll, rollup ZK yang kompatibel dengan EVM, tim ini juga merupakan kontributor penting untuk proyek zkEVM Ethereum Foundation

Diskusikan secara singkat masalah kompatibilitas EVM:

Kompatibilitas antara sistem ZK dan EVM selalu memusingkan, dan sebagian besar proyek akan memilih di antara keduanya. Mereka yang menekankan ZK mungkin membangun mesin virtual di sistem mereka sendiri, dan memiliki bahasa dan kompiler ZK sendiri, tetapi ini akan mempersulit pengembang untuk mempelajarinya, dan karena pada dasarnya ini bukan open source, maka akan menjadi kotak hitam . Secara umum, industri saat ini mempunyai dua pilihan. Salah satunya adalah agar sepenuhnya kompatibel dengan opcode Solidity, dan yang lainnya adalah merancang mesin virtual baru yang ramah ZK dan kompatibel dengan Solidity. Industri tidak mengharapkan integrasi secepat itu pada awalnya, namun iterasi teknologi yang cepat dalam satu atau dua tahun terakhir telah membawa kompatibilitas EVM ke tingkat yang baru, dan pengembang dapat mencapai tingkat migrasi mulus tertentu (yaitu, migrasi utama Ethereum). chain to ZK rollup) merupakan perkembangan yang menarik, yang akan mempengaruhi ekologi pengembangan dan lanskap kompetitif ZK. Kami akan membahas masalah ini secara rinci dalam laporan berikutnya.

3. Prinsip dasar penerapan ZK SNARK

Goldwasser, Micali dan Rackoff mengusulkan bahwa bukti tanpa pengetahuan memiliki tiga sifat:

  1. Kelengkapan: Setiap keterangan dengan saksi yang masuk akal dapat diverifikasi oleh verifikator
  2. Tingkat Kesehatan: Setiap klaim yang hanya disertai saksi yang tidak masuk akal tidak boleh diverifikasi oleh verifikator
  3. Tanpa pengetahuan: Proses verifikasinya adalah tanpa pengetahuan

Jadi untuk memahami ZKP, kita mulai dengan zk-SNARK, karena banyak aplikasi blockchain saat ini dimulai dengan SNARK. Pertama, mari kita lihat zk-SNARK.

zk-SNARK artinya: Bukti tanpa pengetahuan (zh-SNARK) adalah argumen Pengetahuan Non-interaktif Ringkas tanpa pengetahuan.

  1. Nol Pengetahuan: Proses pembuktiannya adalah nol pengetahuan dan tidak memaparkan informasi yang berlebihan.
  2. Ringkas: Ukuran verifikasi kecil
  3. Non-interaktif: proses non-interaktif
  4. Argumen: Perhitungannya dapat diandalkan, yaitu pembuktian dengan daya komputasi terbatas tidak dapat memalsukan pembuktian, dan pembuktian dengan daya komputasi tidak terbatas dapat memalsukan pembuktian.
  5. Pengetahuan: Pepatah tidak dapat membuat parameter dan bukti tanpa mengetahui informasi yang valid
  6. Tidak mungkin bagi pembukti untuk membuat sekumpulan parameter dan bukti tanpa mengetahui saksinya (seperti masukan fungsi hash atau jalur untuk menentukan simpul pohon Merkle).

Prinsip pembuktian zk-SNARK Groth16 adalah sebagai berikut:

Sumber: https://learnblockchain.cn/article/3220

Langkah-langkahnya adalah:

  1. Ubahlah permasalahan tersebut menjadi suatu rangkaian
  2. Ratakan rangkaiannya menjadi bentuk R1CS.
  3. Konversikan format R1CS ke QAP (Program Aritmatika Kuadrat).
  4. Buat pengaturan tepercaya dan hasilkan parameter acak, termasuk PK (kunci pembuktian) dan VK (kunci verifikasi)
  5. Pembuatan bukti dan verifikasi zk-SNARK

Pada artikel selanjutnya, kita akan mulai mempelajari prinsip dan penerapan zk-SNARK, mengulas perkembangan ZK-SNARK melalui beberapa kasus, dan mendalami hubungannya dengan zk-STARK.

Penafian:

  1. Artikel ini dicetak ulang dari [HashKey Capital]. Semua hak cipta milik penulis asli [HashKey Capital]. Jika ada keberatan terhadap cetak ulang ini, silakan menghubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini adalah sepenuhnya milik penulis dan bukan merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, dilarang menyalin, mendistribusikan, atau menjiplak artikel terjemahan.

Panduan Pemula untuk Bukti Tanpa Pengetahuan: Sejarah Perkembangan, Penerapan, dan Prinsip Dasar

Pemula1/6/2024, 7:13:44 PM
Artikel ini secara sistematis memperkenalkan sejarah perkembangan dan prinsip dasar pembuktian tanpa pengetahuan.

Tingkat pertumbuhan proyek tanpa bukti (ZKP) saat ini di industri blockchain sangat mencengangkan, terutama munculnya aplikasi ZKP di dua tingkat perluasan dan perlindungan privasi, yang telah memaparkan kita pada berbagai proyek tanpa bukti pengetahuan. Karena sifat ZKP yang sangat matematis, jauh lebih sulit bagi penggemar enkripsi untuk memahami ZK secara mendalam. Oleh karena itu, kami juga berharap untuk memilah beberapa perubahan dalam teori dan penerapan ZKP dari awal, dan mengeksplorasi dampak dan nilai pada industri kripto bersama pembaca - belajar bersama melalui beberapa laporan, yang juga berfungsi sebagai ringkasan pemikiran HashKey Tim peneliti modal. Artikel ini adalah seri pertama yang memperkenalkan sejarah perkembangan, aplikasi, dan beberapa prinsip dasar ZKP.

1. Sejarah bukti tanpa pengetahuan

Sistem pembuktian tanpa pengetahuan modern berasal dari makalah yang diterbitkan bersama oleh Goldwasser, Micali dan Rackoff: The Knowledge Complexity of Interactive Proof Systems (GMR85), yang diusulkan pada tahun 1985 dan diterbitkan pada tahun 1989. Makalah ini terutama menjelaskan berapa banyak pengetahuan yang perlu dipertukarkan setelah interaksi putaran K dalam sistem interaktif untuk membuktikan bahwa suatu pernyataan benar. Jika pengetahuan yang dipertukarkan dapat dijadikan nol maka disebut pembuktian pengetahuan nol (zero-knowledge proof). Diasumsikan bahwa pembukti mempunyai sumber daya yang tidak terbatas dan pemverifikasi hanya mempunyai sumber daya yang terbatas. Masalah dengan sistem interaktif adalah bahwa pembuktiannya tidak sepenuhnya dapat dibuktikan secara matematis, namun benar dalam arti probabilistik, meskipun probabilitasnya sangat kecil (1/2^n).

Oleh karena itu, sistem interaktif ini belum sempurna dan hanya memiliki kelengkapan perkiraan. Sistem non-interaktif (NP) yang lahir atas dasar ini memiliki kelengkapan dan menjadi pilihan tepat untuk sistem pembuktian tanpa pengetahuan.

Sistem pembuktian tanpa pengetahuan awal kurang efisien dan berguna, sehingga sistem tersebut selalu berada pada tingkat teoretis. Baru pada sepuluh tahun terakhir mereka mulai berkembang. Ketika kriptografi menjadi menonjol dalam kripto, bukti tanpa pengetahuan menjadi yang terdepan dan menjadi arah yang penting. Secara khusus, mengembangkan protokol umum, non-interaktif, tanpa pengetahuan dengan ukuran bukti terbatas adalah salah satu arah eksplorasi yang paling penting.

Pada dasarnya, pembuktian tanpa pengetahuan adalah trade-off antara kecepatan pembuktian, kecepatan verifikasi, dan ukuran pembuktian. Protokol yang ideal adalah bukti cepat, verifikasi cepat, dan ukuran bukti kecil.

Terobosan paling penting dalam pembuktian tanpa pengetahuan adalah makalah Groth tahun 2010 Argumen Pengetahuan Nol Non-interaktif Berbasis Pasangan Pendek, yang juga merupakan pelopor teoretis dari kelompok zk-SNARK terpenting di ZKP.

Perkembangan terpenting dalam penerapan zero-knowledge proof adalah sistem zero-knowledge proof yang digunakan oleh Z-cash pada tahun 2015, yang melindungi privasi transaksi dan jumlah. Kemudian, ini berkembang menjadi kombinasi zk-SNARK dan kontrak pintar, dan zk-SNARK memasuki skenario aplikasi yang lebih luas.

Beberapa prestasi akademik penting pada periode ini antara lain:

  1. Pinocchio (PGHR13) pada tahun 2013: Pinocchio: Komputasi Verifikasi yang Hampir Praktis, yang memampatkan waktu pembuktian dan verifikasi ke cakupan yang berlaku, juga merupakan protokol dasar yang digunakan oleh Zcash.
  2. Groth16 pada tahun 2016: Tentang Ukuran Argumen Non-interaktif Berbasis Pasangan, yang menyederhanakan ukuran pembuktian dan meningkatkan efisiensi verifikasi, saat ini merupakan algoritma dasar ZK yang paling banyak digunakan.
  3. Antipeluru (BBBPWM17) Antipeluru: Bukti Singkat untuk Transaksi Rahasia dan Lainnya pada tahun 2017 mengusulkan algoritme Antipeluru, sebuah bukti tanpa pengetahuan non-interaktif yang sangat singkat yang tidak memerlukan pengaturan tepercaya. Ini akan diterapkan ke Monero 6 bulan kemudian dan sangat cepat. Kombinasi teori dan aplikasi.
  4. Pada tahun 2018, zk-STARKs (BBHR18) Integritas komputasi yang skalabel, transparan, dan aman pasca-kuantum mengusulkan protokol algoritme ZK-STARK yang tidak memerlukan pengaturan tepercaya. Ini adalah arah lain yang menarik dari pengembangan ZK saat ini, dan juga berdasarkan pada ini, StarkWare, proyek ZK yang paling penting, lahir.

Perkembangan lain termasuk PLONK, Halo2, dll. juga merupakan kemajuan yang sangat penting dan juga telah melakukan beberapa perbaikan pada zk-SNARK.

2. Penjelasan singkat penerapan pembuktian tanpa pengetahuan

Dua penerapan zero-knowledge proof yang paling luas adalah perlindungan privasi dan perluasan kapasitas. Pada awalnya, dengan diluncurkannya transaksi privasi dan beberapa proyek terkenal seperti Zcash dan Monero, transaksi privasi pernah menjadi kategori yang sangat penting. Namun, karena kebutuhan akan transaksi privasi tidak begitu menonjol seperti yang diharapkan oleh industri, proyek perwakilan semacam ini mulai melambat. Perlahan masuk ke kubu lapis kedua dan ketiga (bukan mundur dari pentas sejarah). Pada tingkat aplikasi, kebutuhan akan ekspansi telah meningkat ke titik di mana Ethereum 2.0 (yang telah berganti nama menjadi lapisan konsensus) telah berubah menjadi rute yang berpusat pada rollup pada tahun 2020. Seri ZK resmi kembali menjadi perhatian industri dan menjadi fokus.

Transaksi privasi: Ada banyak proyek yang telah menerapkan transaksi privasi, antara lain Zcash menggunakan SNARK, Tornado, Monero menggunakan antipeluru, dan Dash. Dash tidak menggunakan ZKP dalam arti sebenarnya, tetapi sistem pencampuran mata uang sederhana dan kasar yang hanya dapat menyembunyikan alamat tetapi tidak menyembunyikan jumlahnya. Saya tidak akan menyebutkannya di sini.

Langkah-langkah transaksi zk-SNARKs yang diterapkan Zcash adalah sebagai berikut:

Sumber: Mengungkap Peran zk-SNARKs di Zcash

  1. Fase Pengaturan sistem menghasilkan kunci bukti (polinomial bukti enkripsi) dan kunci verifikasi, menggunakan fungsi KeyGen
  2. Metode enkripsi ECIES fase CPA (Skema Enkripsi Terintegrasi Kurva Elliptic) digunakan untuk menghasilkan kunci publik dan pribadi
  3. Tahap Minting Coins, jumlah koin baru yang dihasilkan. Alamat publik dan komitmen koin
  4. Pada tahap Penuangan, sertifikat zk-SNARK dibuat dan ditambahkan ke buku besar transaksi penuangan.
  5. Pada fase Verifikasi, verifikator memverifikasi apakah volume transaksi Mint dan Pour sudah benar.
  6. Pada tahap Penerimaan, penerima menerima koin. Jika ingin menggunakan koin yang diterima, terus hubungi Pouring untuk membentuk verifikasi zk-SNARK, ulangi langkah 4-6 di atas untuk menyelesaikan transaksi.

Zcash masih memiliki keterbatasan dalam penggunaan zero-knowledge yaitu berbasis UTXO sehingga sebagian informasi transaksinya hanya terlindung, tidak terlalu ditutup-tutupi. Karena merupakan jaringan terpisah berdasarkan desain Bitcoin, maka sulit untuk diperluas (digabungkan dengan aplikasi lain). Tingkat penggunaan sebenarnya dari perlindungan (yaitu transaksi pribadi) kurang dari 10%, yang menunjukkan bahwa transaksi pribadi belum berhasil diperluas. (dari 2202)

Kumpulan pencampuran besar tunggal yang digunakan oleh Tornado lebih fleksibel dan didasarkan pada jaringan yang “telah dicoba dan diuji” seperti Ethereum. Torndao pada dasarnya adalah kumpulan pencampuran mata uang menggunakan zk-SNARK, dan pengaturan kepercayaan didasarkan pada makalah Groth 16. Fitur yang tersedia dengan Tornado Cash meliputi:

  1. Hanya koin yang disimpan yang dapat ditarik.
  2. Tidak ada koin yang dapat ditarik dua kali
  3. Proses pembuktiannya terikat pada pemberitahuan pembatalan mata uang (Nullifier). Hash dari bukti yang sama tetapi Nullifier berbeda tidak akan mengizinkan penarikan koin.
  4. Keamanannya 126-bit dan tidak akan terdegradasi karena komposisi.

Vitalik menyebutkan dibandingkan dengan ekspansi, privasi relatif mudah diterapkan. Jika beberapa protokol ekspansi dapat dibuat, privasi pada dasarnya tidak akan menjadi masalah.

Ekspansi: Perluasan ZK dapat dilakukan pada jaringan lapis pertama seperti Mina, atau pada jaringan lapis kedua yaitu zk-roll up. Ide ZK roll up mungkin berasal dari postingan Vitalik pada tahun 2018, Penskalaan on-chain berpotensi ~500 tx/detik melalui validasi tx massal.

ZK-rollup memiliki dua jenis peran, satu adalah Sequencer, dan yang lainnya adalah Agregator. Sequencer bertanggung jawab untuk mengemas transaksi, dan Agregator bertanggung jawab untuk menggabungkan sejumlah besar transaksi dan membuat rollup, dan membentuk bukti SNARK (ini juga bisa menjadi bukti tanpa pengetahuan berdasarkan algoritma lain). Bukti ini akan dibandingkan dengan keadaan Layer1 sebelumnya, dan kemudian memperbarui pohon Ethereum Merkle, menghitung pohon keadaan baru.

Sumber: Poligon

Keuntungan dan kerugian dari rollup ZK:

  1. Keuntungan: biaya rendah, tidak seperti OP yang akan diserang secara ekonomi, tidak perlu menunda transaksi, privasi dapat terlindungi, dan finalitas dapat dicapai dengan cepat
  2. Kekurangan: Membentuk bukti ZK memerlukan perhitungan dalam jumlah besar, masalah keamanan (SNARK memerlukan pengaturan yang tepercaya), tidak tahan terhadap serangan kuantum (SNARK, STARK bisa), urutan transaksi dapat diubah

Sumber: Penelitian Ethereum

Berdasarkan ketersediaan data dan metode pembuktian, Starkware memiliki diagram klasifikasi klasik untuk L2 (lapisan ketersediaan data Volition dapat dipilih on-chain atau off-chain):

Sumber: Starkware

Proyek rollup ZK paling kompetitif yang saat ini ada di pasaran meliputi: StarkNet dari Starkware, zkSync dari Matterlabs dan koneksi Aztec dari Aztec, Hermez dan Miden dari Polygon, Loopring, Scroll, dll.

Pada dasarnya jalur teknisnya terletak pada pilihan SNARK (dan versi yang ditingkatkan) dan STARK, serta dukungan untuk EVM (termasuk kompatibilitas atau kesetaraan).

  1. Aztec telah mengembangkan protokol SNARK-protokol Plonk yang digeneralisasi. Aztec3 yang berjalan mungkin mendukung EVM, namun privasi lebih diutamakan daripada kompatibilitas EVM.
  2. Starnet menggunakan zk-STARK, zkp yang tidak memerlukan pengaturan tepercaya, namun saat ini tidak mendukung EVM dan memiliki kompiler dan bahasa pengembangannya sendiri.
  3. zkSync juga menggunakan plonk dan mendukung EVM. zkSync 2.0 kompatibel dengan EVM dan memiliki zkEVM sendiri
  4. Scroll, rollup ZK yang kompatibel dengan EVM, tim ini juga merupakan kontributor penting untuk proyek zkEVM Ethereum Foundation

Diskusikan secara singkat masalah kompatibilitas EVM:

Kompatibilitas antara sistem ZK dan EVM selalu memusingkan, dan sebagian besar proyek akan memilih di antara keduanya. Mereka yang menekankan ZK mungkin membangun mesin virtual di sistem mereka sendiri, dan memiliki bahasa dan kompiler ZK sendiri, tetapi ini akan mempersulit pengembang untuk mempelajarinya, dan karena pada dasarnya ini bukan open source, maka akan menjadi kotak hitam . Secara umum, industri saat ini mempunyai dua pilihan. Salah satunya adalah agar sepenuhnya kompatibel dengan opcode Solidity, dan yang lainnya adalah merancang mesin virtual baru yang ramah ZK dan kompatibel dengan Solidity. Industri tidak mengharapkan integrasi secepat itu pada awalnya, namun iterasi teknologi yang cepat dalam satu atau dua tahun terakhir telah membawa kompatibilitas EVM ke tingkat yang baru, dan pengembang dapat mencapai tingkat migrasi mulus tertentu (yaitu, migrasi utama Ethereum). chain to ZK rollup) merupakan perkembangan yang menarik, yang akan mempengaruhi ekologi pengembangan dan lanskap kompetitif ZK. Kami akan membahas masalah ini secara rinci dalam laporan berikutnya.

3. Prinsip dasar penerapan ZK SNARK

Goldwasser, Micali dan Rackoff mengusulkan bahwa bukti tanpa pengetahuan memiliki tiga sifat:

  1. Kelengkapan: Setiap keterangan dengan saksi yang masuk akal dapat diverifikasi oleh verifikator
  2. Tingkat Kesehatan: Setiap klaim yang hanya disertai saksi yang tidak masuk akal tidak boleh diverifikasi oleh verifikator
  3. Tanpa pengetahuan: Proses verifikasinya adalah tanpa pengetahuan

Jadi untuk memahami ZKP, kita mulai dengan zk-SNARK, karena banyak aplikasi blockchain saat ini dimulai dengan SNARK. Pertama, mari kita lihat zk-SNARK.

zk-SNARK artinya: Bukti tanpa pengetahuan (zh-SNARK) adalah argumen Pengetahuan Non-interaktif Ringkas tanpa pengetahuan.

  1. Nol Pengetahuan: Proses pembuktiannya adalah nol pengetahuan dan tidak memaparkan informasi yang berlebihan.
  2. Ringkas: Ukuran verifikasi kecil
  3. Non-interaktif: proses non-interaktif
  4. Argumen: Perhitungannya dapat diandalkan, yaitu pembuktian dengan daya komputasi terbatas tidak dapat memalsukan pembuktian, dan pembuktian dengan daya komputasi tidak terbatas dapat memalsukan pembuktian.
  5. Pengetahuan: Pepatah tidak dapat membuat parameter dan bukti tanpa mengetahui informasi yang valid
  6. Tidak mungkin bagi pembukti untuk membuat sekumpulan parameter dan bukti tanpa mengetahui saksinya (seperti masukan fungsi hash atau jalur untuk menentukan simpul pohon Merkle).

Prinsip pembuktian zk-SNARK Groth16 adalah sebagai berikut:

Sumber: https://learnblockchain.cn/article/3220

Langkah-langkahnya adalah:

  1. Ubahlah permasalahan tersebut menjadi suatu rangkaian
  2. Ratakan rangkaiannya menjadi bentuk R1CS.
  3. Konversikan format R1CS ke QAP (Program Aritmatika Kuadrat).
  4. Buat pengaturan tepercaya dan hasilkan parameter acak, termasuk PK (kunci pembuktian) dan VK (kunci verifikasi)
  5. Pembuatan bukti dan verifikasi zk-SNARK

Pada artikel selanjutnya, kita akan mulai mempelajari prinsip dan penerapan zk-SNARK, mengulas perkembangan ZK-SNARK melalui beberapa kasus, dan mendalami hubungannya dengan zk-STARK.

Penafian:

  1. Artikel ini dicetak ulang dari [HashKey Capital]. Semua hak cipta milik penulis asli [HashKey Capital]. Jika ada keberatan terhadap cetak ulang ini, silakan menghubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini adalah sepenuhnya milik penulis dan bukan merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, dilarang menyalin, mendistribusikan, atau menjiplak artikel terjemahan.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!