ZK-EVM: Cita-cita Tertinggi dari ZK-Rollup
- ZEC0%
- ETH0%
- ZK0%
- DYDX0%
- GTC0%
Penskalaan Ethereum telah menjadi topik yang hangat dan dinantikan oleh banyak pengguna. Kesalahpahaman umum adalah bahwa Ethereum Merge pada September 2022, yang mengubah mekanisme konsensusnya dari PoW ke PoS, akan meningkatkan kinerja Ethereum. Pada kenyataannya, Merge tidak mengubah ukuran blok, dan waktu blok hanya berkurang dari rata-rata 13 detik menjadi 12 detik, yang berarti peningkatan kinerja diperkirakan terbatas. Harapan penskalaan jangka pendek Ethereum masih bergantung pada jaringan layer-2 (Rollups). Di antara dua pendekatan Rollup utama—Optimistic Rollup dan ZK-Rollup—banyak orang lebih menyukai yang terakhir. ZK-Rollup tidak hanya mengurangi biaya jaringan dengan mengelompokkan beberapa transaksi off-chain tetapi juga mewarisi keamanan Ethereum melalui zero-knowledge proof, menghilangkan kebutuhan periode tantangan seperti dalam Optimistic Rollup.
ZK-Rollups Khusus Pembayaran
ZK-Rollups awal dikritik karena kurangnya kompatibilitas EVM dan dengan demikian tidak mendukung fungsionalitas kontrak pintar. Misalnya, zkSync 1.0, metode pembayaran donasi utama Gitcoin, hanya bisa mendukung transfer dasar. Aplikasi ZK saat ini, seperti dYdX, dibuat khusus dan tidak dapat dioperasikan bersama, membuat pengembangan menjadi menantang. Selain itu, aplikasi ZK yang berbeda menggunakan sirkuit khusus yang berbeda, membatasi komposabilitas. Oleh karena itu, pasar sangat membutuhkan ZK-Rollup yang kompatibel dengan kontrak pintar Ethereum, di mana hambatan utamanya adalah mencapai mesin virtual yang kompatibel dengan zero-knowledge proof. Artikel ini akan memperkenalkan EVM, ZK-EVM, dan proyek-proyek ZK-EVM utama beserta perbedaannya.
Apa itu EVM?
Ethereum Virtual Machine (EVM) berfungsi sebagai mesin eksekusi Ethereum, beroperasi sebagai lingkungan runtime untuk kontrak pintar. Pengembang menulis logika bisnis dalam bahasa tingkat tinggi seperti Solidity, yang kemudian dikompilasi menjadi bytecode. EVM menginterpretasikan bytecode ini menjadi opcode yang dapat dibaca mesin, mengeksekusi instruksi yang sesuai untuk memperbarui status sistem. EVM adalah mesin virtual berbasis tumpukan yang berinteraksi dengan tumpukan, memori, dan penyimpanan. Untuk Ethereum dan berbagai solusi penskalaan atau rantai yang bersaing, EVM telah menjadi sinonim dengan ekosistem Ethereum, mewakili pengembang, aplikasi, dan alatnya. Blockchain yang tidak kompatibel dengan EVM harus membangun ekosistemnya sendiri, mengharuskan pengembang untuk membuat ulang aplikasi dan alat. Kompatibilitas dengan EVM memungkinkan pengembang untuk dengan mudah memigrasikan kontrak Ethereum yang ada dan mengakses alat Ethereum.
Kemunculan ZK-EVM
Meskipun EVM memainkan peran penting dalam ekosistem Ethereum, mengembangkan ZK-EVM adalah tantangan tersendiri. ZK-EVM menghasilkan zero-knowledge proof sambil tetap kompatibel dengan EVM, memungkinkan kontrak pintar Ethereum untuk diterapkan tanpa modifikasi dan memvalidasi komputasi melalui zero-knowledge proof. EVM tidak dirancang dengan mempertimbangkan kompatibilitas ZK karena algoritma zero-knowledge proof, seperti zk-SNARKs, tidak banyak diadopsi hingga 2016 oleh Zcash. Beberapa operasi EVM tidak ramah ZK, membuat generasi bukti menjadi sulit, lambat, atau besar.
Mengembangkan ZK terkenal rumit, melibatkan keahlian kriptografi, matematika, dan perangkat keras. Membangun ZK-EVM menambah tantangan ini karena membutuhkan kompatibilitas EVM dan keramahan ZK. Untungnya, terobosan signifikan telah dibuat dalam teknologi ZK dalam beberapa tahun terakhir. Para pemain di ruang ZK-EVM, termasuk Starkware, zkSync 2.0, Polygon, dan Scroll, telah mempercepat pengembangan ZK-EVM, dengan sebagian besar mengumumkan peluncuran mainnet mulai tahun 2023.
Perbandingan Proyek ZK-EVM
ZK-EVM tidak mengikuti desain atau standar yang seragam, dan setiap proyek menyeimbangkan antara kompatibilitas EVM dan dukungan ZK. Ada dua pendekatan utama:
1. Dukungan Tingkat Bahasa Pemrograman: Menyesuaikan opcode EVM untuk mengoptimalkan ZK, merestrukturisasi mesin virtual untuk mendukung operasi ramah ZK dan mengompilasi Solidity ke dalam opcode VM baru.
2. Dukungan Tingkat Bytecode: Mempertahankan kompatibilitas opcode EVM asli.
Proyek dalam kategori pertama termasuk StarkNet dari Starkware dan zkSync 2.0. StarkNet dapat menjalankan dApp Ethereum apa pun dengan mengompilasi Solidity ke dalam bahasa StarkNet, Cairo, untuk diterapkan pada VM yang ramah ZK. Demikian pula, zkSync 2.0 mencapai fungsionalitas ZK-EVM melalui kompiler Yul dan Zinc-nya, dengan Yul sebagai representasi Solidity menengah dan Zinc, bahasa berbasis Rust, untuk kontrak pintar dan sirkuit ZK umum. Keduanya dibangun di atas kerangka LLVM untuk menghasilkan bytecode ZK-EVM yang sangat efisien.
Proyek-proyek ini menawarkan kompatibilitas Solidity di tingkat bahasa, memungkinkan pengembang untuk memigrasikan kontrak Solidity, meskipun arsitektur VM yang mendasarinya berbeda dari EVM dan secara teknis adalah zkVM. Beberapa alat pengembang yang ada mungkin tidak berfungsi secara langsung karena perbedaan set instruksi VM, tetapi pendekatan ini lebih ramah ZK dan dapat menghasilkan bukti secara lebih efisien.
Dalam pendekatan kedua, proyek seperti Polygon ZK-EVM dan Scroll mempertahankan kompatibilitas opcode EVM asli. uVM Polygon, VM yang dioptimalkan ZK, menggunakan opcode khusus untuk meningkatkan operasi EVM dengan mengompilasi bytecode EVM menjadi micro-opcodes untuk eksekusi. Polygon ZK-EVM sepenuhnya kompatibel dengan EVM, memungkinkan operasi yang mulus dari kontrak pintar, alat pengembang, dan dompet yang ada. Scroll juga merancang sirkuit untuk setiap bytecode, memverifikasi setiap langkah eksekusi EVM, termasuk memuat bytecode, mengeksekusi opcode, dan memperbarui penyimpanan.
Dalam blog Vitalik, dia mengkategorikan ZK-EVM ke dalam beberapa tipe. Tipe 1 mengacu pada ZK-EVM yang dikembangkan langsung di Ethereum, yang kompleks dan tidak efisien, dengan penelitian berkelanjutan oleh Ethereum Foundation. Tipe 2, 2.5, dan 3 adalah ZK-EVM yang setara EVM, dengan Scroll dan Polygon Hermez saat ini berada di Tipe 3, bekerja menuju Tipe 2.5 atau bahkan Tipe 2. Tipe 4 mencakup ZK-EVM yang kompatibel dengan bahasa tingkat tinggi, seperti Starkware dan zkSync. Tipe-tipe ini tidak memiliki keunggulan atau kelemahan intrinsik, karena tidak ada model ZK-EVM yang terstandarisasi. Seperti yang dinyatakan Vitalik, "Secara teoritis, tidak ada kebutuhan bagi Ethereum untuk menstandarisasi pada satu implementasi ZK-EVM untuk penggunaan L1; klien yang berbeda bisa menggunakan bukti yang berbeda, sehingga kita terus mendapat manfaat dari redundansi kode."
Kesimpulan
Setiap solusi ZK-EVM memiliki kekuatan unik, dan karena sebagian besar proyek belum membuka kode sumbernya, perbandingan efisiensi belum tersedia. Sebagai platform kontrak pintar terbesar, ekosistem dan efek jaringan Ethereum sangat kuat. ZK-EVM, yang dianggap sebagai holy grail dari ZK-Rollups, memanfaatkan ekosistem dan efek jaringan Ethereum untuk mewarisi keamanannya, mengurangi biaya, dan memupuk ekosistem pengembang yang dinamis. Pada awal 2021, Vitalik menyarankan dalam blognya bahwa Optimistic Rollup mungkin mengungguli dalam komputasi EVM umum dalam jangka pendek, sementara ZK-Rollup mungkin unggul dalam pembayaran sederhana, perdagangan, dan kasus penggunaan khusus aplikasi. Namun, dengan kemajuan dalam teknologi zk-SNARK, ZK-Rollup bisa mengungguli dalam semua kasus penggunaan dalam jangka menengah hingga panjang. Dengan beberapa proyek ZK-EVM meluncurkan mainnet, lanskap penskalaan layer-2 Ethereum menjanjikan akan menarik dalam waktu dekat.