TL;DR
Teknologi bukti tanpa pengetahuan dapat menjamin integritas, kebenaran, dan privasi perhitungan, dan memiliki aplikasi dalam ekspansi dan privasi blockchain.
Baik zk-SNARK dan zk-STARK memiliki kelebihannya masing-masing, dan kombinasi yang masuk akal memiliki potensi yang lebih besar.
zkVM dapat memberikan aplikasi dengan kemampuan bukti tanpa pengetahuan, dan zkVM dapat dibagi menjadi arus utama, EVM, atau set instruksi baru.
Adaptasi EVM meliputi kompatibilitas EVM, kesetaraan dan adaptasi pada Spesifikasi.
zkEVM adalah lingkungan yang kompatibel dengan EVM dan ramah tanpa pengetahuan, terutama dibagi menjadi genre asli dan yang dikompilasi.
ZkEVM asli adalah masa depan Ethereum dan blockchain.
ZkVM universal yang mendukung ekologi Soliditas adalah masa depan Web3.
0. Bukti tanpa pengetahuan Tidak ketat tetapi mudah dipahami untuk memperkenalkan bukti tanpa pengetahuan:
Anda berada di sekolah dasar. Guru adalah verifier, dan Anda sebagai siswa adalah certifier. Bagaimana Anda membuktikan bahwa Anda telah menguasai rumus penyelesaian persamaan kuadrat dalam satu variabel? Maka Anda memerlukan tes matematika.
Guru akan memilih secara acak 10 pertanyaan terkait, dan jika Anda telah menguasainya, Anda dapat menyelesaikan semuanya. Dalam proses ini, Anda tidak melafalkan atau menuliskan konten spesifik dari rumus solusi, tetapi guru dapat dengan mudah memverifikasi tingkat kemampuan Anda. penguasaan pengetahuan.
Sebenarnya, ini adalah cara yang digunakan oleh Tartaglia dan Cardano (ya, begitulah namanya) untuk memperebutkan siapa penemu persamaan kubik dalam satu variabel.Mereka tidak ingin saling memberi tahu isi rumus mereka, tetapi dengan melakukan pertanyaan, mereka dapat dengan mudah memverifikasi dan Tanpa mengungkapkan pengetahuan dalam prosesnya, menilai apakah mereka telah menguasai pengetahuan ini.
Apa gunanya bukti tanpa pengetahuan? Kegunaannya adalah bahwa seluruh proses dapat menghemat daya komputasi dan memampatkan ruang pada rantai, dan pada saat yang sama melindungi privasi, yang sejalan dengan karakteristik blockchain yang tidak dapat dipercaya dan gen dari kriptografi.
1. SNARK dan STARK "zk" yang digunakan atau disebutkan di bidang blockchain biasanya bukan bukti nol pengetahuan yang sebenarnya, tetapi sering kali merupakan Bukti Validitas. Karena kebingungan kosakata terkait, beberapa tempat dalam artikel ini akan melanjutkan "penyalahgunaan" ini.
Dalam lanskap blockchain saat ini, zk dapat dikatakan sebagai solusi paling mutakhir dan optimal untuk ekspansi blockchain (Bukti Validitas tanpa zk) dan teknologi privasi (zk nyata). Di Tornado.cash, ZCash, zkSync, digunakan di proyek seperti zk.money, Filecoin, dan Mina.
Solusi teknis saat ini terutama dibagi menjadi dua kategori: SNARK dan STARK S dalam STARK singkatan terukur, yang berarti bahwa pernyataan terbukti memiliki struktur berulang, sedangkan SNARK mendukung sirkuit sewenang-wenang, yang preprocessed untuk mencapai bukti singkat Diantaranya, praktik teknis SNARK menempati posisi dominan, dan STARK terutama diadopsi oleh StarkWare dalam produk-produk yang telah diluncurkan dalam skala besar.Berikut adalah perbandingan di antara keduanya.
Dari perspektif Meme, STARK lebih baik daripada SNARK (?, Star Wars, Star Trek).
Jika SNARK adalah masa depan Ethereum 2.0, maka STARK akan menjadi masa depan Ethereum 3.0. Serius, keuntungan dari STARK adalah
Gas lebih rendah (lebih terukur)
Ukuran batch lebih besar (lebih terukur * 2)
Bukti lebih cepat (lebih banyak skala * 3)
Tidak ada pengaturan tepercaya (parameter yang dihasilkan hanya berlaku untuk aplikasi saat ini, jika ada modifikasi, Anda perlu mengatur ulang)
keamanan pasca-kuantum
Namun, volume bukti yang dihasilkan oleh STARK lebih besar, dan cukup besar Karena beberapa keterbatasan WASM, misalnya, operasi tambahan mungkin diperlukan selama konstruksi (ini adalah SNARK) Mir memberikan latihan berbasis AIR dari STARK adalah bagian dari Plonky2 (hubungan antara Plonky2 dan Starky lebih rumit...) Menurut saya pribadi ukuran besar dapat dioptimalkan dengan berbagai metode, tetapi kompleksitas waktu dari algoritme itu sendiri sulit untuk dikompresi lebih lanjut.
Teknologi bukti tanpa pengetahuan ini dapat digabungkan secara wajar untuk membangun aplikasi yang lebih kuat.Misalnya, Polygon Hermez menggunakan SNARK untuk memverifikasi kebenaran STARK, sehingga mengurangi biaya bahan bakar saat bukti akhirnya dirilis.
Singkatnya, baik SNARK dan STARK adalah teknologi bukti tanpa pengetahuan yang sangat baik, masing-masing dengan kelebihan dan kekurangannya sendiri, dan kombinasi yang wajar memiliki lebih banyak potensi.
2.zkVM Tornado.cash dan zk.money yang disebutkan di atas adalah aplikasi bukti tanpa pengetahuan yang hanya mendukung operasi transfer, dan tidak mendukung perhitungan tujuan umum.Secara analogi, aplikasi ini hanya memiliki fungsi Bitcoin , yang jauh lebih rendah daripada Ethereum Turing selesai, belum lagi membangun ekologi (kontrak pintar pada Bitcoin belum pernah dibangun).
zkVM adalah mesin virtual yang menjamin keamanan, fitur yang dapat diverifikasi, dan tepercaya dengan bukti tanpa pengetahuan. Sederhananya, ini memasukkan status dan program lama dan mengembalikan status baru. Ini memungkinkan semua aplikasi diberkahi dengan kekuatan super dari bukti tanpa pengetahuan.
Pembicaraan Miden di ETH Amsterdam memberikan gambaran yang bagus tentang apa sebenarnya zkVM itu.
Keuntungan dari zkVM:
Kemudahan penggunaan: Pengembang dapat menggunakan zkVM untuk menjalankan program tanpa mempelajari kriptografi atau pengembangan tanpa pengetahuan untuk memastikan keamanan komputasi (tidak berarti tidak ada ambang batas sama sekali)
Umum: zkVM dapat menghasilkan bukti untuk program dan perhitungan apa pun.
Conciseness: Sejumlah kendala yang relatif kecil dapat menggambarkan seluruh VM (tanpa mengulang rangkaian seluruh VM).
Rekursi: Fitur rekursif gratis. Seperti universalitas, verifikasi VM dapat dilakukan melalui VM. Ini sangat menarik. Misalnya, Anda dapat meletakkan zkVM di zkVM, yang mirip dengan konsep L3 yang disebutkan oleh StarkWare.
Kerugian dari zkVM:
Arsitektur komputasi khusus: Tidak semua sistem pembuktian tanpa pengetahuan dapat digunakan sebagai zkVM.
Masalah kinerja: Sirkuit perlu dioptimalkan, dan dapat dioptimalkan untuk kalkulasi khusus.
Sekarang ada tiga jenis utama zkVM arus utama, dan set instruksinya ada dalam tanda kurung: arus utama (WASM, RISC-V), EVM (kode byte EVM), ZK-Optimized (set instruksi baru, dioptimalkan untuk pembuktian tanpa pengetahuan, seperti Cairo dan zkSync ).Berikut adalah tabel perbandingan jenis yang disusun menurut pidato Miden di ETH Amsterdam:
Sebagian besar hal yang dilakukan oleh ekologi pengembangan bukti tanpa pengetahuan adalah mengizinkan pengembang untuk menggunakan perpustakaan Circom (dan snarkyjs) atau bahasa lain yang baru dibuat (bahasa seperti Leo atau Kairo memiliki batasan aneh) untuk melakukan tujuan umum zk The pengembangan DApp tidak semudah dan semudah dipelajari seperti Solidity on Ethereum.
Selain itu, ada banyak proyek seperti zkSync, Scroll, atau banyak perusahaan di bawah Polygon yang mencoba membuat zkEVM atau zkVM lainnya.
3.EVM EVM adalah mesin virtual Ethereum, yang juga dapat dipahami sebagai lingkungan eksekusi untuk menjalankan kontrak pintar.
Selama bertahun-tahun, berbagai rantai publik telah berusaha agar kompatibel dengan EVM, agar dapat terhubung dengan ekologi pengembangan Ethereum.Untuk konsep ini, kompatibilitas EVM, kesetaraan, dan definisi lainnya telah diturunkan.
Kompatibilitas EVM: Adaptasi pada level bahasa seperti Solidity.
Kesetaraan EVM: Adaptasi pada tingkat bytecode EVM.
Adaptasi Spesifikasi EVM: Yang disebut zkEVM nyata, dalam banyak kasus bahkan superset kompatibilitas mundur yang dioptimalkan, dapat memberikan abstraksi akun (yaitu, setiap akun adalah kontrak pintar) dan hal-hal lain yang tidak diberikan oleh EVM.
4.zkEVM Mari kita tafsirkan zkEVM lagi. Menurut definisi, zkEVM adalah mesin virtual yang kompatibel dengan EVM dan ramah terhadap bukti tanpa pengetahuan, dan dapat menjamin kebenaran lengkap dari program, operasi, serta input dan output.
Untuk realisasi komputasi umum, untuk melakukan zkEVM terutama perlu menyelesaikan dua kesulitan:
a) Rangkaiannya rumit Kontrak yang berbeda perlu menghasilkan sirkuit yang berbeda, dan sirkuit ini "kompleks".
Aspek ini terutama bergantung pada berbagai pengoptimalan, seperti Aleo (tetapi ini bukan jenis ZK langsung... hanya untuk mengilustrasikan pengoptimalan) melalui Cluster terdistribusi untuk menghitung Bukti secara bersamaan, atau melalui berbagai pengoptimalan perangkat keras untuk mempercepat.
b) Sulit untuk dirancang zkEVM tidak hanya perlu merekonstruksi EVM, tetapi juga merekonstruksi keseluruhan transisi status Ethereum dengan teknologi tanpa bukti pengetahuan.
Ketika EVM dirancang, saya tidak berharap untuk melakukan zkEVM di masa mendatang, yang menyebabkan kesulitan besar.Itu mengarah ke rute dua sekte, yang semuanya ada di gambar.
Atau menurut arsitektur VM, tampilannya seperti ini (terima kasih kepada Scroll Tech untuk ringkasan gambar aslinya!) Opcode mengacu pada EVM Opcode Bagian StarkWare menggunakan Warp untuk mengubah Solidity menjadi kontrak Kairo, atau menulis langsung dalam kontrak Kairo , Anda juga bisa mendapatkan pengalaman pengembangan yang baik dan seperangkat alat lengkap.
Pada tingkat pengembang dan pengguna, saya pikir pada dasarnya tidak ada perbedaan antara solusi ini, tetapi dalam hal infrastruktur, semakin jauh ke kanan semakin baik kompatibilitas EVM, dan dapat terhubung dengan lancar ke infrastruktur seperti Geth, tetapi kemajuan pengembangan Pada dasarnya lebih lambat.
5. zkEVM dan zkVM Menurut saya keberadaan zkEVM adalah untuk merenovasi dan menambal ekologi Ethereum, yang dapat berkontribusi pada kemakmuran Ethereum dan ekologinya, tetapi keberadaan zkVM tidak serta merta memperkuat Ethereum, tetapi juga memiliki imajinasi yang lebih besar.
Meskipun VM Kairo StarkNet mungkin bukan zkVM yang sempurna dalam imajinasi saya, ia dapat melakukan lebih banyak hal daripada EVM atau zkEVM, dan ini bukan hanya perluasan fungsional di tingkat EIP. Model pembelajaran mesin dapat dijalankan di VM Kairo, dan bahkan Ada juga platform model pembelajaran mesin sedang dibangun di StarkNet.
Dibandingkan dengan zkEVM, zkVM akan lebih mudah dibangun (tidak perlu khawatir tentang hutang teknis EVM), lebih fleksibel (tidak perlu khawatir tentang pembaruan EVM), lebih mudah untuk dioptimalkan (optimasi perangkat keras dan perangkat lunak dari sirkuit dan pembuktian adalah jauh lebih sederhana dan lebih murah daripada membangun zkEVM ).
Tentu saja, salah satu kekurangan zkVM yang terkecil namun fatal adalah jika zkVM tidak dapat mendukung kompatibilitas EVM (tingkat bahasa Soliditas), maka sulit bagi zkVM untuk memiliki ekosistem pengembangan Web3 yang paling lengkap dan matang seperti EVM.
ZkVM mungkin merupakan tren yang lebih besar, yang dapat mengubah pengoptimalan vertikal EVM menjadi perluasan horizontal ekologi EVM, keluar dari batasan EVM.
6. Masa depan zkVM Bagaimana jika ada tujuan umum zkVM yang memungkinkan kontrak pintar di semua bahasa pemrograman, bukan hanya Soliditas, bukan hanya Kairo, tetapi Rust, C++, Go, untuk berjalan dengan aman berkat bukti tanpa pengetahuan? (Stellar mencoba, tetapi gagal.)
Seperti yang dikatakan @kelvinfichter: Mengapa zkEVM jika zkMIPS? Seperti yang dikatakan @KyleSamani: EVM adalah bug, bukan fitur. Mengapa zkEVM jika zkVM?
zkVM seperti Winterfall atau Distaff atau Miden VM sangat tidak ramah untuk pengembangan Nervos memiliki RISC-V VM, tetapi Nervos tidak menggunakan teknologi bukti tanpa pengetahuan.
Solusi optimal dalam situasi saat ini adalah membangun zkVM WASM atau RISC-V, lebih disukai bahasa pendukung seperti Rust, Go, C++, dan bahkan Solidity (zkSync tampaknya dapat memberikan kontribusi yang besar). zkVM umum, lalu untuk zkEVM Ini akan menjadi pukulan pengurangan dimensi.
Jumlah pengembang Web3 menyumbang sekitar 0,07% dari semua pengembang, dan dapat disimpulkan bahwa jumlah pengembang Solidity sebenarnya akan kurang dari 0,07%, dan bahkan lebih sedikit lagi yang akan menggunakan Kairo untuk menulis kontrak atau menggunakan Leo untuk menulis sirkuit. dengan cara ini ZkVM yang sempurna ditujukan untuk hampir 100% pengembang, dan pengembang mana pun bisa mendapatkan lingkungan operasi tanpa pengetahuan yang sempurna dengan hampir semua bahasa.
Jika Web3 dan Crypto memiliki satu hari untuk menguasai dunia, saya pikir itu pasti bukan ekologi EVM yang menempati 100% dari semua pengembang, tetapi semua pengembang perlahan-lahan akan berubah menjadi pengembang Web3 dan Crypto. tempat.
ZkEVM asli adalah masa depan blockchain.
ZkVM universal adalah masa depan Web3.
Penulis: Suning Yao @ Foresight Ventures