Analisis Riset Asli Web3.com Ventures

0xFishylosopher

Perkenalan

“zk-Rollups” mungkin menjadi kata kunci Web 3 terpanas tahun ini. Dengan peluncuran mainnet “baby alpha” v2.0 zk-Sync hanya dalam beberapa hari terakhir, kegembiraan ini telah mencapai puncaknya [1]. Namun di balik semua kata kunci ini, apa yang sebenarnya dimaksud dengan “zk-Rollups”? Dan di manakah zk-Sync berperan? Dalam artikel ini, saya akan berusaha mendalami prinsip dan praktik zk-Rollups, menjelaskan keunggulan teknis utama zk-Sync v2.0 sebagai sebuah proyek, dan mengeksplorasi potensi implikasi masa depan terhadap teknologi yang telah lama ditunggu-tunggu ini.

Prinsip zk-Rollup

Mengapa kita membutuhkan zk-Rollup? Tentu, Ethereum itu hebat. Namun dalam kondisi saat ini, jaringan tersebut pada dasarnya berada pada skala disekonomis. Ketika aktivitas jaringan meningkat, harga gas menjadi sangat mahal, terutama jika terjadi lonjakan aktivitas jaringan secara bersamaan. Ketika Ethereum mendapatkan popularitas dalam penggunaan dan daya tarik selama beberapa tahun terakhir, skalabilitasnya yang terbatas saat ini telah menjadi kelemahan jaringan.

Di sinilah “rollup” berperan — rollup Ethereum pada dasarnya adalah “plugin” yang memberi Ethereum skalabilitas ekstra besar dan dengan demikian memperbaiki skala disekonomis yang melekat pada Ethereum. Intuisi di balik ide ini sederhana. Bayangkan Anda memiliki 5 item yang perlu Anda bawa dari titik A ke titik B. Cara “biasa” untuk melakukannya adalah dengan membawa Item 1, membawa Item 2, dan seterusnya. Tapi ini jelas lambat dan tidak praktis. Sebuah “rollup” pada dasarnya adalah “menggulung” kelima item ke dalam satu tas, sehingga memungkinkan Anda melakukan satu perjalanan, bukan 5.

Namun ada dua peringatan:

  1. Bagaimana kita memastikan rollup dapat “muat” semuanya?

  2. Bagaimana cara memastikan rollup tidak dipalsukan?

zk-Rollup adalah salah satu jenis teknologi rollup terkemuka (yang lainnya adalah Optimistic Rollup) yang memanfaatkan “bukti tanpa pengetahuan” untuk memecahkan dua masalah ini. Untuk mengatasi masalah ini, zk-Rollup akan menggabungkan sejumlah transaksi tertentu, melakukan penghitungan pada L2, dan menyerahkan perubahan status dan “bukti validitas” ke verifikator di L1 yang menunjukkan bahwa penghitungan dilakukan dengan integritas . “Bukti validitas” ini terjadi dalam bentuk “Bukti Tanpa Pengetahuan”, sebuah cara matematis untuk memberi tahu seseorang bahwa Anda mengetahui sesuatu tanpa memberi tahu mereka apa yang Anda ketahui.

Contoh sederhana dari Zero-Knowledge Proof adalah code autograder (untuk pekerjaan rumah CS). Autograder adalah "verifikator" yang memberi Anda sekumpulan kasus uji yang dibuat secara acak, dan Anda adalah "pembukti" yang harus mampu melewati semua kasus uji untuk membuktikan bahwa Anda memiliki kode yang benar. Sementara itu, Anda tidak membagikan kode Anda kepada autograder secara langsung. Dan voila, Anda baru saja melakukan “Pembuktian Tanpa Pengetahuan”, yang membuktikan bahwa Anda mengetahui sesuatu tanpa mengatakan apa yang Anda ketahui. [2]

Kode autograder di atas menggunakan “Interactive Zero-Knowledge-Proof”, yang mana autograder dan penyedia kode langsung “berinteraksi” satu sama lain. Sebaliknya, sebagian besar zk-Rollup menggunakan bukti non-interaktif yang lebih rumit secara matematis (seperti zk-SNARK, atau Zero Knowledge Succinct Noninteractive ARgument of Knowledge), yang menghemat waktu dan ruang dibandingkan dengan bukti interaktif. Meskipun rincian teknis zk-SNARK berada di luar cakupan artikel ini, prinsip dasar kelulusan kasus uji tetap sama.

Cawan suci zk-Rollups adalah Mesin Virtual Ethereum Tanpa Pengetahuan (zk-EVM) yang memungkinkan pengembang untuk melakukan porting melalui kontrak pintar Ethereum apa pun tanpa modifikasi ke rantai zk-Rollup. Tapi ini sulit. Karena setiap “masalah” memerlukan rangkaian “kasus uji” yang berbeda, mengembangkan “algoritme pembuktian” yang dapat menyelesaikan setiap kasus uji yang dapat dibayangkan merupakan hambatan teknis dari Zero-Knowledge Proofs dan zk-Rollups.

Seperti yang dikatakan Vitalik Buterin sendiri:

Secara umum, pandangan saya adalah bahwa dalam jangka pendek, rollup optimis kemungkinan besar akan menang untuk komputasi EVM tujuan umum dan rollup ZK kemungkinan besar akan menang untuk pembayaran sederhana, pertukaran, dan kasus penggunaan khusus aplikasi lainnya, namun dalam jangka panjang Rollup ZK jangka menengah hingga panjang akan unggul dalam semua kasus penggunaan seiring dengan peningkatan teknologi ZK-SNARK. [3]

Dengan demikian, secara historis zk-Rollups hanya merupakan teknologi yang dikembangkan untuk kasus penggunaan khusus aplikasi, di mana “kasus uji” didefinisikan dengan baik dan cakupannya terbatas. Namun, beberapa proyek dengan cepat berkembang menuju “kastil di atas bukit” — algoritma zk-Rollup generik yang kompatibel dengan EVM. [4]

zk-Sinkronisasi v2.0

zk-Sync v2.0 hanyalah salah satu dari banyak proyek yang sedang dijalankan dalam pengembangan zk-EVM (yang lain termasuk StarkNet, Polygon Hermez, dan Scroll). Berbeda dengan zk-Sync v1.0, yang mengharuskan pengguna membangun kembali sebagian besar basis kode mereka untuk melakukan porting dari EVM ke zk-Sync, di zk-Sync v2.0 pemrogram dapat menerapkan aplikasi mereka dengan sedikit atau tanpa perubahan — atau seperti yang ingin diklaim oleh zk-Sync.

Dalam praktiknya, tidak semua zk-EVM diciptakan sama. Ada perbedaan yang jelas antara komposisi (seberapa dekat dengan kontrak EVM asli) dan kinerja (seberapa cepat zk-Rollup akan berjalan) [6]. Dalam trade-off ini, zk-Sync memilih untuk mengoptimalkan kinerja sepenuhnya, sehingga mengorbankan komposisi.

Dalam perspektif Vitalik Buterin, ada empat jenis zk-EVM, yang dirangkum dalam bagan berikut:

Seperti yang dinyatakan Vitalik, dalam kondisi saat ini zk-Sync v2.0 adalah zk-EVM Tipe 4, yang mampu mengkompilasi kontrak yang ditulis dalam Soliditas dan bahasa tingkat tinggi menggunakan kompilernya sendiri, yang berbeda dari EVM. Karena zk-Sync memiliki kendali penuh atas desain kompilernya, mereka mampu mengoptimalkan kecepatan dan throughput secara agresif. Kerugiannya adalah beberapa rangkaian alat debugging DApps dan EVM mungkin tidak kompatibel dengan zk-Sync v2.0. Pada dasarnya, zk-Sync adalah cangkang mobil yang sama dengan Ethereum tetapi dengan mesin yang diganti [5].

Memang benar, dalam dokumentasi pengembangnya, Matter Labs mengklaim bahwa meskipun operasi “baca” kontrak pintar dapat diintegrasikan tanpa perubahan kode apa pun, operasi “tulis” kontrak pintar memerlukan “kode tambahan” karena “perbedaan mendasar antara L1 dan L2” [6] . Sebenarnya ini sedikit menyesatkan. Hal ini bukan disebabkan oleh “perbedaan mendasar” antara L1 dan L2, namun lebih disebabkan oleh jenis zk-Rollup yang Matter Labs putuskan untuk terapkan — rollup Tipe 4. Karena zk-Sync pada dasarnya adalah rollup Tipe 4 yang menggunakan kompiler dan bytecode berbeda, ini berarti kontrak pintar memiliki alamat berbeda, dan infrastruktur debugger yang mengandalkan analisis bytecode mungkin tidak dapat bekerja pada zk-Sync v2. 0 [7].

Di masa depan, zk-Sync dapat menambahkan lebih banyak dukungan asli untuk kode byte EVM, memungkinkan sistem untuk secara perlahan bertransisi ke rollup Tipe 3 yang mendukung “kasus tepi” yang lebih luas. Namun agar zk-Rollup Tipe 4 atau Tipe 3 zk-Sync berhasil dibandingkan dengan rollup Tipe 2 Polygon Hermez dan Scroll Labs, yang pada dasarnya menukar kecepatan untuk kompatibilitas yang lebih luas, harus ada dua prasyarat penting. Pertama, hanya ada sebagian kecil proyek tidak penting yang tidak kompatibel dengan kompiler khusus zk-Sync. Kedua, terdapat perbedaan kualitatif dalam kecepatan eksekusi zk-Sync dibandingkan dengan zk-EVM Tipe 2.

Sayangnya, saya pribadi yakin hal ini tidak mungkin terjadi. Setiap ekosistem pengembangan tingkat lanjut bergantung pada infrastruktur “perancah” yang matang, termasuk alat yang nyaman, termodulasi, debugging, dan pengujian. Jika, seperti yang dipostulasikan Vitalik, sebagian besar alat debugging asli EVM tidak dapat di-porting ke zk-Sync karena perbedaan bytecode, maka zk-Sync harus mengembangkan rangkaian alat pengujian dan debugging sendiri. Ini adalah overhead tambahan yang pada akhirnya dapat menghambat kecepatan adopsi zk-Sync sebagai solusi L2, dibandingkan dengan pesaing zk-EVM Tipe 2 yang lebih dapat disusun seperti Polygon Hermez dan Scroll.

Masa Depan untuk zk-Rollups

Dengan banyaknya pemain kompetitif yang memperebutkan zk-EVM, bisa dibilang hanya masalah waktu sebelum kita melihat zk-EVM yang berfungsi penuh. Tapi apa selanjutnya? Sebuah jalan hanya berguna selama masih ada bangunan di jalan tersebut; kekuatan jangka panjang zk-Rollup berasal dari proyek yang menggunakan solusi tersebut.

Saat ini, DeFi, GameFi, dan aplikasi seluler adalah penerima manfaat utama dari infrastruktur zk-Rollup. Baik DeFi maupun GameFi pada dasarnya adalah skala ekonomi, karena keduanya berkembang di lingkungan yang banyak orang menggunakannya. Aplikasi seluler seperti dompet seluler juga membuka pintu bagi konsumen massal yang terlalu malas (atau tidak mampu membeli) PC ​​Desktop. Oleh karena itu, menggunakan zk-Rollups untuk situasi ini sangat masuk akal.

Namun ini bukanlah batas kegunaan zk-Rollups. Jika ada, ini hanyalah permulaan. zk-Rollups bagi Ethereum sama dengan 5G bagi Internet. Sama seperti 5G yang dapat mewujudkan dunia baru aplikasi dan sistem IoT, zk-Rollups juga dapat membuka pintu menuju “Blockchain of Things,” yang memungkinkan peralatan digital di dunia fisik kita – lemari es, jam tangan, lampu lalu lintas, dan sebagainya – menjadi terintegrasi dengan kontrak pintar yang diamankan di Ethereum.

Salah satu argumen terbesar yang menentang IoT adalah bahwa hal itu akan memungkinkan Big Tech untuk melangkahi kehidupan kita sehari-hari. Namun dengan “Blockchain of Things,” kita dapat menikmati kenyamanan IoT tanpa khawatir peralatan pintar kita akan disusupi pada database terpusat. Daripada kenyamanan ATAU privasi, kita bisa mendapatkan kenyamanan DAN privasi. Itulah dunia yang zk-Rollups bisa janjikan kepada kita.

🐦 @0xfishylosopher

📅 31 Oktober 2022

Informasi ini murni mendidik dan tidak boleh dianggap sebagai nasihat keuangan. Semua pandangan yang diungkapkan adalah milik penulis dan belum tentu didukung oleh Web3.com Ventures.

Referensi

[1] https://blog.matter-labs.io/baby-alpha-has-arrived-5b10798bc623

[2] Diadaptasi dari https://pages.cs.wisc.edu/~mkowalcz/628.pdf

[3] https://vitalik.ca/general/2021/01/05/rollup.html

[4] https://www.coindesk.com/tech/2022/07/20/the-sudden-rise-of-evm-kompatibel-zk-rollups/

[5] https://cryptobriefing.com/the-race-scale-ethereum-zkevm-rollups/

[6] https://docs.zksync.io/dev/contracts/#porting-smart-contracts

[7] https://vitalik.ca/general/2022/08/04/zkevm.html