Foresight News、Alex Liu 編纂
イーサリアムは、活況を呈する分散型アプリケーション エコシステムをもたらすことに成功しましたが、そのスケーラビリティの課題はますます深刻になっています。開発者は、アプリケーションの機能とデータの豊富さを制限するか、高いガス料金とガス使用制限を許容するかという難しい選択に直面しています。開発者がこれらの制限を回避する方法を持っていたらどうなるでしょうか?
RISC Zero は、zkEVM という言葉をよく耳にするものの、zkVM という言葉が何なのかわからない場合は、この記事を参照してください。 RISC Zero の最新リリースは Steel です。これは、開発者がイーサリアム L1 またはその他の EVM チェーンと対話する方法に大きな変化をもたらす、Alloy ベースのビュー コール プルーフ ライブラリです。 Steel は、ゼロ知識証明と RISC Zero zkVM を活用することで、開発者がビュー呼び出しを実行し、スケーラブルで安全かつコスト効率の高い方法でイーサリアムの状態を確実に読み取り、計算できるようにします。
Steel は、イーサリアム アプリケーション開発とゼロ知識テクノロジーの間のギャップを埋め、開発者がスマート コントラクトで ZK のパワーを活用しやすくします。 Steel を RISC Zero zkVM の機能と組み合わせることで、開発者はイーサリアム L1 または任意の EVM 同等チェーン上で、より安全でスケーラブルかつ効率的なアプリケーションを構築できます。
Steel を使用すると、開発者は次のことが可能になります:
Steel を使用すると、必要な Solidity メソッドを指定するのと同じくらい簡単にビュー呼び出しを実行できます。 ERC-20 トークン残高の取得 (例) であっても、イーサリアム状態からすべてにアクセスする場合でも、Steel はセキュリティと効率を確保しながら RISC Zero zkVM とシームレスに統合することでプロセスを簡素化します。テストの結果、Steel は 1 回のビュー呼び出しで 100,000 を超える SLOAD 操作を処理でき、メインネットのガスコストを数千ドル節約できることがわかりました。 Bonsai を使用すると、ブロック制限の 7 倍である少なくとも 2 億 1,000 万のガスが必要となるため、約 15 分でそれを証明できます。
次のコード スニペットは、Steel を使用してイーサリアム上にデプロイされた ERC-20 コントラクトの特定のアドレスの残高を証明するプロセスを示しています。この例では、開発者が Steel を利用して zkVM 内の Ethereum オンチェーン データと対話する方法を示します。完全なコードはここで参照できます。
view関数シグネチャを定義する
まず、sol!マクロを使用してERC-20のbalanceOf関数シグネチャを定義します。これにより、Solidity 構文が解析されて、SolCall トレイトを実装する対応する Rust 構造体が生成され、アカウント アドレスを受け取り、関連付けられた ERC-20 トークン残高を返す BalanceOf メソッドの呼び出しに使用できます。
通話準備完了
次に、ターゲットアカウントアドレスを使用してbalanceOfCall構造体をインスタンス化して通話を設定します。同時に、問い合わせたい契約アドレスと発信者のアドレスの定数を定義します。
Mainで呼び出しを実行する
main関数はzkVMで実行され、ゼロ知識証明を生成します。まず入力環境を読み取り、次に ViewCallEnv オブジェクトを構築して、現在の状態が予想される状態のルートと一致することを確認します。関連するブロック ハッシュと番号を送信した後、ビュー呼び出しを実行し、残高を出力します。
Steelは、RISC Zero zkVMのSolidityコードを3つのステップで証明し、実行プロセスを簡素化します:
従来の Proof of Storage では、開発者はスマート コントラクトで使用されるストレージ スロットを手動で選択し、スマート コントラクト ロジックを再実装する必要があります。 Steel では、すべてのストレージ スロットがビュー呼び出しに基づいて自動的に検出され、フェッチされます。これにより、開発者の時間を大幅に節約し、実装エラーの可能性を減らし、セキュリティ上の脆弱性が発生する可能性を減らします。
イーサリアム スマート コントラクトでブロックハッシュ オペコードを使用して検証する場合、検証済みのコミットメントは 256 ブロック以内の古いブロック ハッシュを参照する必要があります。平均ブロック時間が 12 秒であることを考慮すると、完全なプルーフの生成と、検証されたトランザクションがブロックに含まれていることの確認にかかる時間枠は約 50 分という狭い時間枠になります。
256 ブロックよりも古いチェーン上の検証済みのブロック ハッシュを取得する必要がある場合、いくつかの戦略の 1 つを使用できます:
は、オフチェーンの計算がオンチェーンの検証とシームレスに統合される未来を想定しています。 Steel は、開発者が zkVM 内でイーサリアムの完全な履歴に確実にアクセスして計算できるようにすることで、このビジョンに貢献し、データが豊富でより強力な次世代のオンチェーン アプリケーションを作成できるようにします。
以上がRISC Zero Steel はイーサリアムの ZK 導入をどのように加速しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。