Keberhasilan Ethereum telah menyebabkan ekosistem aplikasi terdesentralisasi yang berkembang, tetapi tantangan skalabilitas menjadi semakin jelas. Pengembang dibiarkan dengan pilihan yang sulit: membatasi fungsionalitas dan kekayaan data aplikasi mereka atau menanggung beban biaya gas yang berlebihan atau batas gas. Bagaimana jika ada cara bagi pengembang untuk melewati batasan ini?
Steel, perpustakaan bukti panggilan tampilan berbasis Alloy oleh RISC Zero, mewakili perubahan besar dalam cara pengembang berinteraksi dengan rantai berbasis Ethereum L1 atau EVM. Dengan memanfaatkan kekuatan zero-knowledge proofs dan RISC Zero zkVM, Steel memungkinkan pengembang untuk mengeksekusi panggilan tampilan dan terbukti membaca dan menghitung status Ethereum dengan cara yang terukur, aman, dan efisien secara ekonomi.
Steel menjembatani kesenjangan antara pengembangan aplikasi Ethereum dan teknologi tanpa pengetahuan, membuatnya lebih mudah dari sebelumnya bagi pengembang untuk memanfaatkan kekuatan ZK dalam kontrak pintar mereka. Dikombinasikan dengan kemampuan RISC Zero zkVM, Steel memungkinkan pengembang untuk membangun aplikasi yang lebih aman, terukur, dan efisien pada Ethereum L1 atau rantai setara EVM.
Dengan Steel, pengembang mendapatkan kemampuan untuk:
Dengan Steel, mengeksekusi panggilan tampilan semudah menentukan metode Soliditas yang diinginkan. Baik mengambil saldo token ERC-20 (contoh) atau mengakses aspek apa pun dari status Ethereum, Steel menyederhanakan proses sambil memastikan keamanan dan efisiensi melalui integrasi tanpa batas dengan RISC Zero zkVM. Pengujian kami telah menunjukkan kemampuan Steel untuk menangani lebih dari 100K operasi SLOAD dalam satu panggilan tampilan, berpotensi menghemat ribuan dolar dalam biaya gas di mainnet. Kita bisa membuktikannya dalam waktu sekitar 15 menit menggunakan Bonsai. Ini akan memakan waktu setidaknya 210M gas, melebihi batas blok sebesar 7x.
Dalam cuplikan kode di bawah ini, kami menunjukkan proses pembuktian keseimbangan alamat tertentu untuk kontrak ERC-20 yang diterapkan pada Ethereum menggunakan Steel. Contoh ini menunjukkan bagaimana pengembang dapat memanfaatkan Steel untuk berinteraksi dengan data Ethereum on-chain dalam batas-batas zkVM. Anda dapat menemukan kode lengkapnya di sini.
Menentukan Tanda Tangan Fungsi View
Mulailah dengan menentukan tanda tangan fungsi balanceOf ERC-20 menggunakan sol! Makro. Ini akan mengurai sintaks Solidity untuk menghasilkan struct Rust yang sesuai, yang mengimplementasikan sifat SolCall. Struktur ini dapat digunakan untuk memanggil metode balanceOf, yang mengambil alamat akun dan mengembalikan saldo token ERC-20 terkait.
Mempersiapkan Panggilan
Selanjutnya, atur panggilan dengan instantiating struct balanceOfCall dengan alamat akun target. Juga, tentukan konstanta untuk alamat kontrak yang ingin Anda kueri dan alamat penelepon.
Menjalankan Panggilan di Utama
Fungsi utama dijalankan di zkVM, menghasilkan bukti tanpa pengetahuan. Ini dimulai dengan membaca lingkungan input, kemudian membangun objek ViewCallEnv, memastikan status saat ini cocok dengan root status yang diharapkan. Setelah berkomitmen pada hash dan nomor blok yang relevan, panggilan tampilan dijalankan, dan saldo dicetak.
Steel menyederhanakan proses pembuktian eksekusi kode Soliditas di RISC Zero zkVM dalam tiga langkah sederhana:
Dengan bukti penyimpanan tradisional, pengembang harus secara manual memilih slot penyimpanan mana yang digunakan kontrak pintar mereka, dan menerapkan kembali logika kontrak pintar. Dengan baja, semua slot penyimpanan ditemukan dan diambil secara otomatis berdasarkan eksekusi panggilan tampilan. Ini menghemat banyak waktu pengembang dan mengurangi ruang kesalahan implementasi, mengurangi kemungkinan kerentanan keamanan.
Saat menggunakan opcode blockhash untuk validasi dalam kontrak pintar Ethereum, komitmen untuk validasi harus mereferensikan blockhash yang tidak lebih dari 256 blok. Mengingat waktu blok rata-rata 12 detik, ini menetapkan kerangka waktu yang sempit sekitar 50 menit untuk menyelesaikan pembuatan bukti dan mengkonfirmasi dimasukkannya transaksi validasi dalam blok.
Ketika hash blok terverifikasi yang lebih tua dari 256 blok diperlukan secara on-chain, sejumlah strategi dapat digunakan:
Kami membayangkan masa depan di mana ada integrasi komputasi off-chain yang mulus dengan validasi on-chain. Steel adalah kontribusi kami untuk mewujudkan visi ini, dengan memungkinkan pengembang untuk secara terbukti mengakses dan menghitung seluruh sejarah Ethereum di dalam zkVM untuk menciptakan gelombang berikutnya dari aplikasi on-chain yang kaya data dan lebih fungsional.
Baja adalah komponen kunci dari komitmen RISC Zero untuk meluncurkan zkVM 1.0, sebuah tonggak menuju verifikasi bukti on-chain yang murah dan aman serta bukti tanpa pengetahuan universal. Mulailah dengan Steel hari ini dengan mengunjungi repo GitHub kami untuk dokumentasi, contoh kode, dan sumber daya untuk membantu Anda mengintegrasikan Steel ke dalam proyek Anda.
Keberhasilan Ethereum telah menyebabkan ekosistem aplikasi terdesentralisasi yang berkembang, tetapi tantangan skalabilitas menjadi semakin jelas. Pengembang dibiarkan dengan pilihan yang sulit: membatasi fungsionalitas dan kekayaan data aplikasi mereka atau menanggung beban biaya gas yang berlebihan atau batas gas. Bagaimana jika ada cara bagi pengembang untuk melewati batasan ini?
Steel, perpustakaan bukti panggilan tampilan berbasis Alloy oleh RISC Zero, mewakili perubahan besar dalam cara pengembang berinteraksi dengan rantai berbasis Ethereum L1 atau EVM. Dengan memanfaatkan kekuatan zero-knowledge proofs dan RISC Zero zkVM, Steel memungkinkan pengembang untuk mengeksekusi panggilan tampilan dan terbukti membaca dan menghitung status Ethereum dengan cara yang terukur, aman, dan efisien secara ekonomi.
Steel menjembatani kesenjangan antara pengembangan aplikasi Ethereum dan teknologi tanpa pengetahuan, membuatnya lebih mudah dari sebelumnya bagi pengembang untuk memanfaatkan kekuatan ZK dalam kontrak pintar mereka. Dikombinasikan dengan kemampuan RISC Zero zkVM, Steel memungkinkan pengembang untuk membangun aplikasi yang lebih aman, terukur, dan efisien pada Ethereum L1 atau rantai setara EVM.
Dengan Steel, pengembang mendapatkan kemampuan untuk:
Dengan Steel, mengeksekusi panggilan tampilan semudah menentukan metode Soliditas yang diinginkan. Baik mengambil saldo token ERC-20 (contoh) atau mengakses aspek apa pun dari status Ethereum, Steel menyederhanakan proses sambil memastikan keamanan dan efisiensi melalui integrasi tanpa batas dengan RISC Zero zkVM. Pengujian kami telah menunjukkan kemampuan Steel untuk menangani lebih dari 100K operasi SLOAD dalam satu panggilan tampilan, berpotensi menghemat ribuan dolar dalam biaya gas di mainnet. Kita bisa membuktikannya dalam waktu sekitar 15 menit menggunakan Bonsai. Ini akan memakan waktu setidaknya 210M gas, melebihi batas blok sebesar 7x.
Dalam cuplikan kode di bawah ini, kami menunjukkan proses pembuktian keseimbangan alamat tertentu untuk kontrak ERC-20 yang diterapkan pada Ethereum menggunakan Steel. Contoh ini menunjukkan bagaimana pengembang dapat memanfaatkan Steel untuk berinteraksi dengan data Ethereum on-chain dalam batas-batas zkVM. Anda dapat menemukan kode lengkapnya di sini.
Menentukan Tanda Tangan Fungsi View
Mulailah dengan menentukan tanda tangan fungsi balanceOf ERC-20 menggunakan sol! Makro. Ini akan mengurai sintaks Solidity untuk menghasilkan struct Rust yang sesuai, yang mengimplementasikan sifat SolCall. Struktur ini dapat digunakan untuk memanggil metode balanceOf, yang mengambil alamat akun dan mengembalikan saldo token ERC-20 terkait.
Mempersiapkan Panggilan
Selanjutnya, atur panggilan dengan instantiating struct balanceOfCall dengan alamat akun target. Juga, tentukan konstanta untuk alamat kontrak yang ingin Anda kueri dan alamat penelepon.
Menjalankan Panggilan di Utama
Fungsi utama dijalankan di zkVM, menghasilkan bukti tanpa pengetahuan. Ini dimulai dengan membaca lingkungan input, kemudian membangun objek ViewCallEnv, memastikan status saat ini cocok dengan root status yang diharapkan. Setelah berkomitmen pada hash dan nomor blok yang relevan, panggilan tampilan dijalankan, dan saldo dicetak.
Steel menyederhanakan proses pembuktian eksekusi kode Soliditas di RISC Zero zkVM dalam tiga langkah sederhana:
Dengan bukti penyimpanan tradisional, pengembang harus secara manual memilih slot penyimpanan mana yang digunakan kontrak pintar mereka, dan menerapkan kembali logika kontrak pintar. Dengan baja, semua slot penyimpanan ditemukan dan diambil secara otomatis berdasarkan eksekusi panggilan tampilan. Ini menghemat banyak waktu pengembang dan mengurangi ruang kesalahan implementasi, mengurangi kemungkinan kerentanan keamanan.
Saat menggunakan opcode blockhash untuk validasi dalam kontrak pintar Ethereum, komitmen untuk validasi harus mereferensikan blockhash yang tidak lebih dari 256 blok. Mengingat waktu blok rata-rata 12 detik, ini menetapkan kerangka waktu yang sempit sekitar 50 menit untuk menyelesaikan pembuatan bukti dan mengkonfirmasi dimasukkannya transaksi validasi dalam blok.
Ketika hash blok terverifikasi yang lebih tua dari 256 blok diperlukan secara on-chain, sejumlah strategi dapat digunakan:
Kami membayangkan masa depan di mana ada integrasi komputasi off-chain yang mulus dengan validasi on-chain. Steel adalah kontribusi kami untuk mewujudkan visi ini, dengan memungkinkan pengembang untuk secara terbukti mengakses dan menghitung seluruh sejarah Ethereum di dalam zkVM untuk menciptakan gelombang berikutnya dari aplikasi on-chain yang kaya data dan lebih fungsional.
Baja adalah komponen kunci dari komitmen RISC Zero untuk meluncurkan zkVM 1.0, sebuah tonggak menuju verifikasi bukti on-chain yang murah dan aman serta bukti tanpa pengetahuan universal. Mulailah dengan Steel hari ini dengan mengunjungi repo GitHub kami untuk dokumentasi, contoh kode, dan sumber daya untuk membantu Anda mengintegrasikan Steel ke dalam proyek Anda.