Dengan Optimisme merilis governance token, permintaan untuk gas fee yang lebih rendah di mainnet ETH, dan serangkaian ide baru yang dihasilkan di hackathon back-to-back, dapat dikatakan bahwa L2 2022 berjalan lancar.
Mengapa ZK Proofs Penting?
Sederhananya, zk Proof adalah cara meyakinkan pemverifikasi bahwa sesuatu itu benar tanpa benar-benar mengungkapkan informasi apa pun tentangnya.
Mari kita ilustrasikan dengan sebuah analogi: misalkan kita memiliki dua orang, Alice dan Bob. Alice memiliki setumpuk 52 kartu remi yang tersegel. Alice mengambil kartu merah secara diam-diam dan ingin membuktikan kepada Bob bahwa dia memiliki kartu merah, tanpa benar-benar menunjukkan kartu merah tersebut.
Untuk melakukan ini, Alice harus memisahkan semua kartu hitam dari dek dan menunjukkannya kepada Bob. Bob menghitung semua 26 kartu hitam, memverifikasi keberadaannya, dan menentukan bahwa kartu yang dimiliki Alice harus berwarna merah. Oleh karena itu, Alice dapat membuktikan kepada Bob bahwa dia memiliki kartu merah tersebut, tanpa benar-benar menunjukkannya.
Analogi ini sangat disederhanakan dan tidak menggambarkan gambaran lengkapnya, tetapi ide inti di balik teknologi tersebut tetap sama.
Zk Proofs bukanlah hal baru, Faktanya ide tersebut pertama kali diperkenalkan pada tahun 1980-an oleh para peneliti matematika abstrak. Solusi ini dikembangkan untuk memecahkan masalah yang berkaitan dengan, pada saat itu, sistem teoretis antara Pembukti dan Penguji – bukti interaktif.
Baca Juga Sotheby’s auction house Meluncurkan NFT Market on-chain
Tetapi bagaimana jika Pemverifikasi ternyata berbahaya? Berapa banyak informasi tambahan yang diungkapkan Prover, selain memverifikasi kebenaran suatu pernyataan? Mari kita lihat bagaimana versi hash kata sandi di server terpusat disimpan. Secara tradisional, saat berinteraksi dengan server, server akan mempelajari kata sandi teks-jelas. Ini adalah cara yang buruk untuk melakukan ‘proof of identity’, jadi peneliti beralih ke sistem yang membuktikan pernyataan tanpa mengungkapkan informasi asing.
Di blockchain, ada banyak penerapan zk proofs karena kemampuannya menyediakan skalabilitas, serta utilitas dalam privasi. Secara khusus, pemverifikasi melakukan pekerjaan komputasi lebih sedikit daripada tanpa sistem zk proofs. Prover, di sisi lain, memerlukan sedikit overhead komputasi yang diperlukan untuk melakukan pembuktian.
ZK Protocols
Meskipun ada banyak zk protocol yang saat ini ada, untuk bagian ini berfokus pada SNARK dan STARK.
Succinct Non-Interactive Arguments of Knowledge, or SNARK adalah proving mechanism yang menggabungkan Zero-knowledge proofs yang pertama kali diperkenalkan pada tahun 2011. zk-SNARK menggunakan kurva elips untuk keamanan dan mengandalkan penyiapan tepercaya. Awalnya, key dibuat untuk mengembangkan bukti yang diperlukan untuk transaksi dan untuk verifikasi bukti tersebut. Key ini berisi string referensi yang menghubungkan key verifikasi dan key yang mengirimkan informasi pribadi.
Agar ini berfungsi, sangat penting bahwa metode pembuatan key dihapus, dan pembuat key dapat dipercaya. Kepercayaan pada tahap penciptaan ini tetap menjadi kritik besar di zk-SNARK. Selain itu, string referensi tidak dapat diperbarui, artinya jika program perlu diperbarui, trusted setup phase perlu dijalankan kembali.
Namun, dalam praktik sebenarnya, zk-SNARK sulit diterapkan sendiri. Ada banyak langkah yang perlu diperiksa dalam perhitungan, tetapi melakukan pekerjaan untuk memeriksa setiap langkah satu per satu membutuhkan waktu yang tidak layak. Solusinya datang dalam bentuk polinomial. Mengkodekan perhitungan menjadi polinomial menghemat banyak informasi dan waktu.
Biasanya, persamaan diverifikasi dengan polinomial dengan memeriksa setiap koefisien, tetapi sekali lagi ini memakan waktu terlalu lama. Komitmen polinomial berperan di sini. Komitmen Polinomial dapat dilihat sebagai metode unik untuk “mencirikan” polinomial. Ini memungkinkan verifikasi dalam waktu yang jauh lebih singkat, terlepas dari seberapa besar polinomialnya.
Polynomial commitments menggunakan salah satu dari tiga protokol utama: bulletproof, KZG, dan FRI (Fast Reed-Solomon Interactive Oracle Proof of Proximity).
Pada 2018 sekelompok peneliti berupaya memasukkan transparansi dalam sistem zk. Transparansi berarti tidak harus bergantung pada pihak tepercaya untuk penyiapan awal, yang menghilangkan ancaman pintu belakang yang terbuka. Hal ini menyebabkan terciptanya transparent arguments of knowledge, atau STARK. STARK menggunakan fungsi hash sebagai sumber keamanannya, yang berbeda dari implementasi bilinear yang digunakan oleh SNARK. Aspek scalable dari nama mengacu pada dua hal:
- Waktu kerja pembukti jauh lebih murah dalam kompleksitas dibandingkan dengan SNARK.
- Waktu verifikasi berukuran polilogaritmik. STARK memanfaatkan FRI, meningkatkan jumlah penyimpanan dan keakuratan informasi.
Aplikasi Saat Ini
Meskipun perintis zk-SNARK seperti Zcash telah ada sejak lama, Pekerjaan dalam protokol zk tidak terbatas pada rollup. Faktanya, beberapa L1 telah dibangun berdasarkan bukti zk, serta proyek game pemula. StarkWare adalah pelopor dalam zk-STARK, mengembangkan dua produk inti: StarkNet, zk rollup permissionless decentralized, dan StarkEx, SaaS rollup zk mandiri. Selain itu, StarkWare adalah produsen pertama mesin virtual zk tingkat produksi (zkVM) yang disebut Kairo.
Kairo mengklaim telah melakukan ini melalui penerapan Turing Von Neumann. Setiap program berada di memori VM, di samping data yang diproses olehnya. Kairo dapat diakses oleh siapa saja saat ini, dan saat ini sedang digunakan oleh klien StarkEx terkemuka seperti dydx, Immutable, dan DeversiFi. Aplikasi novel lain yang menggunakan versi zkVM mereka sendiri termasuk Polygon Miden dan RiscZero, yang terakhir mencoba membangun zkVM.
zkVM dimulai dari awal sebagai VM blockchain baru yang dioptimalkan untuk zk, atau cukup mengadaptasi perkakas dan kompatibilitas Soliditas. Di sisi lain, zkEVM mengimplementasikan set lengkap opcode EVM. Penggunaan opcode EVM menawarkan beberapa keuntungan:
- Enable full compatibility with EVM ecosystem and tooling
- Inherit Ethereum security model
- Efficiency may be similar to a compiler based approach
- Unsurprisingly, there seems to be a hard divide between the zkVM and zkEVM camps.
Keuntungan terbesar yang dimiliki zkEVM dibandingkan zkVM adalah kesetaraan EVM. Menargetkan komunitas dApp masif yang ada melalui insentif gas fee rendah dan pengalaman yang mudah bagi pengembang dan bermanfaat, yang persis seperti yang diandalkan oleh pembuat zkEVM.
Proyek zkEVM paling populer saat ini adalah zkSync, yang menggunakan zk-SNARK untuk memvalidasi dan menskalakan sebagai layer 2. Selain itu, zkSync telah memilih untuk menempatkan ketersediaan data secara off-chain, dan diamankan menggunakan proof of stake (zkPorter) oleh pembuat token zkSync (menyiratkan airdrop mungkin akan segera terjadi). Rancangan implementasi ini berada di bawah solusi yang dikembangkan oleh StarkWare yang disebut Volition.