RISC Zero Steel はイーサリアムの ZK 導入をどのように加速しますか?

王林
リリース: 2024-06-08 17:03:32
オリジナル
918 人が閲覧しました

Foresight News、Alex Liu 編纂

イーサリアムは、活況を呈する分散型アプリケーション エコシステムをもたらすことに成功しましたが、そのスケーラビリティの課題はますます深刻になっています。開発者は、アプリケーションの機能とデータの豊富さを制限するか、高いガス料金とガス使用制限を許容するかという難しい選択に直面しています。開発者がこれらの制限を回避する方法を持っていたらどうなるでしょうか?

Steel、RISC Zero と Ethereum を接続する

RISC Zero は、zkEVM という言葉をよく耳にするものの、zkVM という言葉が何なのかわからない場合は、この記事を参照してください。 RISC Zero の最新リリースは Steel です。これは、開発者がイーサリアム L1 またはその他の EVM チェーンと対話する方法に大きな変化をもたらす、Alloy ベースのビュー コール プルーフ ライブラリです。 Steel は、ゼロ知識証明と RISC Zero zkVM を活用することで、開発者がビュー呼び出しを実行し、スケーラブルで安全かつコスト効率の高い方法でイーサリアムの状態を確実に読み取り、計算できるようにします。

Solidity の利便性、ZK のパワー

Steel は、イーサリアム アプリケーション開発とゼロ知識テクノロジーの間のギャップを埋め、開発者がスマート コントラクトで ZK のパワーを活用しやすくします。 Steel を RISC Zero zkVM の機能と組み合わせることで、開発者はイーサリアム L1 または任意の EVM 同等チェーン上で、より安全でスケーラブルかつ効率的なアプリケーションを構築できます。

Steel を使用すると、開発者は次のことが可能になります:

  • より複雑なオンチェーンロジックと互換性のある、zkVM で直接 Solidity スマートコントラクトを実行
  • zkVM で過去の Ethereum 状態にアクセス
  • ブロックやトランザクションデータの制限に依存せず、計算に継続を使用サイズ
  • オフチェーン計算がオンチェーン実行と同じくらい安全で信頼できることを保証
  • 厳密にテストされ、複数のパートナーによって使用されている、実稼働対応の最初の zkVM を利用
  • イーサリアム状態のプライベート計算
  • オープンソース コード ベースでベンダーに依存しない

シームレスな統合とコスト削減

Steel を使用すると、必要な Solidity メソッドを指定するのと同じくらい簡単にビュー呼び出しを実行できます。 ERC-20 トークン残高の取得 (例) であっても、イーサリアム状態からすべてにアクセスする場合でも、Steel はセキュリティと効率を確保しながら RISC Zero zkVM とシームレスに統合することでプロセスを簡素化します。テストの結果、Steel は 1 回のビュー呼び出しで 100,000 を超える SLOAD 操作を処理でき、メインネットのガスコストを数千ドル節約できることがわかりました。 Bonsai を使用すると、ブロック制限の 7 倍である少なくとも 2 億 1,000 万のガスが必要となるため、約 15 分でそれを証明できます。

例: ERC20 BalanceOf

次のコード スニペットは、Steel を使用してイーサリアム上にデプロイされた ERC-20 コントラクトの特定のアドレスの残高を証明するプロセスを示しています。この例では、開発者が Steel を利用して zkVM 内の Ethereum オンチェーン データと対話する方法を示します。完全なコードはここで参照できます。

view関数シグネチャを定義する

まず、sol!マクロを使用してERC-20のbalanceOf関数シグネチャを定義します。これにより、Solidity 構文が解析されて、SolCall トレイトを実装する対応する Rust 構造体が生成され、アカウント アドレスを受け取り、関連付けられた ERC-20 トークン残高を返す BalanceOf メソッドの呼び出しに使用できます。

RISC Zero Steel 如何加速以太坊的 ZK 采用?

通話準備完了

次に、ターゲットアカウントアドレスを使用してbalanceOfCall構造体をインスタンス化して通話を設定します。同時に、問い合わせたい契約アドレスと発信者のアドレスの定数を定義します。

RISC Zero Steel 如何加速以太坊的 ZK 采用?

Mainで呼び出しを実行する

main関数はzkVMで実行され、ゼロ知識証明を生成します。まず入力環境を読み取り、次に ViewCallEnv オブジェクトを構築して、現在の状態が予想される状態のルートと一致することを確認します。関連するブロック ハッシュと番号を送信した後、ビュー呼び出しを実行し、残高を出力します。

RISC Zero Steel 如何加速以太坊的 ZK 采用?

仕組み

Steelは、RISC Zero zkVMのSolidityコードを3つのステップで証明し、実行プロセスを簡素化します:

  1. プリフライトフェーズ: Ethereum RPCノードへのビュー呼び出しを行うことでプリフライトを開始します。必要なストレージ スロットがキャッシュされ、クエリに必要なデータのみが EVM データベースに格納されます。すべてのストレージ スロットは、ビュー呼び出しに基づいて自動的に検出および取得されます。
  2. ストレージ検証: ストレージ整合性チェックを実行して、EVM データベース内のデータがブロックチェーンのステート ルートと一致していることを確認し、その正当性を確認します。
  3. Solidity 実行: RISC Zero zkVM 内の EVM で指定された Solidity 関数を実行します。

これは保管証明とどう違うのですか?

従来の Proof of Storage では、開発者はスマート コントラクトで使用されるストレージ スロットを手動で選択し、スマート コントラクト ロジックを再実装する必要があります。 Steel では、すべてのストレージ スロットがビュー呼び出しに基づいて自動的に検出され、フェッチされます。これにより、開発者の時間を大幅に節約し、実装エラーの可能性を減らし、セキュリティ上の脆弱性が発生する可能性を減らします。

検証済みのブロック ハッシュを取得する

イーサリアム スマート コントラクトでブロックハッシュ オペコードを使用して検証する場合、検証済みのコミットメントは 256 ブロック以内の古いブロック ハッシュを参照する必要があります。平均ブロック時間が 12 秒であることを考慮すると、完全なプルーフの生成と、検証されたトランザクションがブロックに含まれていることの確認にかかる時間枠は約 50 分という狭い時間枠になります。

256 ブロックよりも古いチェーン上の検証済みのブロック ハッシュを取得する必要がある場合、いくつかの戦略の 1 つを使用できます:

  • 必要となるブロック ハッシュが事前にわかっている場合 (例: 起動時)ガバナンス提案)、ブロック ハッシュをコントラクト状態に保存できます。
  • もう 1 つのアプローチは、RISC Zero を使用して、クエリされたブロックから最新の 256 ブロックの 1 つまでのハッシュのチェーンを証明することです。

オンチェーン アプリケーションの未来

は、オフチェーンの計算がオンチェーンの検証とシームレスに統合される未来を想定しています。 Steel は、開発者が zkVM 内でイーサリアムの完全な履歴に確実にアクセスして計算できるようにすることで、このビジョンに貢献し、データが豊富でより強力な次世代のオンチェーン アプリケーションを作成できるようにします。

以上がRISC Zero Steel はイーサリアムの ZK 導入をどのように加速しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:panewslab.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート