Dalam perang ekspansi Ethereum, rollup Optimis sangat kompatibel atau bahkan sepenuhnya setara dengan EVM, yang mengarah pada keunggulan yang melekat pada Arbitrum dan Optimisme di jalur yang dapat diadopsi oleh pengembang. Porting kode yang mulus dari L1 ke L2 dan alat pengembangan yang kaya dapat dengan cepat menarik pengembang untuk menetap dan menerapkan serta membuat aplikasi di platform.
Sebaliknya, seri ZK lebih sulit. Karakteristik teknis yang melekat menyebabkan ZK rollup menyesuaikan mesin virtual mereka sendiri, yang berarti bahwa pihak proyek perlu melakukan lebih banyak pekerjaan untuk "menafsirkan" kode dari EVM atau bahkan mengembangkan dan menulis kode baru dari awal. Namun, beberapa proyek trek rollup ZK termasuk Taiko, Polygon, Linea, Scroll, dan Era ZkSync telah meluncurkan implementasi zkEVM mereka sendiri.
Sebagai cawan suci ekspansi, zkEVM memiliki dampak penting pada pengalaman penerapan kontrak pengembang Menghadapi berbagai proyek pembatalan ZK, bagaimana sebaiknya pengembang memilih?
Artikel ini mengkompilasi ringkasan tweet dari Jarrod Watts. Dia adalah insinyur hubungan pengembang di Polygon. Dengan menerapkan kontrak pintar (1 kontrak pintar Soliditas dan kontrak NFT) pada proyek rollup ZK populer saat ini, dia mengukur kinerja zkEVM dari proyek seperti Taiko, Polygon, Linea, Scroll, dan Era ZkSync, dan membandingkan kelebihan dan kekurangan masing-masing dan waktu kredit L2 ke L1 untuk memberikan panduan pengujian praktis bagi pengembang yang ingin mencoba menerapkan kontrak dua lapis.
Berikut ini adalah kompilasi teks asli dari BlockBeats:
**Apa itu ZK-EVM dan mengapa kita membutuhkannya? ****Sebelum mengartikan apa itu ZK-EVM, mari kita lihat mengapa ZK-EVM dibutuhkan? **
ZK Rollups menghadirkan skalabilitas dan kinerja tinggi ke Ethereum. Di sisi lain, solusi ZK Rollups tidak kompatibel dengan EVM (Ethereum Virtual Machine), yang berarti bahwa solusi ZK Rollups hanya dapat mendukung operasi terbatas, termasuk transfer, pencetakan, atau pembakaran, dan alat seperti dompet harus dikembangkan untuk pengguna.
Oleh karena itu, kami memerlukan ZK Rollup yang kompatibel dengan EVM, dan untuk ini, berbagai perusahaan telah mengembangkan ZK-EVM mereka sendiri.
ZK-EVM, atau Zero-Knowledge EVM, adalah implementasi Ethereum Virtual Machine yang kompatibel dengan Zero-Knowledge Proofs.
Fungsi utama ZK-EVM adalah untuk memproses transaksi batch pada Ethereum L2 (lapisan 2), dan mengirimkan "bukti validitas" dari transaksi batch kembali ke Ethereum L1. Secara umum, zkEVM dapat melakukan segalanya untuk mainnet Ethereum. Ini mengkompilasi kode yang dapat dibaca manusia dalam Solidity atau Vyper menjadi bytecode, mengeksekusi kontrak cerdas, dan memperbarui status blockchain.
Kesulitan dalam membangun ZK Rollups yang kompatibel dengan EVM adalah bahwa Ethereum pada awalnya tidak dirancang dengan mempertimbangkan keramahan ZK. Ini berarti bahwa bukti tanpa pengetahuan membutuhkan banyak sumber daya untuk dihitung.
Di antara mereka, beberapa opcode kode operasi EVM sangat "tidak ramah ZK", yang mengarah ke produk ZK-EVM yang akhirnya dirancang oleh berbagai perusahaan dengan kompatibilitas EVM yang berbeda.
** Apa itu opcode, bytecode, dan EVM? **
Sudah waktunya untuk sains populer, apa itu opcode, bytecode, dan EVM?
Pertama-tama, EVM adalah lingkungan operasi untuk smart contract di Ethereum. Ethereum menyimpan apa yang disebut "status mesin" dalam struktur data pohon tri, yang berubah setelah setiap transaksi dalam blok dijalankan.
EVM bersifat deterministik, artinya menjalankan serangkaian instruksi pada keadaan tertentu akan menghasilkan keadaan baru yang sama.
Menurut dokumentasi pengembang Ethereum, status lama yang valid (S) + satu set transaksi valid (T) baru, Ethereum akan menghasilkan status output baru yang valid S'
Anda bisa menganggapnya sebagai permainan seperti catur. Ethereum seperti papan catur, di mana terdapat berbagai status permainan, dan di Ethereum, kemungkinan keadaan ini tidak terbatas. Permainan papan memiliki aturan pergerakan khusus mereka sendiri (bandingkan transaksi di Ethereum) dan memiliki batasan khusus tentang tindakan mana yang dapat dilakukan pada bagian mana. Gamer mengambil tindakan (dibandingkan dengan pengguna yang mengirimkan transaksi di Ethereum), dan game (Ethereum) merumuskan dan menegakkan aturan, menghasilkan status papan baru (Ethereum global) setelah setiap putaran (sesuai dengan waktu pemblokiran).
Untuk Ethereum atau pengembangan blockchain yang kompatibel dengan EVM, kontrak pintar perlu ditulis dalam Solidity. Soliditas adalah bahasa tingkat tinggi yang dirancang agar dapat dibaca manusia sehingga pengembang dapat fokus pada penulisan kode daripada register, alamat memori, tumpukan panggilan, dan abstraksi lainnya.
Namun, EVM tidak dapat membaca Solidity. Alih-alih, ia hanya memahami "bytecode", yang merupakan kode tingkat rendah biner yang dapat dibaca mesin.
Dalam EVM, "bytecode" (bytecode) mewakili serangkaian "opcodes" (opcodes) EVM, opcodes adalah instruksi program yang dapat dibaca tingkat rendah, mewakili operasi spesifik yang dapat dilakukan di EVM.
Karena bahasa tingkat tinggi seperti Solidity tidak dapat langsung dieksekusi di EVM, kami memerlukan cara untuk mengonversi kode smart contract dari bytecode opcode bahasa Solidity yang dapat dibaca manusia untuk dieksekusi oleh EVM, yang merupakan tugas kompiler.
Setelah mengkompilasi kode Soliditas dengan kompiler Remix IDE, Anda dapat melihat opcode spesifik yang diubah menjadi smart contract, dan melihat bytecode yang dihasilkan dari opcode.
Berikut opcodenya:
Berikut ini adalah bytecode yang sesuai dengan opcode di atas.
Dengan menerjemahkan bytecode menjadi opcode, dimungkinkan untuk mengetahui instruksi eksekusi mana yang terkandung dalam bytecode.
Karena sulitnya bukti ZK untuk beberapa opcode spesifik di EVM, ZK-EVM dengan tingkat kompatibilitas yang berbeda telah muncul di pasaran.Di antara mereka, beberapa set opcode ZK-EVM dan EVM benar-benar setara, beberapa telah memodifikasi sebagian beberapa opcode EVM, dan satu memiliki bytecode yang sama sekali berbeda.
Jenis ZK-EVM yang berbeda
Karena desain Ethereum pada awalnya tidak mempertimbangkan keramahan ZK, secara teori, semakin dekat dengan desain Ethereum, semakin sulit dan memakan waktu untuk menghasilkan bukti ZK. Pada Agustus 2022, Vitalik, pendiri Ethereum, menerbitkan postingan blog "Dengarkan interpretasi Vitalik tentang masa depan berbagai jenis ZK-EVM", mengklasifikasikan berbagai ZK-EVM.
Dalam artikel ini, Vitalik mengklasifikasikan berbagai ZK-EVM berdasarkan dua dimensi kompatibilitas EVM dan waktu pembuatan bukti ZK (kinerja). Vitalik mencantumkan empat jenis (semi) dalam bagan ini, dan semua produk ZK-EVM yang saat ini ada di pasaran dapat disertakan.
1, tipe pertama ZK-EVM benar-benar setara dengan Ethereum, mereka tidak mengubah bagian apa pun dari sistem Ethereum, dan lebih mudah menghasilkan bukti. Dalam sistem seperti itu, bukti ZK membutuhkan waktu lama (beberapa jam) untuk dihasilkan. Taiko termasuk jenis ZK-EVM.
Tipe kedua benar-benar setara dengan EVM, tetapi mengubah beberapa representasi internal yang berbeda, seperti metode penyimpanan status rantai, untuk mempercepat waktu pembuatan bukti ZK. Saat ini, tidak ada ZK-EVM jenis ini di pasaran; namun, Polygon, Linea, dan Scroll bekerja ke arah ini.
2.5, antara tipe 2 dan tipe 3 ada juga tipe 2.5. Jenis ini sama persis dengan EVM, kecuali bahwa biaya bahan bakar untuk jenis operasi tertentu dinaikkan menjadi "secara signifikan mengurangi waktu pembuktian kasus terburuk". Saat ini, tidak ada ZK-EVM jenis ini di pasaran, namun proyek ZK-EVM baru bernama Kakarot sedang mengerjakannya.
Tipe 3 hampir setara dengan EVM, tetapi dengan beberapa kompromi dalam akurasi yang setara untuk lebih mengurangi waktu pembuktian dan menyederhanakan pengembangan EVM. Saat ini, Polygon, Linea, dan Scroll termasuk jenis ini.
Tipe 4 setara dengan bahasa tingkat tinggi ZK-EVM. Tipe ZK-EVM ini mengkompilasi kode sumber kontrak pintar ke dalam bahasa yang ramah ZK-SNARK, yang akan memberikan waktu pembuktian lebih cepat dan kerugian terkait seperti ketidakcocokan dan keterbatasan. Saat ini, Era zkSync termasuk dalam kategori ini.
Perlu dicatat bahwa waktu yang dibutuhkan untuk mengirimkan bukti validitas kembali ke Ethereum L1 adalah waktu yang dibutuhkan pengguna untuk mentransfer dana kembali ke L1. Jika pembuatan bukti membutuhkan waktu berjam-jam, pengguna tersebut tidak dapat menjembatani dana kembali ke L1 selama jam tersebut.
Pertarungan praktis: Evaluasi pengembangan Era Taiko, Polygon, Linea, Scroll, dan ZkSync
Setelah meninjau pengetahuan teoretis, berikut ini adalah bagian pertempuran yang sebenarnya.
Dengan menerapkan kontrak pintar Solidity dan kontrak NFT masing-masing pada Taiko, Polygon, Linea, Scroll, dan ZkSync Era, kinerja dan cacat yang sesuai dari masing-masing ZK-EVM diuji. Penulis juga memberikan sumber daya pengembang yang tersedia, dan evaluasi terutama dilakukan dari dua dimensi pengalaman pengembang dan waktu penghubung dari L2 ke L1.
Taiko ZK-EVM
Taiko adalah ZK-EVM tipe 1 dan saat ini sedang dalam tahap testnet. Taiko menangani persis apa yang dilakukan Ethereum; menggunakan fungsi hash yang sama, harga bahan bakar, algoritme enkripsi, dll.
Proses operasi: menerapkan smart contract Solidity sederhana dan menerapkan koleksi NFT sederhana dengan menggunakan proxy ThirdWeb.
Kelemahan dari ZK-EVM Tipe 1 adalah butuh waktu lama untuk menghasilkan bukti ketika semuanya persis sama seperti di Ethereum (bahkan secara internal). Ini berarti dibutuhkan beberapa jam bagi pengguna untuk menjembatani ETH dari Taiko L2 kembali ke Ethereum L1 (seperti yang ditunjukkan di bawah).
Jalur ZK-EVM
Linea termasuk tipe 3 ZK-EVM, dan Linea belum dapat membuktikan semua opcode atau prekompilasi; itu mewakili keadaan internal rantai yang berbeda dari Ethereum, seperti menggunakan fungsi hash yang berbeda.
Bytecode yang digunakan sama dengan Ethereum.
Proses penerapannya hampir mulus, membuatnya mudah untuk diterapkan dan berinteraksi dengan kedua smart contract. Ini adalah perilaku yang sama dengan Ethereum; alat dan dompet yang ada dapat digunakan untuk menerapkan kontrak pintar, berinteraksi dengannya, membuat NFT, dll.
Pada saat penulisan artikel ini, Linea belum meluncurkan interface front-end bridge. Oleh karena itu, hanya fungsi smart contract yang dijembatani yang dapat dipanggil secara langsung.
Menurut dokumentasi Linea, jembatan ETH L2 ke L1 biasanya memakan waktu sekitar 15 menit, tetapi dalam kasus ini butuh waktu sekitar beberapa jam.
Poligon ZK-EVM
Polygon ZK-EVM milik Type 3 ZK-EVM dan telah meluncurkan mainnet sejak akhir Maret tahun ini.
Dokumentasi resmi Polygon zkEVM mencantumkan semua perbedaan saat ini antara EVM dan zkEVM.
Men-deploy bytecode di Polygon zkEVM sama dengan Ethereum, yang membuat penerapan dan interaksi dengan smart contract menjadi sangat sederhana. Vitalik pernah berkata, "Polygon zkEVM memiliki desain yang unik, dan mereka menggunakan ZK untuk memverifikasi bahasa internal mereka sendiri yang disebut zkASM".
Tim teknik Polygon menyatakan bahwa selain untuk meningkatkan pembuatan bukti dan waktu penarikan, prakompilasi yang tersisa akan diselesaikan sesegera mungkin di masa mendatang, dengan tujuan menjadi Tipe 2 dalam diagram Vitalik.
Dalam kasus penerapan ini, penghubungan mainnet zkEVM berjalan lancar; proses penghubungan L2 -> L1 memakan waktu sekitar 1 jam.
Menggulir
Gulir milik Tipe 3 ZK-EVM dan saat ini sedang dalam tahap testnet. Gulir juga mencantumkan perbedaan antara ZK-EVM dan Ethereum EVM dalam dokumentasi resmi.
Seperti ZK-EVM Tipe 3 lainnya, proses penerapannya hampir mulus, dan kontrak pintar Solidity serta koleksi NFT mudah diterapkan dan berinteraksi. Menjembatani dana dari L2 ke L1 diperkirakan akan memakan waktu "10 menit hingga beberapa jam".
Era ZkSync
Era ZkSync milik Tipe 4 ZK-EVM. Sangat berbeda dari ZK-EVM lainnya, bytecode kontrak cerdas yang diterapkan pada zkEVM ZkSync Era berbeda dari Ethereum.
Hal ini memungkinkan Era ZkSync menyediakan fitur unik, dukungan asli untuk abstraksi Akun, yang akan menghadirkan pengalaman pengembang yang berbeda. Biasanya, sebagian besar dompet crypto hanyalah alamat standar yang dapat mengirim dan menerima dana dan berinteraksi dengan kontrak pintar. Dengan abstraksi akun, dompet crypto dapat disesuaikan dan dapat dirancang dengan cara yang lebih kompleks untuk menyediakan fungsionalitas yang lebih luas. Selain itu, zkEVM masih mengizinkan pengembang untuk menggunakan bahasa tingkat tinggi yang sama seperti Solidity.
Meskipun ZK-EVM dari ZkSync Era sangat berbeda dari EVM, ZkSync Era menyediakan serangkaian praktik dan pertimbangan terbaik untuk pengembang. Selain itu, pengembang perlu melakukan beberapa penyesuaian kecil pada proses pengembangan untuk membangun secara khusus untuk Era ZkSync.
Misalnya, dalam contoh di bawah ini, lingkungan Hardhat harus diinstal dan dikonfigurasikan dengan ekstensi zkSync khusus untuk menghasilkan bytecode yang dapat diterapkan ke Era ZK-EVM.
Kompilasi menghasilkan bytecode baru yang sama sekali berbeda dari Ethereum, yang sama sekali berbeda dari bytecode yang dihasilkan oleh ZK-EVM di atas.
Perlu dicatat bahwa ThirdWeb telah meluncurkan Era zkSync untuk memberi pengembang pengalaman penerapan yang lebih nyaman.
Sebanyak dua smart contract dikerahkan selama operasi ini, berinteraksi dengannya, dan mengirim aset dari L2 kembali ke L1. Saat ini, ada penundaan 24 jam untuk penarikan dari mainnet Era ZkSync ke Ethereum L1 untuk alasan keamanan.
Kakarot ZkEvm
Proyek lain yang didedikasikan untuk mewujudkan ZK-EVM Tipe 2.5 adalah Kakarot ZkEvm, yang menerima pembiayaan dari beberapa institusi termasuk Vitalik Buterin dan StarkWare pada bulan Juni tahun ini. Kakarot berencana untuk merilis testnet pada tahun 2023 nanti.
Kesimpulan
Untuk pengguna akhir, tidak masalah siapa yang memenangkan perlombaan, karena kemajuan solusi ZK yang kompatibel dengan EVM merupakan kemenangan besar bagi industri secara keseluruhan. Untuk berbagai pihak proyek, ini bukanlah kompetisi seperti mengeksplorasi metode yang berbeda untuk mempromosikan kemajuan seluruh industri. Vitalik bahkan memiliki "teori multi-sertifikasi". Premis dasarnya adalah bahwa Rollup yang berbeda dapat bekerja sama untuk meningkatkan keamanan Ethereum secara keseluruhan.
Pada akhirnya, semua orang ingin Ethereum berhasil. Transformasi ekspansi L2 adalah salah satu dari tiga transformasi teknis yang menurut Vitalik perlu dilakukan oleh Ethereum. Kami akan menunggu dan melihat bagaimana itu akan berkembang di masa depan.
Lihat Asli
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
ZkEVM mana yang memiliki kinerja terbaik? Tes Penerapan Kontrak Ethereum L2
Pengarang: Jarrod Watts; Kompilasi: Block Beats
Dalam perang ekspansi Ethereum, rollup Optimis sangat kompatibel atau bahkan sepenuhnya setara dengan EVM, yang mengarah pada keunggulan yang melekat pada Arbitrum dan Optimisme di jalur yang dapat diadopsi oleh pengembang. Porting kode yang mulus dari L1 ke L2 dan alat pengembangan yang kaya dapat dengan cepat menarik pengembang untuk menetap dan menerapkan serta membuat aplikasi di platform.
Sebaliknya, seri ZK lebih sulit. Karakteristik teknis yang melekat menyebabkan ZK rollup menyesuaikan mesin virtual mereka sendiri, yang berarti bahwa pihak proyek perlu melakukan lebih banyak pekerjaan untuk "menafsirkan" kode dari EVM atau bahkan mengembangkan dan menulis kode baru dari awal. Namun, beberapa proyek trek rollup ZK termasuk Taiko, Polygon, Linea, Scroll, dan Era ZkSync telah meluncurkan implementasi zkEVM mereka sendiri.
Sebagai cawan suci ekspansi, zkEVM memiliki dampak penting pada pengalaman penerapan kontrak pengembang Menghadapi berbagai proyek pembatalan ZK, bagaimana sebaiknya pengembang memilih?
Artikel ini mengkompilasi ringkasan tweet dari Jarrod Watts. Dia adalah insinyur hubungan pengembang di Polygon. Dengan menerapkan kontrak pintar (1 kontrak pintar Soliditas dan kontrak NFT) pada proyek rollup ZK populer saat ini, dia mengukur kinerja zkEVM dari proyek seperti Taiko, Polygon, Linea, Scroll, dan Era ZkSync, dan membandingkan kelebihan dan kekurangan masing-masing dan waktu kredit L2 ke L1 untuk memberikan panduan pengujian praktis bagi pengembang yang ingin mencoba menerapkan kontrak dua lapis.
Berikut ini adalah kompilasi teks asli dari BlockBeats:
**Apa itu ZK-EVM dan mengapa kita membutuhkannya? ****Sebelum mengartikan apa itu ZK-EVM, mari kita lihat mengapa ZK-EVM dibutuhkan? **
ZK Rollups menghadirkan skalabilitas dan kinerja tinggi ke Ethereum. Di sisi lain, solusi ZK Rollups tidak kompatibel dengan EVM (Ethereum Virtual Machine), yang berarti bahwa solusi ZK Rollups hanya dapat mendukung operasi terbatas, termasuk transfer, pencetakan, atau pembakaran, dan alat seperti dompet harus dikembangkan untuk pengguna.
Oleh karena itu, kami memerlukan ZK Rollup yang kompatibel dengan EVM, dan untuk ini, berbagai perusahaan telah mengembangkan ZK-EVM mereka sendiri.
ZK-EVM, atau Zero-Knowledge EVM, adalah implementasi Ethereum Virtual Machine yang kompatibel dengan Zero-Knowledge Proofs.
Fungsi utama ZK-EVM adalah untuk memproses transaksi batch pada Ethereum L2 (lapisan 2), dan mengirimkan "bukti validitas" dari transaksi batch kembali ke Ethereum L1. Secara umum, zkEVM dapat melakukan segalanya untuk mainnet Ethereum. Ini mengkompilasi kode yang dapat dibaca manusia dalam Solidity atau Vyper menjadi bytecode, mengeksekusi kontrak cerdas, dan memperbarui status blockchain.
Kesulitan dalam membangun ZK Rollups yang kompatibel dengan EVM adalah bahwa Ethereum pada awalnya tidak dirancang dengan mempertimbangkan keramahan ZK. Ini berarti bahwa bukti tanpa pengetahuan membutuhkan banyak sumber daya untuk dihitung.
Di antara mereka, beberapa opcode kode operasi EVM sangat "tidak ramah ZK", yang mengarah ke produk ZK-EVM yang akhirnya dirancang oleh berbagai perusahaan dengan kompatibilitas EVM yang berbeda.
** Apa itu opcode, bytecode, dan EVM? **
Sudah waktunya untuk sains populer, apa itu opcode, bytecode, dan EVM?
Pertama-tama, EVM adalah lingkungan operasi untuk smart contract di Ethereum. Ethereum menyimpan apa yang disebut "status mesin" dalam struktur data pohon tri, yang berubah setelah setiap transaksi dalam blok dijalankan.
EVM bersifat deterministik, artinya menjalankan serangkaian instruksi pada keadaan tertentu akan menghasilkan keadaan baru yang sama.
Menurut dokumentasi pengembang Ethereum, status lama yang valid (S) + satu set transaksi valid (T) baru, Ethereum akan menghasilkan status output baru yang valid S'
Anda bisa menganggapnya sebagai permainan seperti catur. Ethereum seperti papan catur, di mana terdapat berbagai status permainan, dan di Ethereum, kemungkinan keadaan ini tidak terbatas. Permainan papan memiliki aturan pergerakan khusus mereka sendiri (bandingkan transaksi di Ethereum) dan memiliki batasan khusus tentang tindakan mana yang dapat dilakukan pada bagian mana. Gamer mengambil tindakan (dibandingkan dengan pengguna yang mengirimkan transaksi di Ethereum), dan game (Ethereum) merumuskan dan menegakkan aturan, menghasilkan status papan baru (Ethereum global) setelah setiap putaran (sesuai dengan waktu pemblokiran).
Untuk Ethereum atau pengembangan blockchain yang kompatibel dengan EVM, kontrak pintar perlu ditulis dalam Solidity. Soliditas adalah bahasa tingkat tinggi yang dirancang agar dapat dibaca manusia sehingga pengembang dapat fokus pada penulisan kode daripada register, alamat memori, tumpukan panggilan, dan abstraksi lainnya.
Namun, EVM tidak dapat membaca Solidity. Alih-alih, ia hanya memahami "bytecode", yang merupakan kode tingkat rendah biner yang dapat dibaca mesin.
Dalam EVM, "bytecode" (bytecode) mewakili serangkaian "opcodes" (opcodes) EVM, opcodes adalah instruksi program yang dapat dibaca tingkat rendah, mewakili operasi spesifik yang dapat dilakukan di EVM.
Karena bahasa tingkat tinggi seperti Solidity tidak dapat langsung dieksekusi di EVM, kami memerlukan cara untuk mengonversi kode smart contract dari bytecode opcode bahasa Solidity yang dapat dibaca manusia untuk dieksekusi oleh EVM, yang merupakan tugas kompiler.
Setelah mengkompilasi kode Soliditas dengan kompiler Remix IDE, Anda dapat melihat opcode spesifik yang diubah menjadi smart contract, dan melihat bytecode yang dihasilkan dari opcode.
Berikut opcodenya:
Berikut ini adalah bytecode yang sesuai dengan opcode di atas.
Dengan menerjemahkan bytecode menjadi opcode, dimungkinkan untuk mengetahui instruksi eksekusi mana yang terkandung dalam bytecode.
Karena sulitnya bukti ZK untuk beberapa opcode spesifik di EVM, ZK-EVM dengan tingkat kompatibilitas yang berbeda telah muncul di pasaran.Di antara mereka, beberapa set opcode ZK-EVM dan EVM benar-benar setara, beberapa telah memodifikasi sebagian beberapa opcode EVM, dan satu memiliki bytecode yang sama sekali berbeda.
Jenis ZK-EVM yang berbeda
Karena desain Ethereum pada awalnya tidak mempertimbangkan keramahan ZK, secara teori, semakin dekat dengan desain Ethereum, semakin sulit dan memakan waktu untuk menghasilkan bukti ZK. Pada Agustus 2022, Vitalik, pendiri Ethereum, menerbitkan postingan blog "Dengarkan interpretasi Vitalik tentang masa depan berbagai jenis ZK-EVM", mengklasifikasikan berbagai ZK-EVM.
Dalam artikel ini, Vitalik mengklasifikasikan berbagai ZK-EVM berdasarkan dua dimensi kompatibilitas EVM dan waktu pembuatan bukti ZK (kinerja). Vitalik mencantumkan empat jenis (semi) dalam bagan ini, dan semua produk ZK-EVM yang saat ini ada di pasaran dapat disertakan.
2.5, antara tipe 2 dan tipe 3 ada juga tipe 2.5. Jenis ini sama persis dengan EVM, kecuali bahwa biaya bahan bakar untuk jenis operasi tertentu dinaikkan menjadi "secara signifikan mengurangi waktu pembuktian kasus terburuk". Saat ini, tidak ada ZK-EVM jenis ini di pasaran, namun proyek ZK-EVM baru bernama Kakarot sedang mengerjakannya.
Tipe 3 hampir setara dengan EVM, tetapi dengan beberapa kompromi dalam akurasi yang setara untuk lebih mengurangi waktu pembuktian dan menyederhanakan pengembangan EVM. Saat ini, Polygon, Linea, dan Scroll termasuk jenis ini.
Tipe 4 setara dengan bahasa tingkat tinggi ZK-EVM. Tipe ZK-EVM ini mengkompilasi kode sumber kontrak pintar ke dalam bahasa yang ramah ZK-SNARK, yang akan memberikan waktu pembuktian lebih cepat dan kerugian terkait seperti ketidakcocokan dan keterbatasan. Saat ini, Era zkSync termasuk dalam kategori ini.
Perlu dicatat bahwa waktu yang dibutuhkan untuk mengirimkan bukti validitas kembali ke Ethereum L1 adalah waktu yang dibutuhkan pengguna untuk mentransfer dana kembali ke L1. Jika pembuatan bukti membutuhkan waktu berjam-jam, pengguna tersebut tidak dapat menjembatani dana kembali ke L1 selama jam tersebut.
Pertarungan praktis: Evaluasi pengembangan Era Taiko, Polygon, Linea, Scroll, dan ZkSync
Setelah meninjau pengetahuan teoretis, berikut ini adalah bagian pertempuran yang sebenarnya.
Dengan menerapkan kontrak pintar Solidity dan kontrak NFT masing-masing pada Taiko, Polygon, Linea, Scroll, dan ZkSync Era, kinerja dan cacat yang sesuai dari masing-masing ZK-EVM diuji. Penulis juga memberikan sumber daya pengembang yang tersedia, dan evaluasi terutama dilakukan dari dua dimensi pengalaman pengembang dan waktu penghubung dari L2 ke L1.
Taiko ZK-EVM
Taiko adalah ZK-EVM tipe 1 dan saat ini sedang dalam tahap testnet. Taiko menangani persis apa yang dilakukan Ethereum; menggunakan fungsi hash yang sama, harga bahan bakar, algoritme enkripsi, dll.
Proses operasi: menerapkan smart contract Solidity sederhana dan menerapkan koleksi NFT sederhana dengan menggunakan proxy ThirdWeb.
Kelemahan dari ZK-EVM Tipe 1 adalah butuh waktu lama untuk menghasilkan bukti ketika semuanya persis sama seperti di Ethereum (bahkan secara internal). Ini berarti dibutuhkan beberapa jam bagi pengguna untuk menjembatani ETH dari Taiko L2 kembali ke Ethereum L1 (seperti yang ditunjukkan di bawah).
Jalur ZK-EVM
Linea termasuk tipe 3 ZK-EVM, dan Linea belum dapat membuktikan semua opcode atau prekompilasi; itu mewakili keadaan internal rantai yang berbeda dari Ethereum, seperti menggunakan fungsi hash yang berbeda.
Bytecode yang digunakan sama dengan Ethereum.
Proses penerapannya hampir mulus, membuatnya mudah untuk diterapkan dan berinteraksi dengan kedua smart contract. Ini adalah perilaku yang sama dengan Ethereum; alat dan dompet yang ada dapat digunakan untuk menerapkan kontrak pintar, berinteraksi dengannya, membuat NFT, dll.
Pada saat penulisan artikel ini, Linea belum meluncurkan interface front-end bridge. Oleh karena itu, hanya fungsi smart contract yang dijembatani yang dapat dipanggil secara langsung.
Menurut dokumentasi Linea, jembatan ETH L2 ke L1 biasanya memakan waktu sekitar 15 menit, tetapi dalam kasus ini butuh waktu sekitar beberapa jam.
Poligon ZK-EVM
Polygon ZK-EVM milik Type 3 ZK-EVM dan telah meluncurkan mainnet sejak akhir Maret tahun ini.
Dokumentasi resmi Polygon zkEVM mencantumkan semua perbedaan saat ini antara EVM dan zkEVM.
Tim teknik Polygon menyatakan bahwa selain untuk meningkatkan pembuatan bukti dan waktu penarikan, prakompilasi yang tersisa akan diselesaikan sesegera mungkin di masa mendatang, dengan tujuan menjadi Tipe 2 dalam diagram Vitalik.
Dalam kasus penerapan ini, penghubungan mainnet zkEVM berjalan lancar; proses penghubungan L2 -> L1 memakan waktu sekitar 1 jam.
Menggulir
Gulir milik Tipe 3 ZK-EVM dan saat ini sedang dalam tahap testnet. Gulir juga mencantumkan perbedaan antara ZK-EVM dan Ethereum EVM dalam dokumentasi resmi.
Era ZkSync
Era ZkSync milik Tipe 4 ZK-EVM. Sangat berbeda dari ZK-EVM lainnya, bytecode kontrak cerdas yang diterapkan pada zkEVM ZkSync Era berbeda dari Ethereum.
Hal ini memungkinkan Era ZkSync menyediakan fitur unik, dukungan asli untuk abstraksi Akun, yang akan menghadirkan pengalaman pengembang yang berbeda. Biasanya, sebagian besar dompet crypto hanyalah alamat standar yang dapat mengirim dan menerima dana dan berinteraksi dengan kontrak pintar. Dengan abstraksi akun, dompet crypto dapat disesuaikan dan dapat dirancang dengan cara yang lebih kompleks untuk menyediakan fungsionalitas yang lebih luas. Selain itu, zkEVM masih mengizinkan pengembang untuk menggunakan bahasa tingkat tinggi yang sama seperti Solidity.
Meskipun ZK-EVM dari ZkSync Era sangat berbeda dari EVM, ZkSync Era menyediakan serangkaian praktik dan pertimbangan terbaik untuk pengembang. Selain itu, pengembang perlu melakukan beberapa penyesuaian kecil pada proses pengembangan untuk membangun secara khusus untuk Era ZkSync.
Misalnya, dalam contoh di bawah ini, lingkungan Hardhat harus diinstal dan dikonfigurasikan dengan ekstensi zkSync khusus untuk menghasilkan bytecode yang dapat diterapkan ke Era ZK-EVM.
Kompilasi menghasilkan bytecode baru yang sama sekali berbeda dari Ethereum, yang sama sekali berbeda dari bytecode yang dihasilkan oleh ZK-EVM di atas.
Perlu dicatat bahwa ThirdWeb telah meluncurkan Era zkSync untuk memberi pengembang pengalaman penerapan yang lebih nyaman.
Sebanyak dua smart contract dikerahkan selama operasi ini, berinteraksi dengannya, dan mengirim aset dari L2 kembali ke L1. Saat ini, ada penundaan 24 jam untuk penarikan dari mainnet Era ZkSync ke Ethereum L1 untuk alasan keamanan.
Kakarot ZkEvm
Proyek lain yang didedikasikan untuk mewujudkan ZK-EVM Tipe 2.5 adalah Kakarot ZkEvm, yang menerima pembiayaan dari beberapa institusi termasuk Vitalik Buterin dan StarkWare pada bulan Juni tahun ini. Kakarot berencana untuk merilis testnet pada tahun 2023 nanti.
Kesimpulan
Untuk pengguna akhir, tidak masalah siapa yang memenangkan perlombaan, karena kemajuan solusi ZK yang kompatibel dengan EVM merupakan kemenangan besar bagi industri secara keseluruhan. Untuk berbagai pihak proyek, ini bukanlah kompetisi seperti mengeksplorasi metode yang berbeda untuk mempromosikan kemajuan seluruh industri. Vitalik bahkan memiliki "teori multi-sertifikasi". Premis dasarnya adalah bahwa Rollup yang berbeda dapat bekerja sama untuk meningkatkan keamanan Ethereum secara keseluruhan.
Pada akhirnya, semua orang ingin Ethereum berhasil. Transformasi ekspansi L2 adalah salah satu dari tiga transformasi teknis yang menurut Vitalik perlu dilakukan oleh Ethereum. Kami akan menunggu dan melihat bagaimana itu akan berkembang di masa depan.