Ditulis oleh: Filippo Armani

Disusun oleh: Shenchao TechFlow

 

ZK Rollup, juga dikenal sebagai Validity Rollup, adalah cara revolusioner untuk menskalakan Ethereum yang memungkinkan transaksi diproses secara off-chain dan digabungkan sebagai satu transaksi terkompresi di rantai utama. Proses ini meningkatkan hasil transaksi dan mengurangi biaya sekaligus menjaga keamanan dan desentralisasi rantai utama.

 

Salah satu ciri yang membedakan ZK Rollups adalah mereka memanfaatkan Zero-Knowledge Proofs (ZKP), sejenis bukti kriptografi yang memungkinkan satu pihak (pemeriksa) membuktikan kepada pihak lain (verifikator) ​​bahwa suatu pernyataan benar tanpa mengungkapkan informasi tambahan apa pun. Dalam konteks ZK Rollups, ZKP memastikan integritas transaksi off-chain, memungkinkan pembukti menunjukkan validitas kumpulan transaksi tanpa mengungkapkan rincian spesifik transaksi atau mengharuskan validator memeriksa semua transaksi sebelum menerima status baru.

 

ZK Rollup menawarkan tingkat keamanan yang lebih tinggi daripada Optimistic Rollup karena mereka tidak memperkenalkan asumsi kepercayaan tambahan pada Ethereum dan mengandalkan Ethereum dan matematika untuk keamanan. Rollup Optimis mengandalkan teori permainan dan asumsi 1/n node jujur, yang berarti bahwa untuk setiap batch transaksi, selalu ada setidaknya satu node jujur ​​yang dapat menantang transaksi berbahaya.

 

Di sisi lain, operator ZK Rollups, juga dikenal sebagai sequencer dan provers, tidak memiliki peluang untuk membahayakan dana pengguna, karena peran mereka "hanya" mengumpulkan kumpulan transaksi dan menghasilkan bukti ZK, sementara dana pengguna tetap ada. Di Ethereum L1, Ethereum pada akhirnya bertanggung jawab untuk memverifikasi bukti ZK yang dikirimkan oleh L2 dan menyelesaikan transaksi yang mendasarinya. Bukti validitas dihasilkan dengan melakukan perhitungan polinomial yang kompleks pada data keadaan. Jika data negara tidak valid, bukti validitas tidak dapat dihasilkan. Verifikator pada L1 akan menginput data keadaan untuk memverifikasi bukti keabsahan, sehingga jika pembukti mengubah data keadaan maka verifikator tidak akan menerima bukti tersebut.

 

ZK Rollup juga memiliki dua keunggulan dibandingkan Optimistic Rollup. Pertama, mereka mempercepat penyelesaian karena transaksi dikonfirmasi di Ethereum segera setelah bukti validitas diberikan; sedangkan Optimistic Rollup memerlukan waktu menunggu seminggu untuk memastikan tidak ada tantangan sebelum transaksi dianggap sah dan final. Kedua, terkait ketersediaan data, ZK Rollup lebih efisien karena hanya perbedaan negara saja yang perlu dipublikasikan karena semua transaksi tidak perlu direkonstruksi untuk verifikasi, sebaliknya, Optimistic Rollup memerlukan data lengkap untuk dipublikasikan sehingga siapa pun dapat merekonstruksi transaksi. dan akhirnya menantang mereka.

 

Akibatnya, ZK Rollup menggunakan bandwidth data yang jauh lebih sedikit di Ethereum (sumber daya langka yang harus dibagikan oleh semua Rollup, terlepas dari sistem mana yang mereka gunakan untuk melakukan transaksi, termasuk sirkuit ZK), memungkinkan pengguna mendapatkan biaya yang lebih murah (atau bahkan tanpa biaya).

 

Zk-rollup dianggap sebagai solusi utama untuk skalabilitas Ethereum, tetapi karena Ethereum Virtual Machine (EVM) tidak dirancang untuk mendukung sirkuit ZK, penerapannya menjadi sulit. Untuk mengatasi masalah ini, banyak organisasi dan peneliti telah mencoba membuat mesin virtual berkemampuan Rollup yang disebut zkEVM yang dapat menjalankan kontrak pintar dengan cara yang kompatibel dengan komputasi tanpa bukti pengetahuan.

 

Analisis paling komprehensif dari berbagai upaya ini dapat ditemukan di postingan blog Vitalik, di mana ia menguraikan empat jenis zkEVM berdasarkan kompatibilitas dengan Ethereum. Perlu dicatat bahwa semakin dekat zkEVM dengan fungsionalitas Ethereum, semakin lambat dan mahal biaya untuk menghasilkan bukti Zk. Di sisi lain, jika blockchain atau Rollup lebih sesuai dengan spesifikasi dan standar Ethereum, maka akan lebih mudah bagi pengembang untuk membangun aplikasi di dalamnya dan berintegrasi ke dalam ekosistem Ethereum. Singkatnya, blockchain yang sangat kompatibel dengan Ethereum mungkin memiliki keunggulan kompetitif.

 

Kategori 1: Rollup ZK yang sepenuhnya setara dengan Ethereum, mereplikasi Ethereum dengan tepat di semua bagian termasuk hash, pohon status, pohon transaksi, prakompilasi, atau logika konsensus lainnya. Sejauh ini, belum ada zkEVM yang mencapai kesetaraan dengan Ethereum.

 

Kategori 2: Rollup Zk yang sepenuhnya setara dengan EVM berusaha untuk setara dengan EVM, namun tidak sepenuhnya setara dengan Ethereum. Mereka sepenuhnya kompatibel dengan aplikasi yang ada, tetapi memiliki beberapa modifikasi kecil pada Ethereum untuk membuat pengembangan lebih mudah dan bukti dihasilkan lebih cepat. Scroll dan zkEVM Polygon secara teoritis termasuk dalam kategori ini; dalam praktiknya, mereka saat ini termasuk dalam kelompok ketiga.

 

Kategori 3: Hampir setara dengan EVM, mengorbankan lebih banyak elemen dan kesetaraan untuk mempercepat pembuatan bukti. Polygon zkEVM dan Scroll saat ini termasuk dalam kategori ini. Kategori ini seringkali menjadi batu loncatan menuju kategori kedua.

 

Kategori 4: Kesetaraan bahasa tingkat tinggi, artinya keduanya menerima kontrak pintar yang ditulis dalam Soliditas dan kemudian mengubahnya menjadi bahasa khusus lain yang siap ZK. zkSync dan StarkNet termasuk dalam kategori ini, meskipun zkSync mungkin menambah kompatibilitas dengan bytecode EVM seiring waktu dan akhirnya berpindah ke tipe yang lebih tinggi.

 

Meskipun klasifikasi yang diajukan oleh Vitalik saat ini merupakan yang paling populer dan tidak memihak, terdapat metode klasifikasi lain. Immutable, L2 berbasis StarkWare khusus untuk NFT, memberikan kategorisasi bermanfaat berikut di salah satu postingan blognya:

 

 

Kategori-kategori ini, dibandingkan dengan klasifikasi Vitalik, lebih jelas didasarkan pada zkEVM yang ada yang mencapai kompatibilitas atau kesetaraannya dengan Ethereum pada tingkat tumpukan tertentu (bahasa tingkat tinggi, bytecode, atau lingkungan runtime).

 

Kompatibel dengan soliditas. Kompatibilitas dengan Ethereum diterapkan pada tingkat bahasa tingkat tinggi Soliditas, yang berarti pengembang dapat terus menulis kontrak pintar dalam bahasa yang biasa mereka gunakan di Ethereum. Namun, Rollup ini segera mengubah Soliditas menjadi representasi perantara, yang kemudian dikompilasi dalam bytecode dan dieksekusi di lingkungan kustomnya. Secara khusus, L2 ini menggunakan transpiler untuk mengubah kode Soliditas menjadi kode yang dapat dibaca untuk VM kustom (Kairo untuk StarkWare, LLVM-IR untuk zkSync). Transpiler ini tidak mendukung fitur Soliditas tertentu, sehingga pengembang mungkin perlu menyesuaikan kontrak pintar mereka. Misalnya: zkSync dan StarkNet.

 

Kompatibel dengan EVM. Dari tingkat bahasa, Rollup ini kompatibel dengan EVM, tetapi mereka memiliki bytecode sendiri, yang berarti Soliditas dapat dikompilasi langsung menjadi opcode/bytecode EVM dan kemudian dikonversi ke kata-kata khusus sebelum kode bagian runtime VM khusus. Faktanya, Rollup ini kompatibel dengan sebagian besar program Ethereum, namun beberapa aplikasi mungkin memerlukan penulisan ulang. Selain itu, beberapa fitur bytecode (seperti prakompilasi) tidak didukung. Misalnya: Poligon zkEVM.

 

Setara dengan EVM. Rollup ini membuat sirkuit verifikasi zk yang dapat membaca opcode dan bytecode EVM secara langsung, meskipun VM itu sendiri berbeda dengan EVM. Rollup ini sepenuhnya kompatibel dengan aplikasi yang ada, namun beberapa modifikasi kecil dapat dilakukan pada Ethereum untuk membuat pengembangan lebih mudah dan pembuatan bukti lebih cepat. Misalnya: Gulir.

 

Setara dengan Ethereum. Ini berarti mereplikasi Ethereum pada semua komponennya, mirip dengan cara Polygon melakukannya. Sejauh ini, tidak ada zk Rollup yang termasuk dalam kategori ini.

 

Menggabungkan kerangka kerja ini dengan yang diusulkan oleh Immutable dan menambahkan beberapa informasi tambahan, bagan berikut dapat diuraikan, menyoroti beberapa perbedaan desain dan persamaan yang perlu dipertimbangkan ketika membandingkan implementasi zkEVM yang berbeda sebelum data kinerja tersedia:

 

 

zkSync 2.0 (baru saja berganti nama menjadi zkSync Era sebelum peluncuran mainnet) adalah solusi penskalaan untuk jaringan Ethereum yang sepenuhnya kompatibel dengan bahasa pemrograman Solidity. Dengan zkSync, pengguna dapat memilih dari dua jenis ketersediaan data: zkSync Rollup dan zkSync Porter. Yang pertama menerbitkan data langsung di Ethereum, menjadikannya seaman Ethereum L1, sedangkan yang kedua menyimpan data secara off-chain, menghasilkan transaksi yang lebih cepat dan lebih murah, namun dengan tingkat keamanan yang lebih rendah.

 

zkSync kompatibel dengan EVM karena dapat mengonversi kode kontrak pintar yang ditulis dalam Solidity ke Yul, mengonversi Yul ke LLVM-IR, lalu mengkompilasi ulangnya menjadi byte khusus yang kompatibel dengan sirkuit yang dirancang khusus untuk digunakan dengan kumpulan kode EVM zkSync. Meskipun memerlukan langkah perantara, hal ini juga memungkinkan penambahan fungsionalitas non-EVM lainnya, seperti Abstraksi Akun. Selain itu, perusahaan zkSync, Matter Labs, berencana untuk secara bertahap membuatnya lebih kompatibel dengan toolkit Ethereum dan sedang bersiap untuk meluncurkan prototipe tiga lapis pertamanya, zkSync Opportunity, di bidang skalabilitas dan interoperabilitas, sebagai bagian dari ambisinya untuk Uji rilis online.

 

Pada saat penulisan, zkSync Era baru saja diluncurkan, jadi masih terlalu dini untuk mengomentari kinerjanya. zkSync 1.0 (sekarang disebut zkSync Lite), yang hanya mendukung transaksi sederhana, adalah salah satu zk rollup terbesar. Menurut statistik TVL, lebih dari 83 juta dolar AS telah dikunci dan volume transaksi kumulatif telah melampaui 19 juta, sedangkan TVL StarkNet hanya melebihi 19 juta dolar AS, volume transaksi kumulatif adalah 4 juta.

 

StarkNet adalah zk-rollup yang sesuai dengan Tipe 4/Soliditas yang menggunakan jenis bukti tanpa pengetahuan berbeda yang disebut STARK (Argumen Pengetahuan Transparan yang Dapat Diukur) untuk memastikan integritas transaksi off-chain. STARK dianggap lebih efisien dan terukur dibandingkan SNARK, namun mungkin memerlukan pengaturan teknis yang lebih rumit.

 

Meskipun StarkNet juga mendukung kontrak pintar, kemampuannya relatif kecil karena penggunaan STARK dan fakta bahwa kontrak StarkNet dan OS StarkNet ditulis dalam bahasa Kairo. Untuk mempermudah pengembangan, StarkWare baru-baru ini meningkatkan ke Cairo 1.0, yang mengemulasi Rust. Seperti Era zkSync, StarkNet dapat diklasifikasikan sebagai "Kompatibel dengan Soliditas" karena tidak menjalankan program dalam EVM, melainkan membuat VM yang benar-benar baru dan dibuat khusus serta menggunakan bytecode khusus. StarkWare menggunakan penerjemah Warp untuk mengubah kode Soliditas menjadi bytecode VM Kairo.

 

Namun, tidak seperti Era zkSync dan implementasi zkEVM lainnya, tim StarkNet tidak bertujuan untuk kompatibel dengan EVM atau komponen Ethereum lainnya, melainkan bertujuan untuk membuat VM StarkNet seefisien mungkin dengan meluncurkan API klien khusus, pustaka JavaScript, dan sistem dompet, yang akan memaksa alat yang kompatibel dengan Ethereum untuk menambahkan dukungan StarkNet secara manual. Meskipun Cairo 1.0 juga memperkenalkan Sierra - Representasi Menengah Aman - sebagai lapisan representasi perantara baru antara bytecode Kairo 1.0 dan Kairo, penerjemah Warp tidak mendukung beberapa fitur Soliditas dan masih jauh dari cocok dengan kompatibilitas EVM dari Era zkSync. Perjalanan masih panjang .

 

Polygon zkEVM adalah zk-rollup yang menggunakan bahasa khusus, zkASM, untuk menafsirkan kode zkEVM dan memverifikasi eksekusi kontrak pintar di lingkungan runtime non-EVM. Proyek ini dimulai pada tahun 2021 dengan akuisisi Hermez Network senilai $250 juta untuk mengembangkan sistem setara EVM yang menggabungkan keamanan dan efisiensi STARK dan SNARK. Meskipun STARK digunakan untuk menghasilkan bukti validitas status transaksi, SNARK digunakan untuk mengevaluasi kebenaran bukti STARK. Kombinasi solusi ini memungkinkan keamanan, kecepatan, dan biaya transaksi rendah.

 

Pada bulan Juli 2022, Polygon mengumumkan bahwa Polygon Hermez akan berganti nama menjadi Polygon zkEVM, yang baru saja diluncurkan pada saat penulisan. Versi testnet terbaru dari Polygon zkEVM memperkenalkan fungsionalitas rekursif, memungkinkan satu bukti validitas ZK digunakan untuk memverifikasi kumpulan bukti ZK lainnya, di mana setiap bukti dapat memverifikasi beberapa transaksi. Fitur ini didukung oleh Plonky2, SNARK rekursif yang 100 kali lebih cepat dibandingkan alternatif yang ada dan kompatibel dengan Ethereum itu sendiri.

 

Selain Polygon zkEVM, Polygon juga mengembangkan Polygon Avail, sebuah blockchain yang dioptimalkan hanya untuk ketersediaan data. Jaringan ini tidak memiliki izin, memungkinkan siapa pun untuk bergabung sebagai validator, dan tidak seperti DAC (Komite Ketersediaan Data) yang ada, jaringan ini akan memiliki ratusan node yang berkolaborasi untuk memberikan keamanan jaringan. Avail akan bekerja berpasangan dengan Polygon Hermez (Rollup), mengunggah data status dari Hermez alih-alih menerbitkannya di Ethereum, memberikan solusi antara Validium dan Rollup.

 

Meskipun beberapa ahli mencatat bahwa spesifikasi yang disediakan oleh Polygon lebih baik digambarkan sebagai kompatibilitas EVM, tim bekerja keras untuk menciptakan solusi pertama yang sepenuhnya setara dengan EVM.

 

Scroll adalah zk-rollup setara EVM yang dikembangkan oleh tim Scroll bekerja sama dengan grup PSE (Privacy and Scaling Explorations) dari Ethereum Foundation. Saat ini sedang dalam tahap testnet Pra-Alpha dan bertujuan untuk bersaing dengan Ethereum Virtual di tingkat bytecode. Sepenuhnya kompatibel dengan EVM. Ini berarti pengembang dapat membuat kontrak pintar menggunakan bahasa apa pun yang kompatibel dengan EVM dan menerapkannya ke Scroll. Meskipun Scroll saat ini tidak mendukung opcode EVM, ada rencana untuk melakukannya dengan membuat pemetaan opcode 1:1 dan menerima opcode EVM secara langsung tanpa kompiler.

 

Arsitektur Scroll mencakup node serialisasi terpusat dan jaringan pengesahan terdesentralisasi. Node serialisasi terpusat bertanggung jawab untuk memesan transaksi, membuat blok, dan mengirimkan data transaksi sebagai data panggilan ke kontrak Rollup di Ethereum untuk ketersediaan data. Scroll berencana untuk mendesentralisasikan node serialisasi secara bertahap. Di sisi lain, generator bukti terdesentralisasi yang disebut Roller menghasilkan bukti dan menerbitkannya di jaringan L1, memanfaatkan daya komputasi terdistribusi. Roller dipilih secara acak, dan beberapa bukti dari blok yang berbeda dapat dihasilkan secara paralel pada Roller yang berbeda untuk meningkatkan kecepatan.

 

*Meskipun saat ini hanya mendukung ketersediaan data on-chain, desain asli Scroll juga menyertakan mode Validium.

 

Memang benar, Scroll dan Polygon menggunakan pendekatan tingkat bytecode untuk membangun zkEVM mereka. Pendekatan ini sepenuhnya menghilangkan langkah penerjemahan, artinya zkEVM ini tidak mengubah kode Soliditas ke bahasa lain sebelum mengkompilasi dan menafsirkannya. Namun, meskipun satu-satunya perbedaan antara Scroll dan Ethereum adalah lingkungan runtime, Polygon membuat VM khusus, mengoptimalkannya, dan kemudian mengubah bytecode EVM menjadi bytecode untuk VM tersebut. Tidak seperti Scroll, runtime Polygon ("zkExecutor") menjalankan opcode "zkASM" khusus (opcode mikro dalam diagram) alih-alih opcode EVM untuk mengoptimalkan interpretasi EVM (yaitu mengurangi jumlah batasan alih-alih membuktikan EVM secara langsung). Polygon zkEVM mungkin tidak 100% kompatibel dengan kode Soliditas, alat, dan aplikasi, meskipun sebagian besar kompatibel.

 

Meskipun ini adalah proyek yang paling terlihat berfokus pada peluncuran implementasi zkEVM untuk tujuan umum, proyek khusus aplikasi lainnya juga menggunakan teknologi zk dalam praktiknya.

 

Looping adalah zk-rollup khusus aplikasi yang digunakan untuk mendukung protokol pertukaran terdesentralisasi (DEX). Loopring juga merupakan platform yang memungkinkan siapa pun membuat dex menggunakan bukti zk. Immutable X adalah zk-rollup khusus aplikasi lainnya yang dibangun di StarkWare untuk perdagangan dan permainan NFT. Aztec adalah zk-rollup berbasis Ethereum yang berfokus pada privasi yang mengenkripsi data untuk menjaga transparansi data dan ketersediaan protokol sekaligus melindungi privasi pengguna. Selain itu, Aztec menemukan sistem bukti PLONK, yang juga digunakan oleh zkSync dan proyek lainnya.

 

X yang tidak dapat diubah, Sorare, rhino.fi, ApeX, dYdX dan banyak protokol lainnya dibangun di StarkEx. Dalam proyek yang menggunakan StarkEx ZK-Rollup, data dikirim ke Ethereum sebagai data panggilan dan dipublikasikan secara on-chain. Dalam mode Validium, data disimpan secara off-chain dan hanya hash yang disimpan secara on-chain. Meskipun mode Rollup memastikan keamanan yang lebih tinggi (pengguna cukup berinteraksi dengan blockchain Ethereum untuk membuat ulang status buku besar), mode Validium memastikan biaya lebih rendah dan privasi lebih tinggi.

 

Secara keseluruhan, meskipun zkSync Lite adalah zk rollup terbesar, StarkWare memiliki ekosistem terbesar termasuk proyek yang dibangun di StarkEx, dan juga memiliki TVL dan pangsa pasar terbesar.

 

 

 

Meringkaskan

Singkatnya, zk-rollup adalah solusi yang menjanjikan untuk menskalakan jaringan blockchain, dengan berbagai implementasi tersedia untuk memenuhi kebutuhan dan persyaratan yang berbeda. Meskipun ada beberapa klasifikasi, perlu dicatat bahwa klasifikasi tersebut merupakan interpretasi perkiraan dan kurangnya konsensus mengenai definisi dan perbedaan teknis. Seperti yang diakui oleh salah satu pendiri Scroll, Sandy Peng: “Tidak ada konsensus yang jelas mengenai definisi apa pun. “Seluruh tim peneliti Scroll” condong ke arah narasi atau pandangan tertentu, namun hal tersebut bukanlah hal yang jelas. Tim peneliti kami bahkan tidak sepakat mengenai arti semua hal tersebut. "

 

Meskipun demikian, beberapa tren umum muncul di antara implementasi zk rollup. Pertama, mereka semua tampaknya menggunakan pendekatan hibrid terhadap ketersediaan data, menawarkan versi rollup penyimpanan data on-chain tradisional dan versi validium penyimpanan data off-chain. "Menurut pendapat saya, Anda akan menemukan bahwa setiap rollup akan memiliki versi rollup dan versi validium," kata CEO Avail Anurag Arjun kepada Blockworks.

 

Kedua, mereka kebanyakan menghindari penggunaan kode sumber terbuka murni sampai kode tersebut benar-benar berjalan, yang juga terkait dengan persaingan ketat dari rollup optimis seperti Arbitrum dan Optimisme. Zk-rollup menjanjikan akan lebih efisien, namun secara teknis lebih sulit diterapkan. Selain itu, seperti yang terlihat jelas dari tabel di atas, rollup yang optimis, terutama Arbitrum, mendapatkan keuntungan dari keunggulan penggerak pertama dan memimpin pasar dalam hal aplikasi, volume transaksi, dan pangsa pasar. Jika terbukti berhasil, rollup optimis dapat mengintegrasikan model bukti validitas dengan basis pengguna yang sudah ada (misalnya, peningkatan Optimism ke Bedrock mungkin memperkenalkan bukti validitas).

 

Selain itu, meskipun semua implementasi dimulai dengan sequencer terpusat untuk meningkatkan efisiensi, semuanya berupaya menuju desentralisasi progresif untuk mengatasi permasalahan sentralisasi. Menariknya, pemesan yang terdesentralisasi mungkin memerlukan insentif ekonomi dalam bentuk token asli, sehingga semua proyek yang disebutkan harus mengambil langkah ini.

 

Terakhir, hasil luar biasa yang dicapai oleh implementasi zkEVM selama setahun terakhir telah menyebabkan gelombang minat baru terhadap teknologi zk secara umum, dengan perusahaan yang berfokus pada berbagai aspek pengembangan, termasuk mengembangkan perangkat keras zk baru untuk meningkatkan kecepatan pembuatan bukti.

 

Meskipun masih ada beberapa tantangan yang perlu diatasi, kemajuan yang dicapai dalam desain zkEVM hanya dalam waktu satu tahun patut dicatat, dan tahun 2023 dapat menjadi tahun yang menentukan bagi teknologi ini.

 

Tautan asli