Validity Rollups: Pilihan Terbaik untuk Skalabilitas Ethereum
Validity Rollups (juga dikenal sebagai zk-rollups) dianggap sebagai solusi yang paling menjanjikan untuk meningkatkan throughput Ethereum secara aman dan terdesentralisasi saat ini. Inti dari solusi skala ini adalah penggunaan bukti validitas untuk perhitungan yang dapat diverifikasi. Cara kerjanya adalah sebagai berikut:
Operator akan melakukan eksekusi transaksi di lingkungan off-chain (yaitu lapisan kedua). Setelah memproses sejumlah besar transaksi, operator lapisan kedua akan mengembalikan hasilnya ke jaringan utama Ethereum, bersama dengan bukti validitas yang membuktikan integritas eksekusi off-chain. Bukti ini dapat memastikan bahwa semua transaksi dalam batch adalah valid dan secara otomatis diverifikasi oleh kontrak validator on-chain. Ini memungkinkan Ethereum untuk menerapkan hasil tersebut ke dalam statusnya.
Perlu dicatat bahwa Validity Rollups sering salah disebut sebagai zero-knowledge rollups, tetapi ini tidak akurat. Sebagian besar Validity Rollup sebenarnya tidak menggunakan bukti zero-knowledge dan tidak digunakan untuk tujuan perlindungan privasi. Oleh karena itu, menggunakan istilah "Validity Rollup" lebih tepat.
Mesin Virtual Off-Chain
Sebelum membahas, kita perlu memahami apa itu virtual machine (VM). Secara singkat, VM adalah lingkungan yang dapat menjalankan program, seperti menjalankan sistem operasi Windows di Mac. Ia beralih antara berbagai status setelah melakukan perhitungan tertentu berdasarkan masukan. Ethereum virtual machine (EVM) adalah VM yang digunakan untuk menjalankan kontrak pintar Ethereum.
Zero-Knowledge Virtual Machine ( zkVM ) adalah lingkungan eksekusi program khusus yang tidak hanya dapat menjalankan program, tetapi juga dapat menghasilkan bukti validitas yang mudah diverifikasi untuk membuktikan bahwa program telah dijalankan dengan benar. Istilah "zkEVM" biasanya merujuk pada sistem rollup yang dapat memanfaatkan Ethereum Virtual Machine ( EVM ) dan membuktikan eksekusi EVM. Istilah ini mungkin bisa menimbulkan kebingungan, karena EVM itu sendiri tidak menghasilkan bukti-bukti ini; sebaliknya, bukti dihasilkan oleh mekanisme pembuktian independen yang didasarkan pada hasil eksekusi EVM. Selain itu, bukti-bukti ini terutama berfokus pada validitas daripada privasi, sehingga tidak sepenuhnya merupakan bukti zero-knowledge. Meskipun demikian, untuk menjaga konsistensi, kami tetap akan menggunakan istilah tradisional "zkEVM" dalam artikel ini.
Meskipun semua Validity Rollups dirancang untuk memanfaatkan bukti validitas untuk memperluas Ethereum, mereka memiliki perbedaan dalam memilih VM untuk menjalankan transaksi di luar rantai. Banyak Validity Rollups memilih untuk menyalin desain EVM (sehingga disebut "zkEVM rollups"), mencoba untuk menggandakan fungsionalitas Ethereum di L2 rollup. Sementara itu, Starknet menggunakan VM baru—Cairo VM(CVM), yang dirancang khusus untuk mengoptimalkan efisiensi bukti validitas.
Kedua metode ini memiliki kelebihan dan kekurangan masing-masing. zkEVM mengorbankan kinerja untuk mendapatkan kompatibilitas Ethereum, sementara Cairo VM menempatkan kinerja di atas kompatibilitas, dengan mengutamakan kemampuan skalabilitas.
Metode zkEVM
zkEVM adalah Validity Rollup yang bertujuan untuk membawa pengalaman Ethereum yang lengkap ke blockchain Layer-2. Ini dirancang untuk menggandakan lingkungan pengembang Ethereum untuk rollup. Dengan zkEVM, pengembang tidak perlu mengubah kode atau meninggalkan alat EVM mereka (dan kontrak pintar) saat menulis kontrak pintar atau memindahkan kontrak pintar ke solusi yang lebih dapat diskalakan.
Salah satu kelemahan utama dari metode ini adalah mengurangi potensi skalabilitas dari bukti efisiensi. Karena zkEVM berkomitmen untuk kompatibel dengan Ethereum, kecepatan lebih lambat dan konsumsi sumber daya lebih besar. Berbeda dengan CVM, EVM tidak mempertimbangkan efisiensi bukti saat dirancang. Ini membatasi penggunaan optimasi yang dapat meningkatkan efisiensi dan skalabilitas, yang pada akhirnya mempengaruhi kinerja keseluruhan sistem.
Keterbuktian EVM
Tantangan utama dari metode zkEVM berasal dari desain asli EVM—ia tidak dirancang untuk berjalan dalam lingkungan pembuktian validitas. Oleh karena itu, upaya untuk mencerminkan fungsinya tidak dapat sepenuhnya memanfaatkan potensi pembuktian validitas, yang mengakibatkan efisiensi yang kurang ideal. Efisiensi yang rendah ini pada akhirnya akan menghambat kinerja keseluruhan sistem. Kompatibilitas EVM dengan pembuktian validitas terhambat oleh faktor-faktor berikut:
EVM menggunakan model berbasis tumpukan, sementara bukti keefektifan lebih cocok untuk model berbasis register. Karakteristik berbasis tumpukan dari EVM membuat pembuktian kebenaran eksekusinya serta memberikan dukungan langsung untuk rantai alat natifnya menjadi lebih sulit.
Penyimpanan Ethereum sangat bergantung pada Keccak dan Merkle Patricia Tree besar, keduanya tidak mendukung pembuktian efisiensi, dan menambah beban pembuktian yang besar. Misalnya, Keccak berjalan dengan cepat di arsitektur x86, tetapi membutuhkan 90k langkah untuk membuktikan. Sebaliknya, fungsi hash Pedersen yang ramah zk hanya membutuhkan 32 langkah. Bahkan dengan kompresi rekursif, menggunakan Keccak di zkEVM juga berarti pengguna harus menanggung biaya sumber daya pembuktian yang besar.
Oleh karena itu, berbagai implementasi zkEVM memberikan dukungan yang berbeda untuk alat Ethereum—semakin tinggi kompatibilitas zkEVM dengan Ethereum, semakin buruk performanya.
Metode Cairo-VM
Berbeda dengan solusi zkEVM, Starknet mengadopsi pendekatan lain: menggunakan mesin virtual khusus yang sepenuhnya baru, dan menambahkan dukungan untuk alat Ethereum sebagai lapisan tambahan. Starknet diluncurkan pada November 2021, dan merupakan Validity Rollup pertama yang menyediakan platform kontrak pintar umum di jaringan yang sepenuhnya dapat dikomposisikan.
Starknet menggunakan Cairo-VM(CVM), yang merupakan bahasa tingkat tinggi dengan nama yang sama. Cairo-VM dirancang khusus untuk membuktikan validitas eksekusi program secara efisien.
Dengan menggunakan Cairo (mesin virtual dan bahasa), kita dapat memperoleh:
Pembuktian efektivitas yang dioptimalkan - setiap instruksi memiliki representasi aljabar yang valid
Bahasa Rust yang digunakan untuk menulis program yang dapat dibuktikan
Representasi perantara antara Cairo tingkat lanjut dan perakitan Cairo (instruksi VM) (Sierra), memungkinkan eksekusi kode Cairo yang efisien.
Mengembangkan bahasa baru dapat memungkinkan orang untuk menyesuaikannya berdasarkan kebutuhan tertentu dan dilengkapi dengan fitur yang dapat memenuhi kebutuhan yang sebelumnya tidak terpenuhi.
Cairo dan keragaman pengkodean
Bahasa Cairo awalnya dirancang untuk menyederhanakan proses pembuatan bukti keefektifan komputasi, dan membuat penambahan fungsi dan logika bisnis yang kompleks ke StarkEx menjadi lebih mudah. Program Cairo dikompilasi menjadi kode mesin aljabar—sebuah urutan angka—yang dieksekusi oleh VM tetap. Dengan Cairo, kompleksitas menghasilkan batasan matematis yang menggambarkan perhitungan disederhanakan, dan ditangkap dalam kumpulan batasan tetap (total kurang dari 50 batasan). Oleh karena itu, pengembang dapat memanfaatkan bukti keefektifan untuk memperluas aplikasi mereka, tanpa perlu memahami matematika dan infrastruktur dasar, cukup dengan menulis kode menggunakan sintaks yang mereka kenal.
Starknet menekankan inovasi, yang tercermin dalam pendekatan kode yang beragam. Cairo menggunakan STARKs untuk mendapatkan kemampuan skalabilitas terbaik yang tidak hanya terbatas pada mereka yang menulis kontrak secara lokal di Cairo. Pengembang dapat memilih metode yang paling cocok untuk mereka:
Menulis kode secara lokal di Cairo: Dengan rilis Cairo 1.0, pengembang sekarang dapat menggunakan bahasa Rust yang ergonomis dan aman, yang membuat penulisan logika program menjadi lebih mudah dan kurang rentan terhadap kesalahan.
Kompatibilitas Solidity: Pengembang Solidity dapat menulis kode yang dapat digunakan oleh Cairo VM. Pendekatan ini memberikan pengalaman pengembang yang mirip dengan Ethereum dan memungkinkan kontrak pintar Solidity untuk dipindahkan ke Starknet. Ada dua cara untuk mencapai ini:
Terjemahan: Tim Nethermind telah membuat penerjemah Warp untuk menerjemahkan kode Solidity ke Cairo. Warp memungkinkan kontrak pintar Solidity dapat dipindahkan ke Starknet, secara efektif menjadikannya Type 4 zkEVM. Ini telah digunakan untuk menerjemahkan dan menerapkan kontrak Uniswap dengan hanya melakukan perubahan yang sangat kecil.
zkEVM di Starknet: Cairo VM dapat digunakan untuk membuktikan eksekusi VM lainnya. Kakarot adalah zkEVM yang ditulis dengan Cairo, yang dapat digunakan untuk menjalankan kontrak pintar Ethereum di Starknet.
Meskipun waktu yang singkat, Cairo telah menjadi bahasa kontrak pintar yang paling populer dengan peringkat TVL keempat, dan telah mendapatkan dukungan dana lebih dari 350 juta dolar.
Ringkasan
zkEVM bertujuan untuk menggandakan lingkungan Ethereum sebagai rollup, dan memungkinkan pengembang menggunakan alat Ethereum yang sudah familiar. Namun, pendekatan ini membatasi potensi penuh dari pembuktian keefektifan, dan mungkin bersifat intensif sumber daya.
Cairo VM dirancang khusus untuk sistem pembuktian kevalidan, tidak terikat oleh batasan EVM. Ini didukung oleh bahasa pemrograman baru yang aman dan ergonomis, yang terinspirasi oleh Rust, yaitu Cairo 1.0, yang membentuk alat yang kuat, bertujuan untuk mencapai efisiensi maksimum dengan memperluas Ethereum menggunakan bukti STARK.
Dengan kemajuan terus-menerus dari Cairo, serta peningkatan berbagai pilihan pengembangan seperti Kakarot zkEVM dan Warp, perkembangan di masa depan sangat dinantikan. Dengan dApp Starknet yang memasuki fase produksi dan menunjukkan kemampuan luar biasa dari Cairo, kami percaya bahwa ia akan digunakan untuk proyek yang lebih ambisius di masa depan.
Berkat berbagai cara yang diperluas oleh STARK, serta kemungkinan solusi lain yang muncul dalam beberapa bulan mendatang, para pengembang kini memiliki kontrol yang belum pernah terjadi sebelumnya atas skalabilitas blockchain.
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Validity Rollups: Mengungkap Tren Baru Skalabilitas Ethereum
Validity Rollups: Pilihan Terbaik untuk Skalabilitas Ethereum
Validity Rollups (juga dikenal sebagai zk-rollups) dianggap sebagai solusi yang paling menjanjikan untuk meningkatkan throughput Ethereum secara aman dan terdesentralisasi saat ini. Inti dari solusi skala ini adalah penggunaan bukti validitas untuk perhitungan yang dapat diverifikasi. Cara kerjanya adalah sebagai berikut:
Operator akan melakukan eksekusi transaksi di lingkungan off-chain (yaitu lapisan kedua). Setelah memproses sejumlah besar transaksi, operator lapisan kedua akan mengembalikan hasilnya ke jaringan utama Ethereum, bersama dengan bukti validitas yang membuktikan integritas eksekusi off-chain. Bukti ini dapat memastikan bahwa semua transaksi dalam batch adalah valid dan secara otomatis diverifikasi oleh kontrak validator on-chain. Ini memungkinkan Ethereum untuk menerapkan hasil tersebut ke dalam statusnya.
Perlu dicatat bahwa Validity Rollups sering salah disebut sebagai zero-knowledge rollups, tetapi ini tidak akurat. Sebagian besar Validity Rollup sebenarnya tidak menggunakan bukti zero-knowledge dan tidak digunakan untuk tujuan perlindungan privasi. Oleh karena itu, menggunakan istilah "Validity Rollup" lebih tepat.
Mesin Virtual Off-Chain
Sebelum membahas, kita perlu memahami apa itu virtual machine (VM). Secara singkat, VM adalah lingkungan yang dapat menjalankan program, seperti menjalankan sistem operasi Windows di Mac. Ia beralih antara berbagai status setelah melakukan perhitungan tertentu berdasarkan masukan. Ethereum virtual machine (EVM) adalah VM yang digunakan untuk menjalankan kontrak pintar Ethereum.
Zero-Knowledge Virtual Machine ( zkVM ) adalah lingkungan eksekusi program khusus yang tidak hanya dapat menjalankan program, tetapi juga dapat menghasilkan bukti validitas yang mudah diverifikasi untuk membuktikan bahwa program telah dijalankan dengan benar. Istilah "zkEVM" biasanya merujuk pada sistem rollup yang dapat memanfaatkan Ethereum Virtual Machine ( EVM ) dan membuktikan eksekusi EVM. Istilah ini mungkin bisa menimbulkan kebingungan, karena EVM itu sendiri tidak menghasilkan bukti-bukti ini; sebaliknya, bukti dihasilkan oleh mekanisme pembuktian independen yang didasarkan pada hasil eksekusi EVM. Selain itu, bukti-bukti ini terutama berfokus pada validitas daripada privasi, sehingga tidak sepenuhnya merupakan bukti zero-knowledge. Meskipun demikian, untuk menjaga konsistensi, kami tetap akan menggunakan istilah tradisional "zkEVM" dalam artikel ini.
Meskipun semua Validity Rollups dirancang untuk memanfaatkan bukti validitas untuk memperluas Ethereum, mereka memiliki perbedaan dalam memilih VM untuk menjalankan transaksi di luar rantai. Banyak Validity Rollups memilih untuk menyalin desain EVM (sehingga disebut "zkEVM rollups"), mencoba untuk menggandakan fungsionalitas Ethereum di L2 rollup. Sementara itu, Starknet menggunakan VM baru—Cairo VM(CVM), yang dirancang khusus untuk mengoptimalkan efisiensi bukti validitas.
Kedua metode ini memiliki kelebihan dan kekurangan masing-masing. zkEVM mengorbankan kinerja untuk mendapatkan kompatibilitas Ethereum, sementara Cairo VM menempatkan kinerja di atas kompatibilitas, dengan mengutamakan kemampuan skalabilitas.
Metode zkEVM
zkEVM adalah Validity Rollup yang bertujuan untuk membawa pengalaman Ethereum yang lengkap ke blockchain Layer-2. Ini dirancang untuk menggandakan lingkungan pengembang Ethereum untuk rollup. Dengan zkEVM, pengembang tidak perlu mengubah kode atau meninggalkan alat EVM mereka (dan kontrak pintar) saat menulis kontrak pintar atau memindahkan kontrak pintar ke solusi yang lebih dapat diskalakan.
Salah satu kelemahan utama dari metode ini adalah mengurangi potensi skalabilitas dari bukti efisiensi. Karena zkEVM berkomitmen untuk kompatibel dengan Ethereum, kecepatan lebih lambat dan konsumsi sumber daya lebih besar. Berbeda dengan CVM, EVM tidak mempertimbangkan efisiensi bukti saat dirancang. Ini membatasi penggunaan optimasi yang dapat meningkatkan efisiensi dan skalabilitas, yang pada akhirnya mempengaruhi kinerja keseluruhan sistem.
Keterbuktian EVM
Tantangan utama dari metode zkEVM berasal dari desain asli EVM—ia tidak dirancang untuk berjalan dalam lingkungan pembuktian validitas. Oleh karena itu, upaya untuk mencerminkan fungsinya tidak dapat sepenuhnya memanfaatkan potensi pembuktian validitas, yang mengakibatkan efisiensi yang kurang ideal. Efisiensi yang rendah ini pada akhirnya akan menghambat kinerja keseluruhan sistem. Kompatibilitas EVM dengan pembuktian validitas terhambat oleh faktor-faktor berikut:
EVM menggunakan model berbasis tumpukan, sementara bukti keefektifan lebih cocok untuk model berbasis register. Karakteristik berbasis tumpukan dari EVM membuat pembuktian kebenaran eksekusinya serta memberikan dukungan langsung untuk rantai alat natifnya menjadi lebih sulit.
Penyimpanan Ethereum sangat bergantung pada Keccak dan Merkle Patricia Tree besar, keduanya tidak mendukung pembuktian efisiensi, dan menambah beban pembuktian yang besar. Misalnya, Keccak berjalan dengan cepat di arsitektur x86, tetapi membutuhkan 90k langkah untuk membuktikan. Sebaliknya, fungsi hash Pedersen yang ramah zk hanya membutuhkan 32 langkah. Bahkan dengan kompresi rekursif, menggunakan Keccak di zkEVM juga berarti pengguna harus menanggung biaya sumber daya pembuktian yang besar.
Oleh karena itu, berbagai implementasi zkEVM memberikan dukungan yang berbeda untuk alat Ethereum—semakin tinggi kompatibilitas zkEVM dengan Ethereum, semakin buruk performanya.
Metode Cairo-VM
Berbeda dengan solusi zkEVM, Starknet mengadopsi pendekatan lain: menggunakan mesin virtual khusus yang sepenuhnya baru, dan menambahkan dukungan untuk alat Ethereum sebagai lapisan tambahan. Starknet diluncurkan pada November 2021, dan merupakan Validity Rollup pertama yang menyediakan platform kontrak pintar umum di jaringan yang sepenuhnya dapat dikomposisikan.
Starknet menggunakan Cairo-VM(CVM), yang merupakan bahasa tingkat tinggi dengan nama yang sama. Cairo-VM dirancang khusus untuk membuktikan validitas eksekusi program secara efisien.
Dengan menggunakan Cairo (mesin virtual dan bahasa), kita dapat memperoleh:
Mengembangkan bahasa baru dapat memungkinkan orang untuk menyesuaikannya berdasarkan kebutuhan tertentu dan dilengkapi dengan fitur yang dapat memenuhi kebutuhan yang sebelumnya tidak terpenuhi.
Cairo dan keragaman pengkodean
Bahasa Cairo awalnya dirancang untuk menyederhanakan proses pembuatan bukti keefektifan komputasi, dan membuat penambahan fungsi dan logika bisnis yang kompleks ke StarkEx menjadi lebih mudah. Program Cairo dikompilasi menjadi kode mesin aljabar—sebuah urutan angka—yang dieksekusi oleh VM tetap. Dengan Cairo, kompleksitas menghasilkan batasan matematis yang menggambarkan perhitungan disederhanakan, dan ditangkap dalam kumpulan batasan tetap (total kurang dari 50 batasan). Oleh karena itu, pengembang dapat memanfaatkan bukti keefektifan untuk memperluas aplikasi mereka, tanpa perlu memahami matematika dan infrastruktur dasar, cukup dengan menulis kode menggunakan sintaks yang mereka kenal.
Starknet menekankan inovasi, yang tercermin dalam pendekatan kode yang beragam. Cairo menggunakan STARKs untuk mendapatkan kemampuan skalabilitas terbaik yang tidak hanya terbatas pada mereka yang menulis kontrak secara lokal di Cairo. Pengembang dapat memilih metode yang paling cocok untuk mereka:
Menulis kode secara lokal di Cairo: Dengan rilis Cairo 1.0, pengembang sekarang dapat menggunakan bahasa Rust yang ergonomis dan aman, yang membuat penulisan logika program menjadi lebih mudah dan kurang rentan terhadap kesalahan.
Kompatibilitas Solidity: Pengembang Solidity dapat menulis kode yang dapat digunakan oleh Cairo VM. Pendekatan ini memberikan pengalaman pengembang yang mirip dengan Ethereum dan memungkinkan kontrak pintar Solidity untuk dipindahkan ke Starknet. Ada dua cara untuk mencapai ini:
Terjemahan: Tim Nethermind telah membuat penerjemah Warp untuk menerjemahkan kode Solidity ke Cairo. Warp memungkinkan kontrak pintar Solidity dapat dipindahkan ke Starknet, secara efektif menjadikannya Type 4 zkEVM. Ini telah digunakan untuk menerjemahkan dan menerapkan kontrak Uniswap dengan hanya melakukan perubahan yang sangat kecil.
zkEVM di Starknet: Cairo VM dapat digunakan untuk membuktikan eksekusi VM lainnya. Kakarot adalah zkEVM yang ditulis dengan Cairo, yang dapat digunakan untuk menjalankan kontrak pintar Ethereum di Starknet.
Meskipun waktu yang singkat, Cairo telah menjadi bahasa kontrak pintar yang paling populer dengan peringkat TVL keempat, dan telah mendapatkan dukungan dana lebih dari 350 juta dolar.
Ringkasan
zkEVM bertujuan untuk menggandakan lingkungan Ethereum sebagai rollup, dan memungkinkan pengembang menggunakan alat Ethereum yang sudah familiar. Namun, pendekatan ini membatasi potensi penuh dari pembuktian keefektifan, dan mungkin bersifat intensif sumber daya.
Cairo VM dirancang khusus untuk sistem pembuktian kevalidan, tidak terikat oleh batasan EVM. Ini didukung oleh bahasa pemrograman baru yang aman dan ergonomis, yang terinspirasi oleh Rust, yaitu Cairo 1.0, yang membentuk alat yang kuat, bertujuan untuk mencapai efisiensi maksimum dengan memperluas Ethereum menggunakan bukti STARK.
Dengan kemajuan terus-menerus dari Cairo, serta peningkatan berbagai pilihan pengembangan seperti Kakarot zkEVM dan Warp, perkembangan di masa depan sangat dinantikan. Dengan dApp Starknet yang memasuki fase produksi dan menunjukkan kemampuan luar biasa dari Cairo, kami percaya bahwa ia akan digunakan untuk proyek yang lebih ambisius di masa depan.
Berkat berbagai cara yang diperluas oleh STARK, serta kemungkinan solusi lain yang muncul dalam beberapa bulan mendatang, para pengembang kini memiliki kontrol yang belum pernah terjadi sebelumnya atas skalabilitas blockchain.