Memperkenalkan Baja

Menengah5/27/2024, 5:05:26 AM
RISC Zero adalah salah satu pengembang zkVM terkemuka dan baru-baru ini meluncurkan Steel, perpustakaan pembuktian panggilan tampilan berdasarkan Alloy. Ini membawa transformasi signifikan dalam cara pengembang berinteraksi dengan Ethereum L1 atau rantai EVM lainnya. Memanfaatkan bukti tanpa pengetahuan dan RISC Zero zkVM, Steel memungkinkan pengembang untuk melakukan panggilan tampilan dan secara terbukti membaca dan menghitung keadaan Ethereum dengan cara yang terukur, aman, dan hemat biaya.

Memperkenalkan Baja: Paduan yang Dikeraskan, Menghubungkan RISC Zero ke Ethereum

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.

Solidity's Convenience, dengan kekuatan ZK.

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:

  • Jalankan kontrak pintar Solidity langsung di dalam zkVM untuk logika on-chain yang lebih canggih
  • Akses Status Ethereum historis di dalam zkVM
  • Komputasi tanpa batasan ukuran blok dan transaksi menggunakan kelanjutan
  • Memastikan komputasi off-chain yang aman dan andal, seolah-olah dijalankan secara on-chain
  • Memanfaatkan zkVM siap produksi pertama, diuji secara ketat dan digunakan oleh berbagai mitra
  • Perhitungan pribadi atas status Ethereum
  • Pertahankan fleksibilitas dengan basis kode sumber terbuka, tanpa penguncian vendor

Integrasi Mulus dan Penghematan Biaya

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.

Contoh: ERC20 balanceOf

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.

Cara kerjanya

Steel menyederhanakan proses pembuktian eksekusi kode Soliditas di RISC Zero zkVM dalam tiga langkah sederhana:

  1. Fase Pra-penerbangan: Memulai pra-penerbangan dengan melakukan panggilan tampilan ke node RPC Ethereum. Ini menyimpan slot penyimpanan yang diperlukan, mengisi database EVM hanya dengan data yang diperlukan untuk kueri. Semua slot penyimpanan ditemukan dan diambil secara otomatis berdasarkan eksekusi panggilan tampilan.
  2. Verifikasi Penyimpanan: Lakukan pemeriksaan integritas penyimpanan, pastikan bahwa data dalam database EVM selaras dengan akar status blockchain, sehingga mengkonfirmasi legitimasinya.
  3. Eksekusi Soliditas: Jalankan fungsi Soliditas yang diberikan pada EVM, di dalam RISC Zero zkVM.

Apa bedanya dengan bukti penyimpanan?

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.

Mendapatkan hash blok terverifikasi

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:

  • Ketika hash blok yang akan dibutuhkan diketahui sebelumnya (misalnya ketika memulai proposal untuk tata kelola), hash blok tersebut dapat disimpan ke status kontrak.
  • Pendekatan lain adalah dengan menggunakan RISC Zero untuk membuktikan rantai hash dari blok yang ditanyakan hingga blok di 256 terbaru.

Masa Depan Aplikasi On-chain

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.

Mulai dengan Steel

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.

Sanggahan:

  1. Artikel ini dicetak ulang dari [riscze]. Semua hak cipta adalah milik penulis asli [Santiago Campos]. Jika ada keberatan dengan cetak ulang ini, silakan hubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Kewajiban: Pandangan dan pendapat yang diungkapkan dalam artikel ini semata-mata milik penulis dan bukan merupakan saran investasi.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel yang diterjemahkan dilarang.

Memperkenalkan Baja

Menengah5/27/2024, 5:05:26 AM
RISC Zero adalah salah satu pengembang zkVM terkemuka dan baru-baru ini meluncurkan Steel, perpustakaan pembuktian panggilan tampilan berdasarkan Alloy. Ini membawa transformasi signifikan dalam cara pengembang berinteraksi dengan Ethereum L1 atau rantai EVM lainnya. Memanfaatkan bukti tanpa pengetahuan dan RISC Zero zkVM, Steel memungkinkan pengembang untuk melakukan panggilan tampilan dan secara terbukti membaca dan menghitung keadaan Ethereum dengan cara yang terukur, aman, dan hemat biaya.

Memperkenalkan Baja: Paduan yang Dikeraskan, Menghubungkan RISC Zero ke Ethereum

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.

Solidity's Convenience, dengan kekuatan ZK.

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:

  • Jalankan kontrak pintar Solidity langsung di dalam zkVM untuk logika on-chain yang lebih canggih
  • Akses Status Ethereum historis di dalam zkVM
  • Komputasi tanpa batasan ukuran blok dan transaksi menggunakan kelanjutan
  • Memastikan komputasi off-chain yang aman dan andal, seolah-olah dijalankan secara on-chain
  • Memanfaatkan zkVM siap produksi pertama, diuji secara ketat dan digunakan oleh berbagai mitra
  • Perhitungan pribadi atas status Ethereum
  • Pertahankan fleksibilitas dengan basis kode sumber terbuka, tanpa penguncian vendor

Integrasi Mulus dan Penghematan Biaya

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.

Contoh: ERC20 balanceOf

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.

Cara kerjanya

Steel menyederhanakan proses pembuktian eksekusi kode Soliditas di RISC Zero zkVM dalam tiga langkah sederhana:

  1. Fase Pra-penerbangan: Memulai pra-penerbangan dengan melakukan panggilan tampilan ke node RPC Ethereum. Ini menyimpan slot penyimpanan yang diperlukan, mengisi database EVM hanya dengan data yang diperlukan untuk kueri. Semua slot penyimpanan ditemukan dan diambil secara otomatis berdasarkan eksekusi panggilan tampilan.
  2. Verifikasi Penyimpanan: Lakukan pemeriksaan integritas penyimpanan, pastikan bahwa data dalam database EVM selaras dengan akar status blockchain, sehingga mengkonfirmasi legitimasinya.
  3. Eksekusi Soliditas: Jalankan fungsi Soliditas yang diberikan pada EVM, di dalam RISC Zero zkVM.

Apa bedanya dengan bukti penyimpanan?

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.

Mendapatkan hash blok terverifikasi

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:

  • Ketika hash blok yang akan dibutuhkan diketahui sebelumnya (misalnya ketika memulai proposal untuk tata kelola), hash blok tersebut dapat disimpan ke status kontrak.
  • Pendekatan lain adalah dengan menggunakan RISC Zero untuk membuktikan rantai hash dari blok yang ditanyakan hingga blok di 256 terbaru.

Masa Depan Aplikasi On-chain

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.

Mulai dengan Steel

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.

Sanggahan:

  1. Artikel ini dicetak ulang dari [riscze]. Semua hak cipta adalah milik penulis asli [Santiago Campos]. Jika ada keberatan dengan cetak ulang ini, silakan hubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Kewajiban: Pandangan dan pendapat yang diungkapkan dalam artikel ini semata-mata milik penulis dan bukan merupakan saran investasi.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel yang diterjemahkan dilarang.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!