Karena Anda tidak menyediakan daftar gambar, saya tidak dapat menyisipkan gambar di dalam teks. Berikut adalah isi teks asli, tanpa modifikasi apa pun:
Penelitian dan Pengembangan Teknologi Pembuktian Nol Pengetahuan di Bidang Blockchain
Ringkasan
Zero-knowledge proof ( ZKP ) teknologi dianggap sebagai salah satu inovasi terpenting di bidang blockchain, serta menjadi pusat perhatian investasi risiko. Artikel ini memberikan tinjauan sistematis tentang sejarah ZKP selama hampir empat puluh tahun dan kemajuan terbaru.
Pertama-tama diperkenalkan konsep dasar dan latar belakang sejarah ZKP. Analisis fokus pada teknologi ZKP berbasis sirkuit, termasuk desain, aplikasi, dan optimisasi model seperti zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs, dan Ligero. Dalam hal lingkungan komputasi, diperkenalkan ZKVM dan ZKEVM, membahas bagaimana keduanya meningkatkan kemampuan pemrosesan transaksi, melindungi privasi, dan meningkatkan efisiensi verifikasi. Juga diperkenalkan mekanisme kerja dan metode optimisasi ZK Rollup sebagai solusi skalabilitas Layer 2, serta kemajuan terbaru dalam akselerasi perangkat keras, solusi hibrida, dan ZK EVM khusus.
Akhirnya, dibahas konsep-konsep baru seperti ZKCoprocessor, ZKML, ZKThreads, ZK Sharding, dan ZK StateChannels, serta potensi mereka dalam skalabilitas blockchain, interoperabilitas, dan perlindungan privasi.
Dengan menganalisis teknologi dan tren ini, artikel ini memberikan perspektif komprehensif untuk memahami dan menerapkan ZKP, menunjukkan potensi besar dalam meningkatkan efisiensi dan keamanan sistem blockchain, serta memberikan referensi penting untuk keputusan investasi di masa depan.
Daftar Isi
Pendahuluan
I. Dasar Pengetahuan tentang Bukti Tanpa Pengetahuan
Ringkasan
Contoh Zero-Knowledge Proof
II. Zero-Knowledge Proof Non-Interactive
Latar Belakang
Diusulkannya NIZK
Transformasi Fiat-Shamir
Jens Groth dan penelitiannya
Penelitian Lain
Tiga, Pembuktian Pengetahuan Nihil Berbasis Sirkuit
Latar Belakang
Konsep dan Ciri Dasar Model Sirkuit
Desain dan aplikasi sirkuit dalam pembuktian tanpa pengetahuan
Potensi Kekurangan dan Tantangan
Empat, Model Pembuktian Tanpa Pengetahuan
Latar Belakang
Model algoritma umum
Skema berdasarkan PCP linier dan masalah logaritma diskrit
Rencana berdasarkan bukti orang biasa
Zero-knowledge proof berbasis probabilitas yang dapat diverifikasi
Klasifikasi tahap pengaturan berbasis CPC
V. Gambaran Umum dan Perkembangan Mesin Virtual Zero-Knowledge
Latar Belakang
Klasifikasi ZKVM yang Ada
Paradigma Frontend dan Backend
Kelebihan dan Kekurangan Paradigma ZKVM
Enam, Gambaran Umum dan Perkembangan Mesin Virtual Ethereum Zero-Knowledge
Latar Belakang
Cara kerja ZKEVM
Proses implementasi ZKEVM
Ciri-ciri ZKEVM
VII. Ringkasan dan Perkembangan Solusi Jaringan Layer Dua Zero-Knowledge
Latar Belakang
Mekanisme kerja ZK Rollup
Kekurangan dan Optimasi ZK Rollup
Delapan, arah perkembangan masa depan bukti nol-pengetahuan
Mempercepat pengembangan lingkungan komputasi
Usulan dan perkembangan ZKML
Perkembangan teknologi perluasan ZKP
Perkembangan interopabilitas ZKP
Sembilan, Kesimpulan
Referensi
Pendahuluan
Dengan datangnya era Web3, aplikasi blockchain ( DApps ) berkembang pesat, memproses miliaran transaksi setiap hari. Data yang dihasilkan dari transaksi ini sering kali mengandung informasi pribadi yang sensitif. Karena keterbukaan dan transparansi blockchain, data tersebut terbuka untuk semua orang, memicu berbagai masalah keamanan dan privasi.
Saat ini ada beberapa teknologi kriptografi yang dapat mengatasi tantangan ini, termasuk kriptografi homomorfik, tanda tangan cincin, komputasi multi-pihak yang aman, dan bukti nol-pengetahuan. Di antara semuanya, bukti nol-pengetahuan adalah solusi yang lebih komprehensif, yang memungkinkan untuk memverifikasi kebenaran proposisi tertentu tanpa mengungkapkan data perantara. Melalui ZKP, verifier dapat memverifikasi apakah prover memiliki jumlah transaksi yang cukup tanpa mengungkapkan data transaksi pribadi.
Fitur ZKP ini menjadikannya peran inti dalam transaksi blockchain dan aplikasi cryptocurrency, terutama dalam perlindungan privasi dan perluasan jaringan, menjadi fokus penelitian akademis dan jalur utama investasi risiko. Seiring dengan perkembangan proyek seperti ZkSync dan StarkNet, inovasi algoritma terkait ZKP bermunculan, dilaporkan hampir setiap minggu ada algoritma baru yang diperkenalkan. Selain itu, pengembangan perangkat keras terkait ZKP juga berkembang pesat, termasuk chip yang dioptimalkan khusus untuk ZKP.
Kemajuan ini menunjukkan bahwa ZKP tidak hanya merupakan terobosan penting di bidang kriptografi, tetapi juga merupakan pendorong kunci untuk mewujudkan aplikasi teknologi blockchain yang lebih luas. Oleh karena itu, kami memutuskan untuk secara sistematis mengorganisir pengetahuan terkait ZKP untuk lebih baik mendukung keputusan investasi di masa depan. Artikel ini secara komprehensif meninjau makalah akademis inti yang terkait dengan ZKP dan informasi tentang proyek-proyek terkemuka, memberikan dasar yang kuat untuk penulisan.
I. Pengetahuan Dasar tentang Bukti Tanpa Pengetahuan
1. Ringkasan
Pada tahun 1985, Goldwasser, Micali, dan Rackoff pertama kali mengajukan konsep bukti nol pengetahuan (ZKP) dan bukti pengetahuan interaktif (IZK). Mereka mendefinisikan "pengetahuan" sebagai "output yang tidak dapat dihitung", yaitu pengetahuan harus merupakan output dari fungsi kompleks, yang biasanya dipahami sebagai masalah NP. Proses penyelesaian masalah NP itu kompleks, tetapi proses verifikasinya sederhana, sangat cocok untuk digunakan dalam verifikasi ZKP.
Goldwasser dan lainnya memperkenalkan konsep "kompleksitas pengetahuan" untuk mengukur jumlah pengetahuan yang bocor dari pembuktian kepada verifier. Mereka juga mengusulkan sistem pembuktian interaktif (IPS), di mana pembuktian dan verifier membuktikan kebenaran suatu pernyataan melalui interaksi berkali-kali.
Tiga karakteristik dasar ZKP meliputi:
Kelengkapan: Jika argumen itu benar, maka pembuktian yang jujur dapat meyakinkan validator yang jujur tentang kebenaran tersebut.
Keandalan: Jika penyetor tidak mengetahui isi pernyataan, dia hanya dapat menipu verifier dengan probabilitas yang sangat kecil.
Zero-Knowledge: Setelah proses pembuktian selesai, verifier hanya mendapatkan informasi "pembuktian memiliki pengetahuan ini", tanpa mendapatkan konten tambahan lainnya.
2. Contoh Zero-Knowledge Proof
Berikut adalah contoh untuk memverifikasi apakah seorang pembuktian memiliki informasi pribadi tertentu, dibagi menjadi tiga tahap: pengaturan, tantangan, dan respons.
Langkah pertama: Pengaturan
Pembuat bukti menciptakan bukti bahwa dia mengetahui angka rahasia s, tetapi tidak langsung menampilkan s.
Pilih dua bilangan prima besar p dan q, hitung N=pq.
Hitung v=s^2 mod N, kirim v kepada verifikator.
Pilih angka bulat acak r, hitung x=r^2 mod N dan kirimkan kepada verifier.
Langkah kedua: Tantangan
Validator secara acak memilih sebuah posisi a(0 atau 1), dan mengirimkannya kepada prover.
Langkah ketiga: Respon
Berdasarkan nilai a, pihak yang membuktikan memberikan respons:
Jika a=0, penyampai mengirim y=r.
Jika a=1, penyelenggara menghitung y=rs mod N dan mengirimkan.
Validator memverifikasi apakah y^2 mod N sama dengan xa^v mod N berdasarkan y yang diterima. Jika persamaan tersebut benar, validator menerima bukti ini.
Contoh ini membuktikan integritas, keandalan, dan pengetahuan nol dari sistem ZKP.
Dua, Pembuktian Nol Pengetahuan Non-Interaktif
1. Latar Belakang
ZKP tradisional biasanya memerlukan banyak interaksi untuk menyelesaikan otentikasi. Namun, dalam beberapa skenario, seperti transaksi instan atau pemungutan suara, seringkali tidak ada kesempatan untuk melakukan banyak interaksi, terutama dalam aplikasi blockchain, fungsi verifikasi offline menjadi sangat penting.
2. Pengenalan NIZK
Pada tahun 1988, Blum, Feldman, dan Micali pertama kali mengajukan konsep bukti nol pengetahuan non-interaktif (NIZK), yang membuktikan bahwa tanpa perlu interaksi multiround, penjamin dan verifier masih dapat menyelesaikan proses otentikasi. NIZK dapat dibagi menjadi tiga tahap: pengaturan, komputasi, dan verifikasi.
Tahap pengaturan menggunakan fungsi perhitungan, mengubah parameter keamanan menjadi pengetahuan umum, biasanya dikodekan dalam string referensi bersama (CRS). Tahap perhitungan menggunakan fungsi perhitungan, kunci masukan, dan kunci bukti, menghasilkan hasil perhitungan dan bukti. Dalam tahap verifikasi, bukti validitas diverifikasi melalui kunci verifikasi.
3. Transformasi Fiat-Shamir
Transformasi Fiat-Shamir adalah metode untuk mengubah ZKP interaktif menjadi non-interaktif. Metode ini mengurangi jumlah interaksi dengan memperkenalkan fungsi hash dan bergantung pada asumsi keamanan untuk menjamin keaslian bukti dan sifatnya yang sulit untuk dipalsukan. Meskipun protokol ini dianggap aman dalam model oracle acak, tetapi dalam aplikasi praktis mungkin menghadapi tantangan.
4. Jens Groth dan penelitiannya
Penelitian Jens Groth telah mendorong penerapan ZKP dalam kriptografi dan teknologi blockchain. Ia mengusulkan sistem NIZK sempurna pertama yang berlaku untuk semua bahasa NP, merancang sistem NIZK yang ringkas dan efisien, yang secara signifikan mengurangi CRS dan ukuran bukti. Groth juga mengeksplorasi bagaimana menggabungkan enkripsi homomorfik penuh dengan NIZK, mengusulkan solusi untuk mengurangi biaya komunikasi.
5. Penelitian Lain
Dalam skenario aplikasi tertentu, NIZK dari validator tertentu menunjukkan nilai praktis yang unik. Misalnya, skema enkripsi kunci publik yang dikembangkan oleh Cramer dan Shoup secara efektif melawan serangan ciphertext yang selektif. Damgård et al. mengusulkan metode baru untuk meningkatkan transformasi Fiat-Shamir, yang memungkinkan NIZK dilakukan tanpa interaksi langsung. Konsep "reliabilitas yang dapat dipertanggungjawabkan lemah" yang diajukan oleh Ventre dan Visconti meningkatkan kesulitan untuk menipu. Transformasi Unruh adalah alternatif untuk transformasi Fiat-Shamir, yang menyediakan NIZK yang aman secara dapat dibuktikan terhadap lawan kuantum dalam model oracle acak.
Tiga, Pembuktian Nol Pengetahuan Berbasis Sirkuit
1. Latar Belakang
Dalam bidang kriptografi, terutama dalam menangani tugas-tugas komputasi yang memerlukan paralelisasi tinggi dan jenis-jenis tugas tertentu, model mesin Turing tradisional menunjukkan beberapa keterbatasan. Sebaliknya, model sirkuit dengan keunggulan struktur komputasi yang unik, lebih cocok untuk beberapa tugas pemrosesan kriptografi tertentu.
2. Konsep dan karakteristik dasar model sirkuit
Model sirkuit mengubah proses perhitungan menjadi serangkaian gerbang dan koneksi, gerbang ini melakukan operasi logika atau aritmetika tertentu. Model sirkuit dibagi menjadi dua kategori besar:
Sirkuit aritmatika: terutama terdiri dari gerbang penjumlahan dan perkalian, digunakan untuk memproses elemen di bidang terbatas.
Rangkaian logika: terdiri dari gerbang logika dasar seperti gerbang AND, gerbang OR, dan gerbang NOT, digunakan untuk memproses operasi Boolean.
3. Desain dan aplikasi sirkuit dalam bukti nol pengetahuan
Dalam sistem ZKP, proses desain sirkuit melibatkan mengungkapkan masalah yang akan dibuktikan sebagai sebuah sirkuit. Proses desain biasanya mengikuti langkah-langkah berikut:
Representasi masalah: Mengubah masalah yang akan dibuktikan menjadi bentuk rangkaian.
Optimasi sirkuit: mengoptimalkan desain sirkuit melalui teknik seperti penggabungan gerbang dan pelipatan konstanta.
Konversi ke representasi polinomial: Mengubah sirkuit yang telah dioptimalkan menjadi bentuk polinomial.
Menghasilkan string referensi publik (CRS): Menghasilkan CRS yang mencakup kunci bukti dan kunci verifikasi.
Pembangkitan dan Verifikasi Bukti: Penunjuk bukti menghasilkan bukti berdasarkan input pribadi dan CRS, sedangkan verifier memverifikasi kebenaran bukti berdasarkan deskripsi sirkuit publik dan CRS.
4. Potensi Kekurangan dan Tantangan
Tantangan yang dihadapi ZKP berbasis sirkuit adalah:
Kompleksitas dan skala sirkuit: Perhitungan yang kompleks memerlukan sirkuit yang besar, yang menyebabkan biaya komputasi untuk menghasilkan dan memverifikasi bukti meningkat secara signifikan.
Optimasi kesulitan: Merancang dan mengoptimalkan sirkuit yang efisien memerlukan pengetahuan profesional yang mendalam.
Adaptasi tugas perhitungan tertentu: Tugas perhitungan yang berbeda memerlukan desain sirkuit yang berbeda, sulit untuk diterapkan secara umum.
Tingkat kesulitan implementasi algoritma kriptografi: Mengimplementasikan algoritma kriptografi yang kompleks mungkin memerlukan banyak gerbang logika.
Konsumsi sumber daya: Sirkuit skala besar membutuhkan banyak sumber daya perangkat keras, mungkin menghadapi kendala dalam implementasi perangkat keras yang sebenarnya.
Solusi dan arah perbaikan termasuk: teknologi kompresi sirkuit, desain modular, dan akselerasi perangkat keras, dll.
Empat, Model Bukti Tanpa Pengetahuan
1. Latar Belakang
Generalisasi ZKP berbasis sirkuit kurang baik, perlu mengembangkan model dan algoritma baru untuk masalah tertentu. Saat ini terdapat berbagai compiler bahasa tingkat tinggi dan alat kombinasi sirkuit tingkat rendah untuk menghasilkan dan merancang algoritma sirkuit, konversi perhitungan yang relevan dapat dilakukan melalui alat konstruksi sirkuit manual atau compiler otomatis.
2. Model algoritma umum
Model zkSNARK: diusulkan oleh Bitansky et al., sebagai singkatan dari "bukti pengetahuan nol yang ringkas dan non-interaktif."
Model Ben-Sasson: sebuah model zkSNARK baru untuk eksekusi program pada arsitektur RISC von Neumann.
Model Pinocchio: sebuah paket lengkap untuk menghasilkan bukti nol interaktif non-interaktif, termasuk kompiler tingkat tinggi.
Model Bulletproofs: tidak memerlukan pengaturan yang tepercaya, dan ukuran bukti tumbuh secara logaritmik seiring dengan ukuran nilai saksi.
Model Ligero: sebuah model ZKP yang ringan, kompleksitas komunikasi sebanding dengan akar kuadrat dari ukuran sirkuit verifikasi.
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.
zk-SNARKs: Perkembangan dan Prospek Aplikasi Teknologi Inovasi Blockchain
Karena Anda tidak menyediakan daftar gambar, saya tidak dapat menyisipkan gambar di dalam teks. Berikut adalah isi teks asli, tanpa modifikasi apa pun:
Penelitian dan Pengembangan Teknologi Pembuktian Nol Pengetahuan di Bidang Blockchain
Ringkasan
Zero-knowledge proof ( ZKP ) teknologi dianggap sebagai salah satu inovasi terpenting di bidang blockchain, serta menjadi pusat perhatian investasi risiko. Artikel ini memberikan tinjauan sistematis tentang sejarah ZKP selama hampir empat puluh tahun dan kemajuan terbaru.
Pertama-tama diperkenalkan konsep dasar dan latar belakang sejarah ZKP. Analisis fokus pada teknologi ZKP berbasis sirkuit, termasuk desain, aplikasi, dan optimisasi model seperti zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs, dan Ligero. Dalam hal lingkungan komputasi, diperkenalkan ZKVM dan ZKEVM, membahas bagaimana keduanya meningkatkan kemampuan pemrosesan transaksi, melindungi privasi, dan meningkatkan efisiensi verifikasi. Juga diperkenalkan mekanisme kerja dan metode optimisasi ZK Rollup sebagai solusi skalabilitas Layer 2, serta kemajuan terbaru dalam akselerasi perangkat keras, solusi hibrida, dan ZK EVM khusus.
Akhirnya, dibahas konsep-konsep baru seperti ZKCoprocessor, ZKML, ZKThreads, ZK Sharding, dan ZK StateChannels, serta potensi mereka dalam skalabilitas blockchain, interoperabilitas, dan perlindungan privasi.
Dengan menganalisis teknologi dan tren ini, artikel ini memberikan perspektif komprehensif untuk memahami dan menerapkan ZKP, menunjukkan potensi besar dalam meningkatkan efisiensi dan keamanan sistem blockchain, serta memberikan referensi penting untuk keputusan investasi di masa depan.
Daftar Isi
Pendahuluan
I. Dasar Pengetahuan tentang Bukti Tanpa Pengetahuan
II. Zero-Knowledge Proof Non-Interactive
Tiga, Pembuktian Pengetahuan Nihil Berbasis Sirkuit
Empat, Model Pembuktian Tanpa Pengetahuan
V. Gambaran Umum dan Perkembangan Mesin Virtual Zero-Knowledge
Enam, Gambaran Umum dan Perkembangan Mesin Virtual Ethereum Zero-Knowledge
VII. Ringkasan dan Perkembangan Solusi Jaringan Layer Dua Zero-Knowledge
Delapan, arah perkembangan masa depan bukti nol-pengetahuan
Sembilan, Kesimpulan
Referensi
Pendahuluan
Dengan datangnya era Web3, aplikasi blockchain ( DApps ) berkembang pesat, memproses miliaran transaksi setiap hari. Data yang dihasilkan dari transaksi ini sering kali mengandung informasi pribadi yang sensitif. Karena keterbukaan dan transparansi blockchain, data tersebut terbuka untuk semua orang, memicu berbagai masalah keamanan dan privasi.
Saat ini ada beberapa teknologi kriptografi yang dapat mengatasi tantangan ini, termasuk kriptografi homomorfik, tanda tangan cincin, komputasi multi-pihak yang aman, dan bukti nol-pengetahuan. Di antara semuanya, bukti nol-pengetahuan adalah solusi yang lebih komprehensif, yang memungkinkan untuk memverifikasi kebenaran proposisi tertentu tanpa mengungkapkan data perantara. Melalui ZKP, verifier dapat memverifikasi apakah prover memiliki jumlah transaksi yang cukup tanpa mengungkapkan data transaksi pribadi.
Fitur ZKP ini menjadikannya peran inti dalam transaksi blockchain dan aplikasi cryptocurrency, terutama dalam perlindungan privasi dan perluasan jaringan, menjadi fokus penelitian akademis dan jalur utama investasi risiko. Seiring dengan perkembangan proyek seperti ZkSync dan StarkNet, inovasi algoritma terkait ZKP bermunculan, dilaporkan hampir setiap minggu ada algoritma baru yang diperkenalkan. Selain itu, pengembangan perangkat keras terkait ZKP juga berkembang pesat, termasuk chip yang dioptimalkan khusus untuk ZKP.
Kemajuan ini menunjukkan bahwa ZKP tidak hanya merupakan terobosan penting di bidang kriptografi, tetapi juga merupakan pendorong kunci untuk mewujudkan aplikasi teknologi blockchain yang lebih luas. Oleh karena itu, kami memutuskan untuk secara sistematis mengorganisir pengetahuan terkait ZKP untuk lebih baik mendukung keputusan investasi di masa depan. Artikel ini secara komprehensif meninjau makalah akademis inti yang terkait dengan ZKP dan informasi tentang proyek-proyek terkemuka, memberikan dasar yang kuat untuk penulisan.
I. Pengetahuan Dasar tentang Bukti Tanpa Pengetahuan
1. Ringkasan
Pada tahun 1985, Goldwasser, Micali, dan Rackoff pertama kali mengajukan konsep bukti nol pengetahuan (ZKP) dan bukti pengetahuan interaktif (IZK). Mereka mendefinisikan "pengetahuan" sebagai "output yang tidak dapat dihitung", yaitu pengetahuan harus merupakan output dari fungsi kompleks, yang biasanya dipahami sebagai masalah NP. Proses penyelesaian masalah NP itu kompleks, tetapi proses verifikasinya sederhana, sangat cocok untuk digunakan dalam verifikasi ZKP.
Goldwasser dan lainnya memperkenalkan konsep "kompleksitas pengetahuan" untuk mengukur jumlah pengetahuan yang bocor dari pembuktian kepada verifier. Mereka juga mengusulkan sistem pembuktian interaktif (IPS), di mana pembuktian dan verifier membuktikan kebenaran suatu pernyataan melalui interaksi berkali-kali.
Tiga karakteristik dasar ZKP meliputi:
Kelengkapan: Jika argumen itu benar, maka pembuktian yang jujur dapat meyakinkan validator yang jujur tentang kebenaran tersebut.
Keandalan: Jika penyetor tidak mengetahui isi pernyataan, dia hanya dapat menipu verifier dengan probabilitas yang sangat kecil.
Zero-Knowledge: Setelah proses pembuktian selesai, verifier hanya mendapatkan informasi "pembuktian memiliki pengetahuan ini", tanpa mendapatkan konten tambahan lainnya.
2. Contoh Zero-Knowledge Proof
Berikut adalah contoh untuk memverifikasi apakah seorang pembuktian memiliki informasi pribadi tertentu, dibagi menjadi tiga tahap: pengaturan, tantangan, dan respons.
Langkah pertama: Pengaturan
Pembuat bukti menciptakan bukti bahwa dia mengetahui angka rahasia s, tetapi tidak langsung menampilkan s.
Pilih dua bilangan prima besar p dan q, hitung N=pq. Hitung v=s^2 mod N, kirim v kepada verifikator. Pilih angka bulat acak r, hitung x=r^2 mod N dan kirimkan kepada verifier.
Langkah kedua: Tantangan
Validator secara acak memilih sebuah posisi a(0 atau 1), dan mengirimkannya kepada prover.
Langkah ketiga: Respon
Berdasarkan nilai a, pihak yang membuktikan memberikan respons:
Jika a=0, penyampai mengirim y=r. Jika a=1, penyelenggara menghitung y=rs mod N dan mengirimkan.
Validator memverifikasi apakah y^2 mod N sama dengan xa^v mod N berdasarkan y yang diterima. Jika persamaan tersebut benar, validator menerima bukti ini.
Contoh ini membuktikan integritas, keandalan, dan pengetahuan nol dari sistem ZKP.
Dua, Pembuktian Nol Pengetahuan Non-Interaktif
1. Latar Belakang
ZKP tradisional biasanya memerlukan banyak interaksi untuk menyelesaikan otentikasi. Namun, dalam beberapa skenario, seperti transaksi instan atau pemungutan suara, seringkali tidak ada kesempatan untuk melakukan banyak interaksi, terutama dalam aplikasi blockchain, fungsi verifikasi offline menjadi sangat penting.
2. Pengenalan NIZK
Pada tahun 1988, Blum, Feldman, dan Micali pertama kali mengajukan konsep bukti nol pengetahuan non-interaktif (NIZK), yang membuktikan bahwa tanpa perlu interaksi multiround, penjamin dan verifier masih dapat menyelesaikan proses otentikasi. NIZK dapat dibagi menjadi tiga tahap: pengaturan, komputasi, dan verifikasi.
Tahap pengaturan menggunakan fungsi perhitungan, mengubah parameter keamanan menjadi pengetahuan umum, biasanya dikodekan dalam string referensi bersama (CRS). Tahap perhitungan menggunakan fungsi perhitungan, kunci masukan, dan kunci bukti, menghasilkan hasil perhitungan dan bukti. Dalam tahap verifikasi, bukti validitas diverifikasi melalui kunci verifikasi.
3. Transformasi Fiat-Shamir
Transformasi Fiat-Shamir adalah metode untuk mengubah ZKP interaktif menjadi non-interaktif. Metode ini mengurangi jumlah interaksi dengan memperkenalkan fungsi hash dan bergantung pada asumsi keamanan untuk menjamin keaslian bukti dan sifatnya yang sulit untuk dipalsukan. Meskipun protokol ini dianggap aman dalam model oracle acak, tetapi dalam aplikasi praktis mungkin menghadapi tantangan.
4. Jens Groth dan penelitiannya
Penelitian Jens Groth telah mendorong penerapan ZKP dalam kriptografi dan teknologi blockchain. Ia mengusulkan sistem NIZK sempurna pertama yang berlaku untuk semua bahasa NP, merancang sistem NIZK yang ringkas dan efisien, yang secara signifikan mengurangi CRS dan ukuran bukti. Groth juga mengeksplorasi bagaimana menggabungkan enkripsi homomorfik penuh dengan NIZK, mengusulkan solusi untuk mengurangi biaya komunikasi.
5. Penelitian Lain
Dalam skenario aplikasi tertentu, NIZK dari validator tertentu menunjukkan nilai praktis yang unik. Misalnya, skema enkripsi kunci publik yang dikembangkan oleh Cramer dan Shoup secara efektif melawan serangan ciphertext yang selektif. Damgård et al. mengusulkan metode baru untuk meningkatkan transformasi Fiat-Shamir, yang memungkinkan NIZK dilakukan tanpa interaksi langsung. Konsep "reliabilitas yang dapat dipertanggungjawabkan lemah" yang diajukan oleh Ventre dan Visconti meningkatkan kesulitan untuk menipu. Transformasi Unruh adalah alternatif untuk transformasi Fiat-Shamir, yang menyediakan NIZK yang aman secara dapat dibuktikan terhadap lawan kuantum dalam model oracle acak.
Tiga, Pembuktian Nol Pengetahuan Berbasis Sirkuit
1. Latar Belakang
Dalam bidang kriptografi, terutama dalam menangani tugas-tugas komputasi yang memerlukan paralelisasi tinggi dan jenis-jenis tugas tertentu, model mesin Turing tradisional menunjukkan beberapa keterbatasan. Sebaliknya, model sirkuit dengan keunggulan struktur komputasi yang unik, lebih cocok untuk beberapa tugas pemrosesan kriptografi tertentu.
2. Konsep dan karakteristik dasar model sirkuit
Model sirkuit mengubah proses perhitungan menjadi serangkaian gerbang dan koneksi, gerbang ini melakukan operasi logika atau aritmetika tertentu. Model sirkuit dibagi menjadi dua kategori besar:
3. Desain dan aplikasi sirkuit dalam bukti nol pengetahuan
Dalam sistem ZKP, proses desain sirkuit melibatkan mengungkapkan masalah yang akan dibuktikan sebagai sebuah sirkuit. Proses desain biasanya mengikuti langkah-langkah berikut:
4. Potensi Kekurangan dan Tantangan
Tantangan yang dihadapi ZKP berbasis sirkuit adalah:
Solusi dan arah perbaikan termasuk: teknologi kompresi sirkuit, desain modular, dan akselerasi perangkat keras, dll.
Empat, Model Bukti Tanpa Pengetahuan
1. Latar Belakang
Generalisasi ZKP berbasis sirkuit kurang baik, perlu mengembangkan model dan algoritma baru untuk masalah tertentu. Saat ini terdapat berbagai compiler bahasa tingkat tinggi dan alat kombinasi sirkuit tingkat rendah untuk menghasilkan dan merancang algoritma sirkuit, konversi perhitungan yang relevan dapat dilakukan melalui alat konstruksi sirkuit manual atau compiler otomatis.
2. Model algoritma umum
Model zkSNARK: diusulkan oleh Bitansky et al., sebagai singkatan dari "bukti pengetahuan nol yang ringkas dan non-interaktif."
Model Ben-Sasson: sebuah model zkSNARK baru untuk eksekusi program pada arsitektur RISC von Neumann.
Model Pinocchio: sebuah paket lengkap untuk menghasilkan bukti nol interaktif non-interaktif, termasuk kompiler tingkat tinggi.
Model Bulletproofs: tidak memerlukan pengaturan yang tepercaya, dan ukuran bukti tumbuh secara logaritmik seiring dengan ukuran nilai saksi.
Model Ligero: sebuah model ZKP yang ringan, kompleksitas komunikasi sebanding dengan akar kuadrat dari ukuran sirkuit verifikasi.