Dasar
Spot
Perdagangkan kripto dengan bebas
Perdagangan Margin
Perbesar keuntungan Anda dengan leverage
Konversi & Investasi Otomatis
0 Fees
Perdagangkan dalam ukuran berapa pun tanpa biaya dan tanpa slippage
ETF
Dapatkan eksposur ke posisi leverage dengan mudah
Perdagangan Pre-Market
Perdagangkan token baru sebelum listing
Futures
Akses ribuan kontrak perpetual
TradFi
Emas
Satu platform aset tradisional global
Opsi
Hot
Perdagangkan Opsi Vanilla ala Eropa
Akun Terpadu
Memaksimalkan efisiensi modal Anda
Perdagangan Demo
Pengantar tentang Perdagangan Futures
Bersiap untuk perdagangan futures Anda
Acara Futures
Gabung acara & dapatkan hadiah
Perdagangan Demo
Gunakan dana virtual untuk merasakan perdagangan bebas risiko
Peluncuran
CandyDrop
Koleksi permen untuk mendapatkan airdrop
Launchpool
Staking cepat, dapatkan token baru yang potensial
HODLer Airdrop
Pegang GT dan dapatkan airdrop besar secara gratis
Launchpad
Jadi yang pertama untuk proyek token besar berikutnya
Poin Alpha
Perdagangkan aset on-chain, raih airdrop
Poin Futures
Dapatkan poin futures dan klaim hadiah airdrop
Investasi
Simple Earn
Dapatkan bunga dengan token yang menganggur
Investasi Otomatis
Investasi otomatis secara teratur
Investasi Ganda
Keuntungan dari volatilitas pasar
Soft Staking
Dapatkan hadiah dengan staking fleksibel
Pinjaman Kripto
0 Fees
Menjaminkan satu kripto untuk meminjam kripto lainnya
Pusat Peminjaman
Hub Peminjaman Terpadu
Tinjauan menyeluruh teknologi zero-knowledge proof selama 40 tahun: dari perkembangan ZKSNARK hingga prospek masa depan ZKEVM
Tinjauan Komprehensif tentang Teknologi zk-SNARKs dan Prospek Masa Depan
Ringkasan
zk-SNARKs(ZKP) teknologi ini secara luas dianggap sebagai salah satu inovasi teknologi terpenting di bidang blockchain setelah teknologi buku besar terdistribusi, dan juga merupakan fokus utama dalam investasi ventura. Artikel ini memberikan tinjauan sistematis terhadap literatur sejarah dan penelitian terbaru tentang teknologi zk-SNARKs selama hampir empat puluh tahun.
Pertama, diperkenalkan konsep dasar dan latar belakang sejarah dari zk-SNARKs. Kemudian, fokus pada analisis teknik zk-SNARKs berbasis sirkuit, termasuk desain, aplikasi, dan metode optimisasi dari model seperti zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs, dan Ligero. Dalam bidang lingkungan komputasi, artikel ini memperkenalkan ZKVM dan ZKEVM, membahas bagaimana keduanya dapat meningkatkan kemampuan pemrosesan transaksi, melindungi privasi, dan meningkatkan efisiensi verifikasi. Artikel ini juga memperkenalkan Zero Knowledge Rollup(ZK Rollup) sebagai mekanisme kerja dan metode optimisasi dari solusi perluasan Layer 2, serta kemajuan terbaru dalam percepatan perangkat keras, solusi hibrida, dan ZK EVM khusus.
Akhirnya, artikel ini memandang konsep-konsep baru seperti ZKCoprocessor, ZKML, ZKThreads, ZK Sharding, dan ZK StateChannels, serta membahas potensi mereka dalam skala blockchain, interoperabilitas, dan perlindungan privasi.
Dengan menganalisis teknologi terbaru dan tren perkembangan ini, artikel ini memberikan perspektif komprehensif untuk memahami dan menerapkan teknologi zk-SNARKs, menunjukkan potensi besar dalam meningkatkan efisiensi dan keamanan sistem blockchain, serta memberikan referensi penting untuk keputusan investasi di masa depan.
Daftar
Pendahuluan
Satu, dasar pengetahuan zk-SNARKs
Dua, Non-interaktif zk-SNARKs
Tiga, pembuktian nol pengetahuan berbasis sirkuit
Empat, model zk-SNARKs
Lima, Ringkasan dan Perkembangan Mesin Virtual Zero-Knowledge
Enam, Tinjauan dan Perkembangan zk-SNARKs Ethereum Virtual Machine
Tujuh, Gambaran Umum dan Perkembangan Solusi Jaringan Tingkat Dua Zero-Knowledge
Delapan, arah pengembangan masa depan zk-SNARKs
Kesimpulan
Referensi
Pendahuluan
Internet sedang memasuki era Web3, aplikasi blockchain (DApps ) berkembang pesat, setiap hari muncul aplikasi baru. Dalam beberapa tahun terakhir, platform blockchain setiap hari menampung aktivitas jutaan pengguna, memproses puluhan miliar transaksi. Data besar yang dihasilkan dari transaksi ini biasanya mencakup informasi pribadi sensitif seperti identitas pengguna, jumlah transaksi, alamat akun, dan saldo akun. Mengingat karakteristik keterbukaan dan transparansi blockchain, data yang disimpan ini terbuka untuk semua orang, sehingga menimbulkan berbagai masalah keamanan dan privasi.
Saat ini, ada beberapa teknologi kriptografi yang dapat menghadapi tantangan ini, termasuk enkripsi homomorfik, tanda tangan cincin, komputasi multi-pihak yang aman, dan zk-SNARKs. Enkripsi homomorfik memungkinkan operasi dilakukan tanpa mendekripsi ciphertext, membantu melindungi keamanan saldo akun dan jumlah transaksi, tetapi tidak dapat melindungi keamanan alamat akun. Tanda tangan cincin menyediakan bentuk tanda tangan digital yang khusus, yang dapat menyembunyikan identitas penandatangan, sehingga melindungi keamanan alamat akun, tetapi tidak dapat melindungi saldo akun dan jumlah transaksi. Komputasi multi-pihak yang aman memungkinkan pembagian tugas komputasi di antara beberapa peserta, tanpa ada peserta yang mengetahui data peserta lainnya, secara efektif melindungi keamanan saldo akun dan jumlah transaksi, tetapi juga tidak dapat melindungi keamanan alamat akun. Selain itu, enkripsi homomorfik, tanda tangan cincin, dan komputasi multi-pihak yang aman tidak dapat digunakan untuk memverifikasi apakah pembuktian di lingkungan blockchain memiliki jumlah transaksi yang cukup tanpa mengungkapkan jumlah transaksi, alamat akun, dan saldo akun.
zk-SNARKs adalah solusi yang lebih komprehensif, protokol verifikasi ini memungkinkan verifikasi kebenaran proposisi tertentu tanpa mengungkapkan data perantara apa pun. Protokol ini tidak memerlukan fasilitas kunci publik yang kompleks, dan pelaksanaannya yang berulang juga tidak memberikan kesempatan bagi pengguna jahat untuk mendapatkan informasi tambahan yang berguna. Melalui ZKP, verifier dapat memverifikasi apakah provers memiliki jumlah transaksi yang cukup tanpa mengungkapkan data transaksi pribadi apa pun. Proses verifikasi mencakup menghasilkan bukti yang mencakup jumlah transaksi yang diklaim oleh prover, kemudian bukti tersebut disampaikan kepada verifier, yang melakukan perhitungan yang telah ditentukan sebelumnya pada bukti tersebut dan menghasilkan hasil perhitungan akhir, sehingga dapat dis得kan kesimpulan apakah menerima pernyataan prover. Jika pernyataan prover diterima, itu berarti mereka memiliki jumlah transaksi yang cukup. Proses verifikasi di atas dapat dicatat di blockchain, tanpa adanya pemalsuan.
Fitur ZKP ini membuatnya memainkan peran kunci dalam transaksi blockchain dan aplikasi cryptocurrency, terutama dalam perlindungan privasi dan perluasan jaringan, sehingga tidak hanya menjadi fokus penelitian akademis, tetapi juga secara luas dianggap sebagai salah satu inovasi teknologi terpenting sejak implementasi sukses teknologi buku besar terdistribusi—terutama Bitcoin. Ini juga merupakan jalur utama untuk aplikasi industri dan investasi risiko.
Oleh karena itu, banyak proyek jaringan berbasis ZKP muncul secara berturut-turut, seperti ZkSync, StarkNet, Mina, Filecoin, dan Aleo. Seiring dengan perkembangan proyek-proyek ini, inovasi algoritma terkait ZKP muncul satu demi satu, dilaporkan hampir setiap minggu ada algoritma baru yang diluncurkan. Selain itu, pengembangan perangkat keras yang terkait dengan teknologi ZKP juga berkembang pesat, termasuk chip yang dioptimalkan khusus untuk ZKP. Misalnya, proyek seperti Ingonyama, Irreducible, dan Cysic telah menyelesaikan penggalangan dana dalam skala besar, perkembangan ini tidak hanya menunjukkan kemajuan cepat teknologi ZKP, tetapi juga mencerminkan peralihan dari perangkat keras umum ke perangkat keras khusus seperti GPU, FPGA, dan ASIC.
Kemajuan ini menunjukkan bahwa teknologi zk-SNARKs bukan hanya merupakan terobosan penting di bidang kriptografi, tetapi juga menjadi pendorong kunci dalam mewujudkan aplikasi teknologi blockchain yang lebih luas—terutama dalam meningkatkan perlindungan privasi dan kemampuan pemrosesan.
Oleh karena itu, kami memutuskan untuk secara sistematis mengatur pengetahuan terkait zk-SNARKs ( ZKP ), untuk lebih baik mendukung kami dalam membuat keputusan investasi di masa depan. Untuk itu, kami telah secara komprehensif meninjau makalah akademis inti yang terkait dengan ZKP ( dan mengurutkannya berdasarkan relevansi dan jumlah kutipan ); pada saat yang sama, kami juga menganalisis secara rinci informasi dan buku putih dari proyek-proyek terkemuka di bidang ini ( dan mengurutkannya berdasarkan skala pendanaan ). Pengumpulan dan analisis informasi yang komprehensif ini memberikan dasar yang kuat untuk penulisan artikel ini.
I. Dasar Pengetahuan zk-SNARKs
1. Ringkasan
Pada tahun 1985, para akademisi Goldwasser, Micali, dan Rackoff pertama kali mengusulkan zk-SNARKs dalam makalah berjudul “The Knowledge Complexity of Interactive Proof-Systems”, yang mendefinisikan banyak konsep yang mempengaruhi penelitian akademis selanjutnya. Misalnya, definisi pengetahuan adalah “output dari komputasi yang tidak dapat dilakukan”, yang berarti pengetahuan haruslah sebuah output, dan merupakan komputasi yang tidak dapat dilakukan, yang menyiratkan bahwa ia tidak bisa berupa fungsi sederhana, melainkan harus berupa fungsi yang kompleks. Komputasi yang tidak dapat dilakukan biasanya bisa dipahami sebagai masalah NP, yaitu masalah yang dapat memverifikasi kebenaran solusinya dalam waktu polinomial, di mana waktu polinomial mengacu pada waktu jalannya algoritma yang bisa dinyatakan dengan fungsi polinomial dari ukuran input. Ini adalah standar penting dalam ilmu komputer untuk mengukur efisiensi dan kelayakan algoritma. Karena proses penyelesaian masalah NP yang kompleks, maka dianggap sebagai komputasi yang tidak dapat dilakukan; tetapi proses verifikasinya relatif sederhana, sehingga sangat cocok untuk digunakan dalam verifikasi zk-SNARKs.
Salah satu contoh klasik dari masalah NP adalah masalah perjalanan salesman, di mana kita harus menemukan jalur terpendek untuk mengunjungi serangkaian kota dan kembali ke titik awal. Meskipun menemukan jalur terpendek bisa sangat sulit, memverifikasi apakah jalur yang diberikan adalah jalur terpendek relatif mudah. Karena verifikasi total jarak dari jalur tertentu dapat dilakukan dalam waktu polinomial.
Goldwasser dan kawan-kawan dalam makalah mereka memperkenalkan konsep “knowledge complexity” ( knowledge complexity ) untuk mengukur jumlah pengetahuan yang dibocorkan oleh pembuktian kepada verifier dalam sistem bukti interaktif. Mereka juga mengajukan sistem bukti interaktif ( Interactive Proof Systems, IPS ), di mana pembuktian ( Prover ) dan verifier ( Verifier ) membuktikan kebenaran suatu pernyataan melalui interaksi berulang.
Dengan demikian, definisi zk-SNARKs yang dirangkum oleh Goldwasser dan kawan-kawan adalah suatu bentuk bukti interaktif yang khusus, di mana verifier tidak akan mendapatkan informasi tambahan selain kebenaran pernyataan selama proses verifikasi; dan mereka mengusulkan tiga karakteristik dasar termasuk:
2.Keandalan ( ketepatan ): Jika pembuktinya tidak mengetahui isi pernyataan, ia hanya dapat menipu validator dengan probabilitas yang sangat kecil;
3.zk-SNARKs(zero-knowledge): Setelah proses pembuktian selesai, verifier hanya mendapatkan informasi “pembuktian memiliki pengetahuan ini”, dan tidak dapat memperoleh konten tambahan.
(# 2.zk-SNARKs contoh
Untuk lebih memahami zk-SNARKs dan sifat-sifatnya, berikut adalah contoh untuk memverifikasi apakah seorang pembuktian memiliki informasi pribadi tertentu, contoh ini dibagi menjadi tiga tahap: pengaturan, tantangan, dan respons.
Langkah pertama: atur )Setup(
Pada langkah ini, tujuan dari pembuktian adalah untuk membuat sebuah bukti bahwa dia mengetahui sebuah angka rahasia s, tetapi tidak menunjukkan s secara langsung. Misalkan angka rahasia s;
Pilih dua bilangan prima besar p dan q, hitung hasil kali mereka n. Tetapkan bilangan prima p dan q, hitung n yang diperoleh.
Hitung v=s^2 mod n, di sini, v sebagai bagian dari bukti dikirim ke verifier, tetapi itu tidak cukup untuk membuat verifier atau pengamat mana pun menyimpulkan s.
Pilih secara acak sebuah bilangan bulat r, hitung x=r^2 mod n dan kirimkan kepada validator. Nilai x ini digunakan untuk proses verifikasi selanjutnya, tetapi juga tidak mengungkapkan s. Misalkan bilangan bulat acak r, hitung x yang diperoleh.
Langkah kedua: tantangan )Challenge(
Validator secara acak memilih sebuah bit a) yang bisa berupa 0 atau 1###, lalu mengirimkannya kepada prover. “Tantangan” ini menentukan langkah-langkah yang perlu diambil oleh prover selanjutnya.
Langkah ketiga: respons (Response)
Berdasarkan nilai a yang dikeluarkan oleh validator, penjamin memberikan respons:
Jika a=0, penunjuk mengirim g=r( di mana r adalah angka acak yang dia pilih sebelumnya ).
Jika a=1, provers menghitung g=rs mod n dan mengirimkannya. Misalkan verifier mengirimkan bit acak a, berdasarkan nilai a, provers menghitung g;
Akhirnya, validator memverifikasi apakah g^2 mod n sama dengan xa^v mod n berdasarkan g yang diterima. Jika persamaan tersebut benar, validator menerima bukti ini. Ketika a=0, validator menghitung g^2 mod n, di sisi kanan memverifikasi xa^v mod n; ketika a=1, validator menghitung g^2 mod n, di sisi kanan memverifikasi xa^v mod n.
Di sini, kita melihat bahwa g^2 mod n=xa^v mod n yang dihitung oleh validator menunjukkan bahwa pembuktian berhasil melewati proses verifikasi, tanpa mengungkapkan nomor rahasianya s. Di sini, karena a hanya dapat mengambil 0 atau 1, ada hanya dua kemungkinan, probabilitas pembuktian untuk berhasil melewati verifikasi berdasarkan keberuntungan adalah ( ketika a adalah 0, yaitu 1/2. Namun, validator kemudian menantang pembuktian n kali, pembuktian terus-menerus mengganti angka terkait, mengirimkan kepada validator, dan selalu berhasil melewati proses verifikasi, sehingga probabilitas pembuktian untuk berhasil melewati verifikasi dengan keberuntungan adalah )1/2(^n) mendekati 0(, sehingga kesimpulan bahwa pembuktian memang mengetahui nomor rahasia s terbukti. Contoh ini membuktikan integritas, keandalan, dan sifat tanpa pengetahuan dari sistem zero knowledge proof.
) Dua, zk-SNARKs non-interaktif
(# 1. Latar Belakang
zk-SNARKs)ZKP( dalam konsep tradisional biasanya merupakan bentuk protokol interaktif dan online; misalnya, protokol Sigma biasanya memerlukan tiga hingga lima putaran interaksi untuk menyelesaikan otentikasi. Namun, dalam skenario seperti transaksi instan atau pemungutan suara, sering kali tidak ada kesempatan untuk melakukan interaksi berulang kali, terutama dalam aplikasi teknologi blockchain, fungsi verifikasi offline menjadi sangat penting.
)# 2. Usulan NIZK
1