Sumber: Menskalakan Ethereum Secara Efisien; Kompilasi: Starknet Chinese Community
ringkasan
Rollup Bukti Validitas adalah cara paling potensial untuk meningkatkan throughput Ethereum dengan cara yang aman dan terdesentralisasi; zkEVM dan Cairo VM (CVM) adalah dua mesin virtual (VM) yang digunakan dalam tipe Rollup of Validity Proof.
zkEVM berfokus pada kompatibilitas Ethereum dengan mengorbankan kinerja dan skalabilitas.
VM Kairo yang diadopsi oleh Starknet memprioritaskan kinerja dan skalabilitas daripada kompatibilitas.
Rollup adalah topik hangat tahun ini tentang penskalaan Ethereum. Di antara berbagai jenis Rollup, kami yakin bahwa Validity Proof Rollup (selanjutnya disebut sebagai VR, atau zk-rollup) adalah solusi perluasan yang paling menjanjikan untuk meningkatkan throughput Ethereum dengan cara yang aman dan terdesentralisasi. Inti dari skema perluasan ini adalah penggunaan bukti validitas untuk perhitungan yang dapat diverifikasi. Begini cara kerjanya:
Tidak seperti memproses setiap transaksi di mainnet Ethereum, operator mengeksekusi transaksi di lingkungan off-chain. Lingkungan off-chain adalah L2, lapisan operasi yang berjalan di atas Ethereum.
Setelah pemrosesan transaksi massal selesai, operator L2 mengembalikan hasilnya ke status Ethereum, bersama dengan bukti validitas untuk memverifikasi integritas eksekusi off-chain. Bukti ini menjamin bahwa semua transaksi dalam batch yang sama valid dan diverifikasi secara mandiri oleh kontrak verifikasi on-chain. Operasi ini memungkinkan Ethereum untuk menerapkan hasilnya ke kondisinya.
Rollup Bukti Validitas
Harap diperhatikan: Proof of Validity Rollups sering keliru disebut Zero-Knowledge Rollups (zkRollup), yang tidak akurat. Sebagian besar Rollup Bukti Validitas tidak menggunakan bukti tanpa pengetahuan, juga tidak digunakan untuk memastikan privasi. Oleh karena itu, istilah "Validity Proof Rollup" lebih akurat.
mesin virtual off-chain
Sebelum melangkah lebih jauh, kita perlu menjawab pertanyaan pertama: apa itu mesin virtual (VM)? Singkatnya, mesin virtual adalah lingkungan tempat program dapat berjalan, seperti sistem operasi Windows yang berjalan di Mac. Transisi VM antar status setelah melakukan perhitungan pada beberapa input. Mesin Virtual Ethereum (EVM) adalah VM yang menjalankan kontrak cerdas Ethereum.
Mesin virtual tanpa pengetahuan (zkVM) adalah lingkungan eksekusi program yang, bersama dengan output program, menghasilkan bukti validitas yang mudah diverifikasi. Bukti validitas digunakan untuk membuktikan bahwa suatu program telah dijalankan dengan benar. Ketika istilah "zkEVM" digunakan, biasanya mengacu pada Rollup yang menjalankan Ethereum Virtual Machine (EVM) dan dapat membuktikan eksekusi EVM. Terminologi ini bisa menyesatkan karena EVM itu sendiri tidak dapat menghasilkan bukti-bukti ini; sebaliknya, bukti dihasilkan oleh mekanisme pembukti terpisah yang menggunakan hasil eksekusi EVM sebagai titik awalnya. Selain itu, bukti-bukti di atas semuanya terkait dengan validitas dan tidak ada hubungannya dengan privasi. Oleh karena itu, itu tidak bisa disebut bukti tanpa pengetahuan tepatnya. Untuk konsistensi, istilah tradisional "zkEVM" masih digunakan dalam artikel ini.
Sementara semua Proof-of-Validity Rollup bertujuan untuk menskalakan Ethereum dengan Proof-of-Validity, skema yang berbeda membuat pilihan yang berbeda tentang bagaimana VM mengeksekusi transaksi off-chain. Banyak bukti validitas Rollup memilih untuk mereplikasi desain EVM (maka nama "rollup zkEVM"), mencoba mereplikasi Ethereum pada rollup L2. Starknet menggunakan VM Kairo (CVM), VM baru yang dirancang untuk mengoptimalkan efisiensi pembuktian validitas.
Kedua metode di atas memiliki kelebihan dan kekurangan dan pertukarannya sendiri, tetapi zkEVM mengorbankan kinerja untuk kompatibilitas Ethereum, sementara VM Kairo menempatkan kinerja di atas kompatibilitas dan memprioritaskan skalabilitas.
Pahami cara kerja zkEVM
zkEVM adalah rollup bukti validitas yang dirancang untuk sepenuhnya memperkenalkan pengalaman Ethereum pada blockchain L2. Tujuannya adalah untuk mereplikasi lingkungan pengembang Ethereum ke dalam Rollup. Dengan zkEVM, pengembang tidak perlu menyesuaikan kode atau mengabaikan alat EVM asli (dan kontrak pintar) saat menulis atau memindahkan kontrak pintar ke solusi ekspansi.
Pendekatan ini memiliki kelemahan utama, yang mengurangi skalabilitas bukti validitas. Karena fokus untuk kompatibel dengan Ethereum, zkEVM lebih lambat dan lebih intensif sumber daya. Tidak seperti CVM, EVM tidak dirancang dengan mempertimbangkan efisiensi bukti. Ini membatasi penggunaan pengoptimalan dalam meningkatkan efisiensi dan skalabilitas, yang pada akhirnya memengaruhi kinerja sistem secara keseluruhan.
Provabilitas EVM
Tantangan inti dari pendekatan zkEVM terletak pada cetak biru asli EVM yang tertanam, yang awalnya tidak dirancang untuk berjalan di lingkungan bukti validitas. Oleh karena itu, jika semua upaya dilakukan untuk mewujudkan fungsi Ethereum, potensi penuh dari bukti validitas tidak dapat dilepaskan, menghasilkan efisiensi yang tidak memuaskan. Ketidakefisienan ini pada akhirnya menurunkan kinerja sistem secara keseluruhan. Kompatibilitas EVM dengan bukti validitas terhambat oleh:
**EVM menggunakan model berbasis stack, sedangkan validitas terbukti lebih efisien untuk model berbasis register. **Sifat berbasis stack dari EVM membuatnya lebih sulit untuk membuktikan kebenaran eksekusinya dan memberikan dukungan langsung untuk toolchain aslinya.
**Tata letak penyimpanan Ethereum sangat bergantung pada Keccak dan pohon Merkle Patricia yang besar, keduanya tidak ramah terhadap bukti validitas dan membawa beban bukti yang sangat besar. **Misalnya, Keccak sangat cepat untuk arsitektur x86 (biasanya digunakan untuk menjalankan EVM), tetapi butuh 90k langkah untuk membuktikannya (memerlukan built-in khusus). Sedangkan Pedersen (fungsi hash ramah tanpa pengetahuan) hanya membutuhkan 32 langkah. Bahkan dengan kompresi rekursif, menggunakan Keccak di zkEVM masih menghabiskan banyak sumber daya pembukti, dan biayanya pada akhirnya ditanggung oleh pengguna.
Oleh karena itu, berbagai jenis zkEVM dirancang untuk memberikan tingkat dukungan yang berbeda untuk alat Ethereum, tetapi semakin tinggi kompatibilitas zkEVM dengan Ethereum, semakin rendah kinerjanya. (lihat akhir artikel untuk tipe zkEVM lainnya)
Pahami cara kerja Cairo-VM
Solusi zkEVM telah menginvestasikan banyak waktu pengembangan dalam "membuat EVM cocok untuk Validity Proof Rollup", memprioritaskan kompatibilitas daripada kinerja dan skalabilitas jangka panjang. Ada opsi lain: adopsi mesin virtual khusus baru, dan tambahkan lapisan tambahan untuk mendukung alat Ethereum. Itulah langkah yang diambil Starknet, meluncurkan Rollup bukti validitas tanpa izin pada November 2021. Starknet adalah Rollup bukti validitas pertama yang mengimplementasikan platform kontrak pintar tujuan umum dalam jaringan yang sepenuhnya dapat disusun.
Starknet mengadopsi Cairo-VM (CVM) dan menciptakan bahasa tingkat tinggi Kairo dengan nama yang sama. Cairo-VM dirancang untuk menghasilkan bukti validitas eksekusi program yang efisien.
Dengan Kairo (VM dan bahasa pemrograman) dimungkinkan untuk:
Bukti efektivitas optimasi, setiap instruksi memiliki ekspresi aljabar yang valid
Bahasa seperti Rust modern untuk menulis program yang dapat dibuktikan
Ekspresi perantara (Sierra) antara bahasa Kairo tingkat tinggi dan rakitan Kairo (instruksi VM), yang dapat mengeksekusi kode Kairo secara efisien
Mengembangkan bahasa yang sama sekali baru dapat disesuaikan dengan kebutuhan khusus, dapat menyertakan fitur yang tidak tersedia sebelumnya, dan memenuhi kebutuhan baru.
Kairo dan pluralisme pengkodean
Untuk membuat bukti validitas beberapa perhitungan, perhitungan tersebut pertama-tama harus dinyatakan sebagai serangkaian batasan matematis yang menggambarkan perhitungan tersebut. Prosesnya rumit, kesulitannya terletak pada pengoptimalan perhitungan untuk efisiensi, dan diperlukan alat khusus.
Bahasa Kairo dirancang untuk menyederhanakan tugas ini sehingga StarkEx dapat dengan mudah menambahkan fungsionalitas dan logika bisnis yang kompleks. Program Kairo dikompilasi menjadi kode mesin aljabar, urutan angka, dieksekusi oleh satu VM tetap. Dengan Kairo, proses kompleks untuk menghasilkan kendala matematis yang menggambarkan perhitungan (sangat rumit untuk bukti validitas) diabstraksikan dan dinyatakan sebagai serangkaian kendala tetap (total kurang dari 50 kendala). Hal ini memungkinkan pengembang untuk memperluas aplikasi dengan bukti validitas dengan menulis kode dalam sintaksis yang sudah dikenal tanpa memahami matematika dan infrastruktur yang mendasarinya.
Komitmen Starknet terhadap inovasi terbukti dalam pendekatannya terhadap pluralisasi kode. Kairo mengadopsi teknologi STARK untuk mencapai fungsi ekstensi yang optimal, tidak terbatas pada penulisan kontrak dengan lingkungan lokal Kairo. Pengembang juga dapat memilih metode yang paling sesuai:
**Pengodean lokal di Kairo:**Cairo 1.0 terinspirasi oleh Rust, yang lebih sejalan dengan kebiasaan penggunaan pengembang dan lebih aman. Menulis logika program menjadi lebih mudah dan tidak rawan kesalahan.
**Kompatibilitas soliditas: **Pengembang soliditas dapat menulis kode yang mendukung VM Kairo. Pendekatan ini memberikan pengalaman pengembang yang mirip dengan Ethereum dan mendukung migrasi smart contract Solidity ke Starknet. Ada dua cara untuk mengimplementasikan migrasi:
**Terjemahan: **Terjemahan adalah proses mengubah kode sumber dari satu bahasa pemrograman ke bahasa lain. Tim Nethermind membuat transpiler Warp untuk memindahkan kode Solidity ke Kairo. Warp menjadikan Solidity smart contract portabel untuk Starknet, menjadikannya efektif sebagai tipe keempat dari zkEVM. Saat ini digunakan untuk menerjemahkan dan menerapkan kontrak Uniswap dengan sedikit perubahan.
zkEVM di Starknet: VM Kairo dapat digunakan untuk membuktikan eksekusi VM lain. Kakarot adalah zkEVM yang ditulis di Kairo yang dapat digunakan untuk menjalankan kontrak cerdas Ethereum di Starknet. VM Kairo dan zkEVM tidak bersaing, daripada memilih di antara keduanya, lebih baik memiliki keduanya!
Meskipun Kairo sudah lama tidak ada, menurut peringkat TVL, Kairo adalah bahasa pemrograman kontrak pintar terpopuler keempat, dengan penilaian lebih dari $350 juta.
Ringkas
zkEVM bertujuan untuk mereplikasi lingkungan pengembang Ethereum ke dalam Rollup dan memungkinkan pengembang untuk menggunakan alat Ethereum yang sudah dikenal. Tapi pendekatan ini membatasi potensi bukti validitas dan intensif sumber daya.
VM Kairo, yang dirancang untuk bukti validitas, tidak tunduk pada batasan EVM. Kairo VM mendukung Kairo 1.0. Terinspirasi oleh bahasa Rust, Cairo 1.0 lebih sejalan dengan kebiasaan pengembang dan lebih aman, membentuk alat yang ampuh yang dirancang untuk menggunakan STARK untuk membuktikan ekspansi Ethereum yang efisien.
Sangat menyenangkan melihat bagaimana Kairo berkembang setiap minggu, dan opsi untuk pengembang seperti Kakarot zkEVM dan Warp terus berkembang. Dengan Starknet dApps dalam produksi, menunjukkan kekuatan Kairo, kami sangat yakin bahwa di masa depan, Kairo akan menelurkan proyek luar biasa yang belum pernah terlihat sebelumnya.
Tiga jalur untuk perluasan SATRK telah diuraikan di atas, dan tidak diragukan lagi akan ada lebih banyak inovasi yang akan datang dalam beberapa bulan mendatang. Pengembang sekarang memiliki kendali yang belum pernah terjadi sebelumnya atas penskalaan blockchain.
tipe zkEVM
Vitalik membagi zkEVM menjadi empat jenis utama:
**Ethereum penuh yang setara dengan kategori pertama: **Tidak mengubah bagian mana pun dari ekosistem Ethereum.
**Tipe kedua dari EVM yang sepenuhnya setara: ** dapat kompatibel dengan dApps yang ada, dan membuat beberapa penyesuaian pada desain Ethereum untuk mempercepat pembuatan bukti.
**Kategori ketiga kira-kira setara dengan EVM: **Mendukung sebagian besar opcode EVM, menghapus beberapa fungsi yang sulit diterapkan oleh zkEVM (seperti fungsi prakompilasi dan hash).
**Jenis keempat dari bahasa tingkat tinggi yang setara: **Gunakan Solidity/Vyper untuk menulis kode kontrak pintar dan menerjemahkannya ke dalam bahasa ramah bukti yang valid.
Lihat Asli
Konten ini hanya untuk referensi, bukan ajakan atau tawaran. Tidak ada nasihat investasi, pajak, atau hukum yang diberikan. Lihat Penafian untuk pengungkapan risiko lebih lanjut.
Bukti detail validitas Rollup dan karakteristik teknis VM Kairo
Sumber: Menskalakan Ethereum Secara Efisien; Kompilasi: Starknet Chinese Community
ringkasan
Rollup adalah topik hangat tahun ini tentang penskalaan Ethereum. Di antara berbagai jenis Rollup, kami yakin bahwa Validity Proof Rollup (selanjutnya disebut sebagai VR, atau zk-rollup) adalah solusi perluasan yang paling menjanjikan untuk meningkatkan throughput Ethereum dengan cara yang aman dan terdesentralisasi. Inti dari skema perluasan ini adalah penggunaan bukti validitas untuk perhitungan yang dapat diverifikasi. Begini cara kerjanya:
Rollup Bukti Validitas
Harap diperhatikan: Proof of Validity Rollups sering keliru disebut Zero-Knowledge Rollups (zkRollup), yang tidak akurat. Sebagian besar Rollup Bukti Validitas tidak menggunakan bukti tanpa pengetahuan, juga tidak digunakan untuk memastikan privasi. Oleh karena itu, istilah "Validity Proof Rollup" lebih akurat.
mesin virtual off-chain
Sebelum melangkah lebih jauh, kita perlu menjawab pertanyaan pertama: apa itu mesin virtual (VM)? Singkatnya, mesin virtual adalah lingkungan tempat program dapat berjalan, seperti sistem operasi Windows yang berjalan di Mac. Transisi VM antar status setelah melakukan perhitungan pada beberapa input. Mesin Virtual Ethereum (EVM) adalah VM yang menjalankan kontrak cerdas Ethereum.
Mesin virtual tanpa pengetahuan (zkVM) adalah lingkungan eksekusi program yang, bersama dengan output program, menghasilkan bukti validitas yang mudah diverifikasi. Bukti validitas digunakan untuk membuktikan bahwa suatu program telah dijalankan dengan benar. Ketika istilah "zkEVM" digunakan, biasanya mengacu pada Rollup yang menjalankan Ethereum Virtual Machine (EVM) dan dapat membuktikan eksekusi EVM. Terminologi ini bisa menyesatkan karena EVM itu sendiri tidak dapat menghasilkan bukti-bukti ini; sebaliknya, bukti dihasilkan oleh mekanisme pembukti terpisah yang menggunakan hasil eksekusi EVM sebagai titik awalnya. Selain itu, bukti-bukti di atas semuanya terkait dengan validitas dan tidak ada hubungannya dengan privasi. Oleh karena itu, itu tidak bisa disebut bukti tanpa pengetahuan tepatnya. Untuk konsistensi, istilah tradisional "zkEVM" masih digunakan dalam artikel ini.
Sementara semua Proof-of-Validity Rollup bertujuan untuk menskalakan Ethereum dengan Proof-of-Validity, skema yang berbeda membuat pilihan yang berbeda tentang bagaimana VM mengeksekusi transaksi off-chain. Banyak bukti validitas Rollup memilih untuk mereplikasi desain EVM (maka nama "rollup zkEVM"), mencoba mereplikasi Ethereum pada rollup L2. Starknet menggunakan VM Kairo (CVM), VM baru yang dirancang untuk mengoptimalkan efisiensi pembuktian validitas.
Kedua metode di atas memiliki kelebihan dan kekurangan dan pertukarannya sendiri, tetapi zkEVM mengorbankan kinerja untuk kompatibilitas Ethereum, sementara VM Kairo menempatkan kinerja di atas kompatibilitas dan memprioritaskan skalabilitas.
Pahami cara kerja zkEVM
zkEVM adalah rollup bukti validitas yang dirancang untuk sepenuhnya memperkenalkan pengalaman Ethereum pada blockchain L2. Tujuannya adalah untuk mereplikasi lingkungan pengembang Ethereum ke dalam Rollup. Dengan zkEVM, pengembang tidak perlu menyesuaikan kode atau mengabaikan alat EVM asli (dan kontrak pintar) saat menulis atau memindahkan kontrak pintar ke solusi ekspansi.
Pendekatan ini memiliki kelemahan utama, yang mengurangi skalabilitas bukti validitas. Karena fokus untuk kompatibel dengan Ethereum, zkEVM lebih lambat dan lebih intensif sumber daya. Tidak seperti CVM, EVM tidak dirancang dengan mempertimbangkan efisiensi bukti. Ini membatasi penggunaan pengoptimalan dalam meningkatkan efisiensi dan skalabilitas, yang pada akhirnya memengaruhi kinerja sistem secara keseluruhan.
Provabilitas EVM
Tantangan inti dari pendekatan zkEVM terletak pada cetak biru asli EVM yang tertanam, yang awalnya tidak dirancang untuk berjalan di lingkungan bukti validitas. Oleh karena itu, jika semua upaya dilakukan untuk mewujudkan fungsi Ethereum, potensi penuh dari bukti validitas tidak dapat dilepaskan, menghasilkan efisiensi yang tidak memuaskan. Ketidakefisienan ini pada akhirnya menurunkan kinerja sistem secara keseluruhan. Kompatibilitas EVM dengan bukti validitas terhambat oleh:
Oleh karena itu, berbagai jenis zkEVM dirancang untuk memberikan tingkat dukungan yang berbeda untuk alat Ethereum, tetapi semakin tinggi kompatibilitas zkEVM dengan Ethereum, semakin rendah kinerjanya. (lihat akhir artikel untuk tipe zkEVM lainnya)
Pahami cara kerja Cairo-VM
Solusi zkEVM telah menginvestasikan banyak waktu pengembangan dalam "membuat EVM cocok untuk Validity Proof Rollup", memprioritaskan kompatibilitas daripada kinerja dan skalabilitas jangka panjang. Ada opsi lain: adopsi mesin virtual khusus baru, dan tambahkan lapisan tambahan untuk mendukung alat Ethereum. Itulah langkah yang diambil Starknet, meluncurkan Rollup bukti validitas tanpa izin pada November 2021. Starknet adalah Rollup bukti validitas pertama yang mengimplementasikan platform kontrak pintar tujuan umum dalam jaringan yang sepenuhnya dapat disusun.
Starknet mengadopsi Cairo-VM (CVM) dan menciptakan bahasa tingkat tinggi Kairo dengan nama yang sama. Cairo-VM dirancang untuk menghasilkan bukti validitas eksekusi program yang efisien.
Dengan Kairo (VM dan bahasa pemrograman) dimungkinkan untuk:
Mengembangkan bahasa yang sama sekali baru dapat disesuaikan dengan kebutuhan khusus, dapat menyertakan fitur yang tidak tersedia sebelumnya, dan memenuhi kebutuhan baru.
Kairo dan pluralisme pengkodean
Untuk membuat bukti validitas beberapa perhitungan, perhitungan tersebut pertama-tama harus dinyatakan sebagai serangkaian batasan matematis yang menggambarkan perhitungan tersebut. Prosesnya rumit, kesulitannya terletak pada pengoptimalan perhitungan untuk efisiensi, dan diperlukan alat khusus.
Bahasa Kairo dirancang untuk menyederhanakan tugas ini sehingga StarkEx dapat dengan mudah menambahkan fungsionalitas dan logika bisnis yang kompleks. Program Kairo dikompilasi menjadi kode mesin aljabar, urutan angka, dieksekusi oleh satu VM tetap. Dengan Kairo, proses kompleks untuk menghasilkan kendala matematis yang menggambarkan perhitungan (sangat rumit untuk bukti validitas) diabstraksikan dan dinyatakan sebagai serangkaian kendala tetap (total kurang dari 50 kendala). Hal ini memungkinkan pengembang untuk memperluas aplikasi dengan bukti validitas dengan menulis kode dalam sintaksis yang sudah dikenal tanpa memahami matematika dan infrastruktur yang mendasarinya.
Komitmen Starknet terhadap inovasi terbukti dalam pendekatannya terhadap pluralisasi kode. Kairo mengadopsi teknologi STARK untuk mencapai fungsi ekstensi yang optimal, tidak terbatas pada penulisan kontrak dengan lingkungan lokal Kairo. Pengembang juga dapat memilih metode yang paling sesuai:
Meskipun Kairo sudah lama tidak ada, menurut peringkat TVL, Kairo adalah bahasa pemrograman kontrak pintar terpopuler keempat, dengan penilaian lebih dari $350 juta.
Ringkas
zkEVM bertujuan untuk mereplikasi lingkungan pengembang Ethereum ke dalam Rollup dan memungkinkan pengembang untuk menggunakan alat Ethereum yang sudah dikenal. Tapi pendekatan ini membatasi potensi bukti validitas dan intensif sumber daya.
VM Kairo, yang dirancang untuk bukti validitas, tidak tunduk pada batasan EVM. Kairo VM mendukung Kairo 1.0. Terinspirasi oleh bahasa Rust, Cairo 1.0 lebih sejalan dengan kebiasaan pengembang dan lebih aman, membentuk alat yang ampuh yang dirancang untuk menggunakan STARK untuk membuktikan ekspansi Ethereum yang efisien.
Sangat menyenangkan melihat bagaimana Kairo berkembang setiap minggu, dan opsi untuk pengembang seperti Kakarot zkEVM dan Warp terus berkembang. Dengan Starknet dApps dalam produksi, menunjukkan kekuatan Kairo, kami sangat yakin bahwa di masa depan, Kairo akan menelurkan proyek luar biasa yang belum pernah terlihat sebelumnya.
Tiga jalur untuk perluasan SATRK telah diuraikan di atas, dan tidak diragukan lagi akan ada lebih banyak inovasi yang akan datang dalam beberapa bulan mendatang. Pengembang sekarang memiliki kendali yang belum pernah terjadi sebelumnya atas penskalaan blockchain.
tipe zkEVM
Vitalik membagi zkEVM menjadi empat jenis utama: