見出し画像

TEE向けzkVM:RISC Zeroによる認証集約とTLS検証

この記事は「zkVM for TEEs: Attestation aggregation and TLS verification with RISC Zero」を日本語訳したものです。

TEE コプロセッサは、分離された領域で安全な計算を実行することにより、ブロックチェーンのスマート コントラクト環境の機能を拡張します。初の汎用zkVM (ゼロ知識仮想マシン) であるRISC Zeroと連携することで、SGX DCAP証明の検証は、現在の最先端技術よりも8倍安価になります。

さらに、暗号化TEE証明を使用してTLS検証のパフォーマンスを向上させるためにRISC Zero zkVMの使用についても検討します。

(TEE) + (ZK)

ブロックチェーンは、実世界のデータを照会して有用性を高めようとしていますが、スマートコントラクト環境によって制限されています。ブロックチェーンが外部の情報源とどのようにやり取りできるかについて、いくつかの近似値を検討します。

  • 暗号オラクルは、ブロックチェーン上のスマートコントラクトにオフチェーン情報を供給する一例ですが、この (集中化された) 第三者への依存により、信頼できないはずのシステムに信頼が導入されます。

  • 別のアプローチとしては、スマートコントラクトにTLSバイトストリームと復号化キーへのアクセスをプロビジョニングしてストリームを復号化し、ストリームソースが正当であることを確認し、必要なデータを抽出します。これは、ZK回路内で実行できます。

  • しかし、業界では改善に努めてきたものの、zkVMの証明生成は労力がかかり、時間がかかることが分かっています。短期的には、TEEの導入によりこの問題は解消され、TEE証明の生成に必要な時間はZKセットアップに比べて特に魅力的です。

  • したがって、TEEを使用してTLS ストリームを復号化し、実行の整合性に必要なデータを取得することを提案します。このアプローチは、より高速なTEE証明を実行して、暗号的に信頼できるZK証明で実行されるZKシステム (この場合は RISC ZeroのzkVM) に対する計算の正しさを証明することです。

このソリューションは、TEEまたはZKシステムのいずれかのみを使用した TLS検証の単純なベースラインを上回っており、ハードウェア実装が幅広いシナリオにわたるシステムの検証に適していることを示唆しているため興味深いものです。

SGX DCAPオンチェーン検証

リモート認証により、遠隔地の相手が TEE 環境の状態を検証できます。RISC Zero を使用したこの最初の実装では、Automata-DCAP-V3 を使用した以前の作業を基に、Intel SGX Data Center Attestation Primitives (DCAP) を検討しました。Automata-DCAP-V3は、TEE コプロセッサである Sirrah の高速実行にも Flashbots チームによって使用されたSolidity検証ツールです。

TEEは、リモート認証の実行を要求されると、暗号化認証ドキュメント (Intel SGX の用語では引用) を生成します。引用には、エンクレーブの ID (エンクレーブを一意に識別する公開キーやその他のメタデータ)、測定値 (つまり、エンクレーブの状態)、引用に含まれる情報の信頼性と整合性を証明するデジタル署名などの情報が含まれます。

チェーン上でのクォート検証の単純な実装には、約300万ガスのコストがかかります。このコストのうち、約 150 万は secp256r1 署名の検証に費やされます。これらの署名は、エンクレーブの公開キーを承認するために Intel によって署名および配布された x.509 証明書の検証の一部です。証明書は、EVM でネイティブにサポートされていない secp256r1 曲線を使用していますが、 Daimoの Solidity コントラクトであるP256 Verifierを使用することで、検証コストを署名あたり約 330K ガスに抑えることができました。これは、単純な secp256r1 検証に比べて大幅に改善されています。

現在議論されている別の作業ラインは、EIP-7212です。これは、secp256r1 の署名検証を実行する新しいプリコンパイルであり、 Ethereum より前の任意のEVM チェーン (主にロールアップ) に直接サポートを追加します。これにより、1 回の検証コストが3450GASに下がり、ほとんどの設定で署名検証が実用的になります。

ZK(TEE)

RISC Zero では、untrustingなエンティティがゼロ知識方式で任意の計算の正確性を検証できるため、zkVM にプライバシーとスケーラビリティという 2 つの特性が与えられます。RISC ZeroのzkVMを使用すると、オンチェーンで単一の集約された証明のみを検証することで、認証署名の検証に必要な計算を圧縮できます。パフォーマンス ベンチマークは以下で共有されます。

当初、私たちは署名検証よりも証明集約を実行することでコストを削減しようとしました。これは、a) secp256r1 署名検証を ZK 回路にロードして個別の証明を生成し、b) すべての ZK 証明を別の集約回路に送り込んで単一のコンパクトな証明を生成することで実現しました。私たちの証明設定により、検証コストは約480K GASに削減されました。

この十分に有望なスタートを受けて、私たちはRISC ZeroのzkVMを使用した実装でこれをさらに調査しました。zkVMは、RustなどのRISC-V互換言語で記述されている限り、任意のコードが正しく実行されることを証明するように設計されているため、引用検証全体に対してZKPを生成することにしました。

結果は? 証明書全体の検証に必要なガスはわずか約350K GASです。Bonsai で証明生成を実行するには約5分かかり、Metalを使用してMacbook Pro (M3pro) でローカルに実行すると最大35分かかります。

オートマタの 10,000 ドル ATA SGX DCAP 報奨金

また、本物のIntel SGXマシンから発信されたものでなくても、正常に検証できるDCAPの引用を提出する人に対して、10,000ATAの賞金を出す予定です。この一環として、ユーザーが Bonsai に引用を送信して対応する groth16 証明を取得できるCLI ツールをオープンソース化しました。

懸賞金は 3 か月間実行され、現在から 2024年9月10日 00:00 UTC まで応募を受け付けます。詳細については、懸賞金ページを参照してください。

TEEコプロセッサ用のzkVM

RISC ZeroのzkVMを介してDCAP認証を実行することには大きな利点があります。

  • 証明検証が8倍安価になります。オンチェーン検証のコストをオフチェーン証明に移行することで、計算オーバーヘッドが大幅に削減されます。

  • 開発における抽象化。カスタム回路の設計は魅力的に思えるかもしれませんが、RISC Zeroでの経験から、既存のツールを使用することで簡単に改善を実装できることが実証されました。抽象化は、低レベルのコードよりも最適な場合があります。抽象化レイヤーは高度な最適化を行うことが多く、エラーや非効率性の影響が少なく、専門家以外の人にとってはより優れたオプションとなる場合があります。

  • TEEの使いやすさが向上しました。集約を使用してアテステーションを効率的に検証できることは、ブロックチェーン上にTEE構造を構築することに関心のある開発者にとって大きな期待が寄せられています。RISC Zero のzkVMの初期パフォーマンスは、DCAPアテステーションのコスト削減においてすでに画期的な成果ですが、さらなる最適化が発見されると、すぐに控えめなものに思えるようになるかもしれません。複数のTEEアテステーションを集約することで、現在の方法よりも高速化することも可能です。今後、さらに多くの資料を公開する予定です。

Automata Networkについて

Automata Network は、TEEコプロセッサを使用してマシンの信頼性を Ethereumに拡張するモジュール式の証明レイヤーです。そのマルチ証明者 AVS は、TEE委員会をブートストラップして、セカンダリTEE証明者によるロールアップのセキュリティを強化します。

ウェブサイト| Telegram | Discord | X | Github |ニュースレター

この記事が気に入ったらサポートをしてみませんか?