%3A%20%E6%B7%B1%E6%8E%98%E3%82%8A%E8%A7%A3%E8%AA%AC)
1. TEE テクノロジーの概要
定義とアーキテクチャ: 信頼実行環境 (Trusted Execution Environment: TEE) とは、プロセッサ内の安全な領域であり、その内部にロードされたコードとデータを機密性および完全性の観点から保護するものです。実用的には、TEE は CPU 内の隔離された「アンクレイブ (enclave)」として機能します。これは、システムの他の部分から保護された状態で機密性の高い計算を実行できる、一種の 「ブラックボックス」 です。TEE アンクレイブ内で実行されるコードは保護されているため、侵害されたオペレーティングシステムやハイパーバイザであっても、アンクレイブのデータやコードを読み取ったり改ざんしたりすることはできません。TEE が提供する主なセキュリティ特性は以下の通りです。
- 隔離 (Isolation): アンクレイブのメモリは他のプロセスや OS カーネルからも隔離されています。攻撃者がマシン上で完全な管理者権限を取得したとしても、アンクレイブのメモリを直接検査したり変更したりすることはできません。
- 完全性 (Integrity): ハードウェアによって、TEE で実行されるコードが外部の攻撃によって改変されないことが保証されます。アンクレイブのコードや実行時の状態に対するいかなる改ざんも検出され、侵害された結果が出力されるのを防ぎます。
- 機密性 (Confidentiality): アンクレイブ内のデータはメモリ上では暗号化されたまま保持され、CPU 内部で使用されるときのみ復号されるため、秘密データが平文で外部に公開されることはありません。
- リモートアテステーション (Remote Attestation): TEE は、自身が本物であること、および特定の信頼できるコードがその内部で実行されていることをリモートパーティに確信させるための暗号化証明 (アテステーション) を生成できます。これにより、ユーザーは秘密データを提供する前に、アンクレイブが信頼できる状態 (例:正規のハードウェア上で期待通りのコードが実行されている) であることを検証できます。
スマートコントラクト実行のための安全なアンクレイブ「ブラックボックス」としての信頼実行環境の概念図。暗号化された入力 (データとコントラクトコード) は安全なアンクレイブ内で復号および処理され、暗号化された結果のみがアンクレイブから送出されます。これにより、機密性の高いコントラクトデータが TEE 外部の誰に対しても機密に保たれることが保証されます。
内部的には、TEE は CPU におけるハードウェアベースのメモリ暗号化とアクセス制御によって実現されています。例えば、TEE アンクレイブが作成されると、CPU はそのための保護されたメモリ領域を割り当て、専用のキー (ハードウェアに焼き付けられているか、セキュアコプロセッサによって管理されている) を使用して、データを動的に暗号化/復号します。外部ソフトウェアがアンクレイブメモリを読み取ろうとしても、暗号化されたバイト列しか取得できません。この CPU レベルの独自の保護により、ユーザーレベルのコードであっても、特権を持つマルウェアや悪意のあるシステム管理者ですら覗き見や変更ができないプライベートなメモリ領域 (アンクレイブ) を定義することが可能になります。本質的に、TEE は専用のセキュアエレメントやハードウェアセキュリティモジュール (HSM) よりも柔軟でありながら、通常の実行環境よりも高いレベルのセキュリティをアプリケーションに提供します。
主要なハードウェア実装: いくつかのハードウェア TEE テクノロジーが存在し、それぞれアーキテクチャは異なりますが、システム内に安全なアンクレイブを作成するという共通の目的を持っています。
-
Intel SGX (Software Guard Extensions): Intel SGX は、最も広く使用されている TEE 実装の 1 つです。アプリケーションがプロセスレベルでアンクレイブを作成することを可能にし、メモリ暗号化とアクセス制御は CPU によって強制されます。開発者は、コードを「信頼できる」コード (アンクレイブ内) と「信頼できない」コード (通常の世界) に分割し、特別な命令 (ECALL/OCALL) を使用してアンクレイブとの間でデータをやり取りする必要があります。SGX はアンクレイブに対して強力な隔離を提供し、Intel のアテステーションサービス (IAS) を介したリモートアテステーションをサポートしています。Secret Network や Oasis Network をはじめとする多くのブロックチェーンプロジェクトは、SGX アンクレイブ上でプライバシー保護スマートコントラクト機能を構築しました。しかし、複雑な x86 アーキテクチャ上での SGX の設計はいくつかの脆弱性を招いており (§4 参照)、Intel によるアテステーションは中央集権的な信頼への依存をもたらします。
-
ARM TrustZone: TrustZone は、プロセッサの実行環境全体を セキュアワールド (Secure World) と ノーマルワールド (Normal World) の 2 つに分割するという異なるアプローチを取っています。機密性の高いコードは、特定の保護されたメモリや周辺機器にアクセスできるセキュアワールドで実行され、ノーマルワールドでは通常の OS やアプリケーションが実行されます。ワールド間の切り替えは CPU によって制御されます。TrustZone は、モバイルデバイスや IoT デバイスで、セキュアな UI、決済処理、デジタル著作権管理 (DRM) などによく使用されています。ブロックチェーンの文脈では、TrustZone は秘密鍵や機密ロジックをスマートフォンの安全なアンクレイブ内で実行できるようにすることで、モバイルファーストの Web3 アプリケーションを可能にする可能性があります。ただし、TrustZone のアンクレイブは通常、粒度が大きく (OS または VM レベル)、現在の Web3 プロジェクトでは SGX ほど一般的ではありません。
-
AMD SEV (Secure Encrypted Virtualization): AMD の SEV テクノロジーは、仮想化環境を対象としています。アプリケーションレベルのアンクレイブを必要とする代わりに、SEV は仮想マシン (VM) 全体のメモリを暗号化できます。組み込みのセキュリティプロセッサを使用して暗号化キーを管理し、メモリの暗号化を実行するため、ホスト側のハイパーバイザに対しても VM のメモリの機密性が保たれます。これにより、SEV はクラウドやサーバーのユースケースに適しています。例えば、ブロックチェーンノードやオフチェーンワーカーを完全に暗号化された VM 内で実行し、悪意のあるクラウドプロバイダーからデータを保護できます。SEV の設計は、コードを分割する開発者の手間が少ないこと を意味します (既存のアプリケーションや OS 全体を保護された VM で実行できます)。新しいイテレーションである SEV-SNP では、改ざん検出などの機能が追加され、VM 所有者が中央集権的なサービスに依存せずに VM をアテステーションできるようになっています。SEV は、クラウドベースのブロックチェーンインフラストラクチャにおける TEE の利用において非常に重要です。
その他の新興またはニッチな TEE 実装には、Intel TDX (Trust Domain Extensions、新しい Intel チップ上の VM におけるアンクレイブのような保護)、Keystone (RISC-V) などのオープンソース TEE、モバイルの セキュアアンクレイブチップ (Apple の Secure Enclave など、通常は任意のコードを実行するために公開されていません) があります。各 TEE には独自の開発モデルと信頼の前提条件がありますが、すべて ハードウェアで隔離された安全な実行 という中核的な概念を共有しています。
2. Web3 における TEE の活用
信頼された実行環境(TEEs)は、Web3 における最も困難な課題のいくつかを解決するための強力なツールとなっています。セキュアでプライベートな計算レイヤーを提供することで、TEE はプライバシー、スケーラビリティ、オラクルのセキュリティ、および整合性の分野において、ブロックチェーンアプリケーションの新たな可能性を切り拓きます。以下 に主要な活用領域を紹介します。
プライバシーを保護するスマートコントラクト
Web3 における TEE の最も顕著な用途の一つは、機密スマートコントラクト(confidential smart contracts) の実現です。これは、ブロックチェーン上で実行されながらも、プライベートなデータを安全に処理できるプログラムです。Ethereum のようなブロックチェーンは、デフォルトで透明性が高く、すべてのトランザクションデータとコントラクトの状態が公開されています。この透明性は、機密性が必要なユースケース(例:非公開の金融取引、秘密投票、個人データの処理)においては問題となります。TEE は、ブロックチェーンに接続されたプライバシー保護型の計算エンクレーブとして機能することで、このソリューションを提供します。
TEE を活用したスマートコントラクトシステムでは、トランザクションの入力値はバリデーターまたはワーカーノード上のセキュアエンクレーブに送信され、外部からは暗号化されたままエンクレーブ内部で処理されます。その後、エンクレーブは暗号化またはハッシュ化された結果をチェーンに返します。復号キーを持つ権限のある当事者(またはコントラクトロジック自体)のみが、平文の結果にアクセスできます。例えば、Secret Network はコ ンセンサスノードで Intel SGX を使用して、暗号化された入力に対して CosmWasm スマートコントラクトを実行します。これにより、アカウント残高、取引金額、コントラクトの状態などを公開せずに計算に利用することが可能になります。これは、金額が非公開のプライベートトークンスワップや、入札額が暗号化されオークション終了後にのみ公開される秘密オークションなど、秘密 DeFi(secret DeFi) アプリケーションを実現しています。別の例として、Oasis Network の Parcel や機密 ParaTime があります。これらはデータをトークン化し、機密性の制約下でスマートコントラクトで使用できるようにし、プライバシー規制を遵守しながらブロックチェーン上での信用スコアリングや医療データの活用などのユースケースを可能にします。
TEE によるプライバシー保護型スマートコントラクトは、企業や機関によるブロックチェーンの採用において魅力的です。組織は、機密性の高いビジネスロジックやデータを保護しながら、スマートコントラクトを活用できます。例えば、銀行は TEE 対応のコントラクトを使用して、顧客データをオンチェーンにさらすことなくローン申請や取引決済を処理し、同時にブロックチェーンの透明性と整合性のメリットを享受できます。この機能は、GDPR や HIPAA などの規制上のプライバシー要件に直接対応するものであり、ヘルスケア、金融、その他の機密性の高い業界でコンプライアンスを維持したブロックチェーン利用を可能にします。実際、TEE はコンプライアンスを促進します。個人データがエンクレーブ内で処理され、暗号化された出力のみが外部に出ることを保証することで、データが保護されていることを規制当局に示し、データ保護法を満たすことができます。
機密性に加えて、TEE はスマートコントラクトにおける 公平性(fairness) の強制にも役立ちます。例えば、分散型取引所(DEX)はマッチングエンジンを TEE 内部で実行することで、マイナーやバリデーターが保留中の注文を閲覧し、不正にフロントランニング(先回り注文)を行うことを防ぐことができます。要約すると、TEE は Web3 に待望の プライバシーレイヤー をもたらし、これまでパブリックレジャー上では不可能だった機密 DeFi、プライベート投票/ガバナンス、企業向けコントラクトなどのアプリケーションを解き放ちます。
スケーラビリティとオフチェーン計算
TEE のもう一つの重要な役割は、負荷の高い計算をセキュアな環境でオフチェーンに逃がすことで、ブロックチェーンの スケーラビリティ を向上させることです。ブロックチェーンは、パフォーマンスの限界やオンチェーン実行のコストのため、複雑または計算負荷の高いタスクの処理に苦労しています。TEE を活用したオフチェーン計算により、これらのタスクをメインチェーンの外で実行できるようになります(そのため、ブロックのガスを消費せず、オンチェーンのスループットを低下させません )。同時に、結果の正当性については信頼の保証を維持できます。実質的に、TEE は Web3 のための 検証可能なオフチェーン計算アクセラレータ として機能します。
例えば、iExec プラットフォームは TEE を使用して分散型クラウドコンピューティングマーケットプレイスを構築しており、開発者は計算をオフチェーンで実行し、ブロックチェーンから信頼される結果を得ることができます。dApp は、iExec のワーカーノードによって実行される計算(例えば、複雑な AI モデルの推論やビッグデータ分析)をリクエストできます。これらのワーカーノードは SGX エンクレーブ内でタスクを実行し、正当なエンクレーブで正しいコードが実行されたというアテステーション(証明)と共に結果を生成します。その後、結果はオンチェーンに返され、スマートコントラクトは出力を受け入れる前にエンクレーブのアテステーションを検証できます。このアーキテクチャにより、信頼を犠牲にすることなく重いワークロードを処理でき、実質的にスループットを向上させます。iExec Orchestrator と Chainlink の統合がこれを示しています。Chainlink オラクルが外部データを取得し、iExec の TEE ワーカーに複雑な計算(データの集約やスコアリングなど)を渡し、最終的にセキュアな結果がオンチェーンに届けられます。ユースケースには、iExec が実証した分散型保険の計算などがあります。ここでは、膨大なデータ処理を安価にオフチェーンで行い、最終的な結果のみをブロックチェーンに記録します。
TEE ベースのオフチェーン計算は、一部の レイヤー 2(L2)スケーリングソリューシ ョン の基盤にもなっています。Oasis Labs の初期のプロトタイプである Ekiden(Oasis Network の前身)は、SGX エンクレーブを使用してトランザクションの実行を並列にオフチェーンで行い、状態ルート(state roots)のみをメインチェーンにコミットしていました。これは本質的にロールアップの概念に似ていますが、ハードウェアの信頼を利用しています。TEE でコントラクトを実行することで、セキュリティを維持しながら高いスループットを実現しました。別の例は、Sanders Network が今後リリースする Op-Succinct L2 です。これは TEE と zkSNARKs を組み合わせたものです。TEE がトランザクションをプライベートかつ迅速に実行し、その後、それらの実行の正当性を Ethereum に対して証明するために ZK 証明(ゼロ知識証明)が生成されます。このハイブリッドアプローチは、スケーラブルでプライベートな L2 ソリューションのために、TEE のスピードと ZK の検証可能性をレバレッジしています。
一般に、TEE は(分離されているだけで実際の CPU 命令を使用するため)ネイティブに近いパフォーマンスで計算を実行できるため、複雑なロジックにおいて、準同型暗号やゼロ知識証明のような純粋な暗号学的代替手段よりも数桁高速です。作業をエンクレーブにオフロードすることで、ブロックチェーンはオンチェーンでは非実用的な複雑なアプリケーション(機械学習、画像/音声処理、大規模分析など)を処理できるようになります。結果はアテステーションと共に返され、オンチェーンのコントラクトやユーザーはそれが信頼されたエンクレーブから発信されたものであることを検証で きるため、データの整合性 と正当性が保たれます。このモデルはしばしば 「検証可能なオフチェーン計算(verifiable off-chain computation)」 と呼ばれ、TEE は多くのそのような設計(例:Intel、iExec などによって開発された Hyperledger Avalon の Trusted Compute Framework は、TEE を使用して EVM バイトコードをオフチェーンで実行し、正当性の証明をオンチェーンに投稿します)の要となっています。
セキュアなオラクルとデータの整合性
オラクル はブロックチェーンと現実世界のデータを橋渡ししますが、信頼に関する課題が生じます。オフチェーンのデータフィードが正しく、改ざんされていないことをスマートコントラクトはどうやって信頼すればよいのでしょうか? TEE は、オラクルノードのためのセキュアなサンドボックスとして機能することで、この解決策を提供します。TEE ベースのオラクル ノードは、外部ソース(API、ウェブサービス)からデータを取得し、ノードオペレーターやノード上のマルウェアによってデータが操作されていないことを保証するエンクレーブ内で処理できます。エンクレーブは、提供するデータの真実性を署名または証明(アテスト)できます。これにより、オラクルの データの整合性と信頼性 が大幅に向上します。たとえオラクルオペレーターが悪意を持っていたとしても、エンクレーブのアテステーションを壊さずにデータを変更することはできません(これはブロックチェーンによって検知されます)。
注目すべき例は、コーネル大学で開発されたオラクルシステム Town Crier です。これは Intel SGX エンクレーブを使用して認証済みデータを Ethereum コントラクトに提供した最初期の例の一つです。Town Crier は(HTTPS ウェブサイトなどから)SGX エンクレーブ内でデータを取得し、データがソースから直接取得され偽造されていないという証拠(エンクレーブ署名)と共にコントラクトに届けます。Chainlink はこの価値を認め、2018 年に Town Crier を買収し、TEE ベースのオラクルをその分散型ネットワークに統合しました。今日、Chainlink やその他のオラクルプロバイダーは TEE に関する取り組みを行っています。例えば、Chainlink の DECO や Fair Sequencing Services には、データの機密性と公正な順序付けを確保するために TEE が関与しています。ある分析で指摘されているように、「TEE はデータ処理のための改ざん防止環境を提供することで、オラクルのセキュリティに革命をもたらした... ノードオペレーター自身でさえ、処理中のデータを操作することはできない」 のです。これは、高価値の金融データフィード(DeFi 用の価格オラクルなど)にとって特に重要です。TEE は、大きな悪用につながる可能性のある微細な改ざんでさえ防ぐことができます。
また、TEE は、ブロックチェーン上で平文で公開できない 機密データや独自のデータ をオラクルが扱うことを可能にします。例えば、オラクルネットワークはエンクレーブを使用して、プライベートなデータ(機密性の高い株式注文台帳や個人の健康データなど)を集計し、生の機密入力を公開することなく、導き出された結果や検証された証明のみをブロックチェーンに提供できます。このように、TEE はスマートコントラクトに安全に統合できるデータの範囲を広げます。これは、現実資産(RWA)のトークン化、信用スコアリング、保険、およびその他のデータ集約型のオンチェーンサービス にとって極めて重要です。
クロスチェーンブリッジ のトピックにおいても、TEE は同様に整合性を向上させます。ブリッジは多くの場合、資産を保管しチェーン間の転送を検証するために、一連のバリデーターやマルチシグに依存していますが、これは攻撃の主要な標的となります。ブリッジのバリデーターロジックを TEE 内部で実行することで、ブリッジのプライベートキーと検証プロセスを改ざんから守ることができます。たとえバリデーターの OS が侵害されたとしても、攻撃者はエンクレーブ内部からプライベートキーを抽出したりメッセージを偽造したりすることはできないはずです。TEE は、ブリッジトランザクションがプロトコルルールに従って正確に処理されることを強制し、人間による操作やマルウェアが不正な転送を注入するリスクを軽減できます。さらに、TEE は アトミックスワップ やクロスチェーン取引をセキュアエンクレーブで処理することを可能にし、両方のサイドを完了させるか、あるいはクリーンに中断させるかのいずれかを保証することで、干渉によって資金が滞るシナリオを防ぎます。いくつか のブリッジプロジェクトやコンソーシアムは、近年多発しているブリッジハックの被害を軽減するために、TEE ベースのセキュリティを模索してきました。
オフチェーンにおけるデータの整合性と検証可能性
上記のすべてのシナリオにおいて繰り返されるテーマは、TEE がブロックチェーンの外であっても データの整合性 を維持するのに役立つということです。TEE は実行しているコードを(アテステーションを通じて)証明でき、干渉なしにコードが実行されることを保証できるため、一種の 検証可能なコンピューティング(verifiable computing) を提供します。ユーザーやスマートコントラクトは、アテステーションが正当であれば、あたかもオンチェーンで計算されたかのように TEE からの結果を信頼できます。この整合性の保証こそが、TEE がオフチェーンのデータや計算に 「信頼のアンカー(trust anchor)」 をもたらすと言われる理由です。
ただし、この信頼モデルは一部の前提をハードウェアにシフトさせている点に注意が必要です(§4 参照)。データの整合性は、TEE のセキュリティと同じ強さしか持ちません。エンクレーブが侵害されたり、アテステーションが偽造されたりすれば、整合性は損なわれる可能性があります。それでも、実際には(最新の状態に保たれている場合)TEE は特定の攻撃を著しく困難にします。例えば、DeFi のレンディングプラットフォームは、TEE を使用してユーザーのプライベートデータからオフチェーンで信用スコアを計算し、スマートコントラクトは有効なエンクレーブアテステーションが伴う場合にのみそのスコアを受け入れることができます。これにより、コントラクトは、ユーザーやオラクルを盲目的に信頼するのではなく、承認されたアルゴリズムによって実際のデータに基づいてスコアが計算されたことを知ることができます。
TEE は、台頭しつつある 分散型 ID(DID) や認証システムにおいても役割を果たします。プライベートキー、個人データ、および認証プロセスを安全に管理し、ユーザーの機密情報がブロックチェーンや dApp プロバイダーにさらされることがないようにします。例えば、モバイルデバイス上の TEE が生体認証を処理し、生体認証がパスした場合にのみブロックチェーンのトランザクションに署名することができます。これらすべてをユーザーの生体情報を明かすことなく行えます。これは、Web3 がパスポート、証明書、KYC データなどをユーザー主権の形で扱うために不可欠な、セキュリティとプライバシーの両方を提供します。
要約すると、TEE は Web3 における多目的なツールとして機能します。オンチェーンロジックの 機密性 を可能にし、オフチェーンのセキュア計算による スケーリング を許可し、オラクルやブリッジの 整合性 を保護し、プライベート ID からコンプライアンスを遵守したデータ共有まで、新たな用途を切り拓きます。次に、これらの機能を活用している特定のプロジェクトを見ていきましょう。
3. TEE を活用している注目の Web3 プロジェクト
数多くの主要なブロックチェーンプロジェクトが、信頼実行環境(TEE)を中心にコアサービスを構築しています。以下では、いくつかの注目すべきプロジェクトを取り上げ、それぞれがどのように TEE 技術を使用し、どのような独自の価値を付加しているかを詳しく見ていきます。
Secret Network
Secret Network は、TEE を使用してプライバシーを保護するスマートコントラクトを開拓した(Cosmos SDK で構築された)レイヤー 1 ブロックチェーンです。Secret Network のすべてのバリデータノードは Intel SGX エンクレーブを実行しており、スマートコントラクトのコードを実行することで、コントラクトの状態や入力・出力がノード運用者に対しても暗号化されたまま維持されます。これにより、Secret は最初期の プライバシー優先のスマートコントラクトプラットフォーム の一つとなりました。プライバシーはオプションの追加機能ではなく、プロトコルレ ベルでのネットワークのデフォルト機能です。
Secret Network のモデルでは、ユーザーは暗号化されたトランザクションを送信し、バリデータはそれを実行のために SGX エンクレーブにロードします。エンクレーブは入力を復号し、コントラクト(修正された CosmWasm ランタイムで記述)を実行し、ブロックチェーンに書き込まれる暗号化された出力を生成します。正しい閲覧キー(または内部キーを持つコントラクト自体)を持つユーザーのみが、実際のデータを復号して表示できます。これにより、アプリケーションは機密データを公開することなくオンチェーンで使用できるようになります。
このネットワークは、いくつかの斬新なユースケースを実証しています。
- Secret DeFi: 例として SecretSwap(AMM)があります。ユーザーの口座残高や取引額が非公開であるため、フロントランニングを軽減し、取引戦略を保護します。流動性提供者やトレーダーは、競合他社に自分の動きをすべて知られることなく活動できます。
- Secret Auctions: オークションが終了するまで入札額が秘密にされるオークションコントラクトで、他者の入札に基づく戦略的行動を防ぎます。
- プライベートな投票とガバナンス: トークン保有者は自分の投票選択を明かすことなく提案に投票でき、集計結果は検証可能です。これにより、公平で脅迫のないガバナンスが保証されます。
- データマーケットプレイス: 機密性の高いデータセットを、購入者やノードに生データをさらすことなく取引し、計算に使用できます。
Secret Network は本質的に、プロトコルレベルで TEE を組み込む ことで、「プログラマブル・プライバシー」という独自の価値提案を生み出しています。彼らが取り組んでいる課題には、分散型バリデータセット間でのエンクレーブ・アテステーション(証明)の調整や、バリデータに秘密を保持しつつコントラクトが入力を復号できるようにするためのキー配布の管理などがあります。あらゆる面で、Secret はパブリックブロックチェーン上での TEE を活用した機密保持の実行可能性を証明し、この分野のリーダーとしての地位を確立しました。
Oasis Network
Oasis Network もスケーラビリティとプライバシーを目的としたレイヤー 1 であり、そのアーキテクチャにおいて TEE(Intel SGX)を広範囲に活用しています。Oasis は、コンセンサスと計算を分離 し、コンセンサス層(Consensus Layer) と ParaTime 層(ParaTime Layer) と呼ばれる異なる層に分ける革新的な設計を導入しました。コンセンサス層はブロックチェーンの順序付けとファイナリティを処理し、各 ParaTime はスマートコントラクトのランタイム環境となります。特に、Oasis の Emerald ParaTime は EVM 互換環境であり、Sapphire は TEE を使用してスマートコントラクトの状態を非公開に保つコンフィデンシャル EVM です。
Oasis による TEE の使用は、大規模な機密計算 に焦点を当てています。重い計算を(多くのノードで実 行可能な)並列化可能な ParaTime に分離することで高いスループットを実現し、それらの ParaTime ノード内で TEE を使用することで、機密データを明かすことなく計算に含めることができます。例えば、金融機関は Oasis 上で機密データをコンフィデンシャル ParaTime に投入することで、信用スコアリングアルゴリズムを実行できます。データは(エンクレーブ内で処理されるため)ノードに対して暗号化されたままであり、スコアのみが出力されます。一方、Oasis のコンセンサスは、計算が正しく行われたという証明のみを記録します。
技術的には、Oasis は標準的な SGX 以上のセキュリティレイヤーを追加しました。彼らは「層状の信頼の基点(layered root of trust)」を実装しました。これは、Intel の SGX Quoting Enclave とカスタムの軽量カーネルを使用してハードウェアの信頼性を検証し、エンクレーブのシステムコールをサンドボックス化するものです。これにより、アタックサーフェス(攻撃対象領域)が縮小され(エンクレーブが実行できる OS コールをフィルタリングするため)、既知の特定の SGX 攻撃から保護されます。また、Oasis は、エンクレーブが再起動後も状態を維持できる 永続的エンクレーブ(durable enclaves) や、ノードが古いエンクレーブ状態を再生しようとするロールバック攻撃を軽減するための セキュアロギング などの機能を導入しました。これらの革新は彼らの技術論文で説明されており、Oasis が TEE ベースのブロックチェーンコンピューティングにおいて研究主導型のプロジェクトと見なされる理由の一部となっています。
エコシステムの観点から 、Oasis は プライベート DeFi(銀行が顧客データを漏洩させることなく参加できるようにする)や データのトークン化(個人や企業が AI モデルに機密性を保ったままデータを提供し、ブロックチェーンを通じて報酬を得る)などの分野で地位を確立しています。また、企業とのパイロットプロジェクト(例えば BMW とのデータプライバシーに関する取り組みや、医療研究データの共有など)でも協力しています。全体として、Oasis Network は、TEE とスケーラブルなアーキテクチャを組み合わせることで、プライバシーとパフォーマンスの両方の課題をどのように解決できるかを示しており、TEE ベースの Web3 ソリューションにおける重要なプレーヤーとなっています。
Sanders Network
Sanders Network は、Polkadot エコシステムにおける分散型クラウドコンピューティングネットワークであり、TEE を使用して機密性が高く高性能な計算サービスを提供します。これは Polkadot の パラチェーン であり、Polkadot のセキュリティと相互運用性の恩恵を受けつつ、セキュアエンクレーブ内でのオフチェーン計算のための独自のランタイムを導入しています。
Sanders の中心的なアイデアは、サンダーズ・マイナー(Sanders miners) と呼ばれるワーカーノードの大規模なネットワークを維持することです。これらのノードは TEE(具体的には現時点では Intel SGX)内部でタスクを実行し、検証可能な結 果を生成します。これらのタスクは、スマートコントラクトの一部を実行することから、ユーザーが要求する汎用的な計算まで多岐にわたります。ワーカーは SGX 内で実行されるため、Sanders は計算が 機密性(入力データはワーカー運用者から隠される)と 完全性(結果にはアテステーションが付属する)を持って行われることを保証します。これにより、ホストがデータを覗き見したり改ざんしたりできないことをユーザーが理解した上でワークロードをデプロイできる、トラストレスなクラウド が事実上構築されます。
Sanders は、Amazon EC2 や AWS Lambda の分散型版と考えることができます。開発者は Sanders のネットワークにコードをデプロイし、世界中の多くの SGX 対応マシンで実行させ、そのサービスの対価を Sanders のトークンで支払います。主なユースケースは以下の通りです。
- Web3 アナリティクスと AI: プロジェクトは Sanders のエンクレーブ内でユーザーデータを分析したり AI アルゴリズムを実行したりできます。これにより、生のユーザーデータは暗号化されたまま(プライバシーを保護)で、集計されたインサイトのみがエンクレーブから出力されます。
- ゲームのバックエンドとメタバース: Sanders は、集約的なゲームロジックや仮想世界のシミュレーションをオフチェーンで処理し、コミットメントやハッシュのみをブロックチェーンに送信できます。これにより、単一のサーバーを信頼することなく、より豊かなゲームプレイが可能になります。
- オンチェーンサービス: Sanders は Sanders Cloud と呼ばれるオフチェーン計算プラットフォームを構築しました。例えば、ボットのバックエンド、分散型 Web サービス、あるいは TEE アテステーションを伴って DEX スマートコントラクトに取引を公開するオフチェーン・オーダーブックとして機能させることができます。
Sanders は、機密計算を水平方向にスケールできることを強調しています。より多くの容量が必要な場合は、TEE ワーカーノードを追加するだけです。これは、計算容量がコンセンサスによって制限される単一のブロックチェーンとは異なります。したがって、Sanders は、トラストレスなセキュリティを維持しつつ、計算負荷の高い dApp の可能性を切り拓きます。重要な点として、Sanders はハードウェアの信頼性だけに依存しているわけではありません。Polkadot のコンセンサス(不正な結果に対するステーキングやスラッシングなど)と統合しており、TEE とゼロ知識証明(ZKP)の組み合わせ(言及されているように、彼らの次期 L2 では TEE を使用して実行を高速化し、ZKP を使用して Ethereum 上で簡潔に検証する)も模索しています。このハイブリッドなアプローチは、暗号学的な検証を重ねることで、単一の TEE の侵害によるリスクを軽減するのに役立ちます。
要約すると、Sanders Network は TEE を活用して Web3 用の 分散型で機密性の高いクラウド を提供し、セキュリティ保証を伴うオフチェーン計算を可能にします。これにより、重い計算とデータプライバシーの両方を必要とする一連のブロックチェーンアプリケーションが解き放たれ、オンチェーンとオフチェーンの世界の間のギャップが埋められます。
iExec
iExec は、Ethereum 上に構築されたクラウドコンピューティングリソースの分散型マーケットプレイスです。前述の 3 つ(独自のチェーンやパラチェーンであるもの)とは異なり、iExec は Ethereum スマートコントラクトと調整を行うレイヤー 2 またはオフチェーンネットワークとして動作します。TEE(特に Intel SGX)は、オフチェーン計算における信頼を確立するための iExec のアプローチの根幹をなしています。
iExec ネットワークは、さまざまなプロバイダーから提供される ワーカーノード で構成されています。これらのワーカーは、ユーザー(dApp 開発者、データプロバイダーなど)から要求されたタスクを実行できます。これらのオフチェーン計算の信頼性を確保するために、iExec は 「信頼できるオフチェーン・コンピューティング(Trusted off-chain Computing)」 フレームワークを導入しました。タスクは SGX エンクレーブ内で実行され、結果にはタスクがセキュアなノードで正しく実行されたことを証明するエンクレーブの署名が付けられます。iExec は Intel と提携してこのトラステッド・コンピューティング機能をリリースし、標準化を推進するために Confidential Computing Consortium にも加盟しました。彼らのコンセンサスプロトコルは Proof-of-Contribution(PoCo) と呼ばれ、必要に応じて複数のワーカーからの投票やアテステーションを集計し、正しい結果に関する合意に達します。多くの場合、コードが決 定論的であり SGX への信頼が高い場合は、単一のエンクレーブのアテステーションで十分な場合があります。より高い保証が必要な場合、iExec は複数の TEE にタスクを複製し、コンセンサスや多数決を使用できます。
iExec のプラットフォームは、いくつかの興味深いユースケースを可能にします。
- 分散型オラクル計算: 前述のように、iExec は Chainlink と連携できます。Chainlink ノードが生データを取得し、それを iExec の SGX ワーカーに渡して計算(独自のアルゴリズムや AI 推論など)を実行させ、最終的な結果をオンチェーンに返すことができます。これにより、オラクルができることが単なるデータの転送を超えて拡張されます。TEE によって誠実さが保証された「計算サービス」(AI モデルの呼び出しや多ソースの集計など)を提供できるようになるのです。
- AI と DePIN(分散型物理インフラネットワーク): iExec は分散型 AI アプリの信頼レイヤーとしての地位を築いています。例えば、機械学習モデルを使用する dApp は、モデル自体(独自のノウハウである場合)と入力されるユーザーデータの両方を保護するために、エンクレーブ内でモデルを実行できます。DePIN(分散型 IoT ネットワークなど)の文脈では、エッジデバイス上で TEE を使用して、センサーの読み取り値とその読み取り値に対する計算を信頼するために使用できます。
- セキュアなデータの収益化: データプロバイダーは、暗号化された形式で iExec のマーケットプレイスにデータセットを提供できます。購入者は、TEE 内部のデータに対して実行するアルゴリズムを 送信できます(これにより、プロバイダーの生データは決して明かされず、知的財産が保護され、アルゴリズムの詳細も隠すことができます)。計算結果は購入者に返され、データプロバイダーへの適切な支払いはスマートコントラクトを介して処理されます。この仕組みは セキュア・データ・エクスチェンジ とも呼ばれ、TEE の機密性によって促進されます。
全体として、iExec は Ethereum スマートコントラクトとセキュアなオフチェーン実行の間の接着剤となります。これは、TEE の「ワーカー」をネットワーク化して分散型クラウドを形成し、マーケットプレイス(支払いに iExec の RLC トークンを使用)とコンセンサスメカニズムを備える方法を示しています。Enterprise Ethereum Alliance の Trusted Compute ワーキンググループを率い、標準(Hyperledger Avalon など)に貢献することで、iExec は企業向けブロックチェーンシナリオにおける TEE のより広範な採用も推進しています。
その他のプロジェクトとエコシステム
上記の 4 つ以外にも、注目に値するプロジェクトがいくつかあります。
- Integritee – Sanders に似た別の Polkadot パラチェーンです(実際には Energy Web Foundation の TEE の取り組みから派生したものです)。Integritee は TEE を使用して、企業向けの「パラチェーン・ア ズ・ア・サービス」を構築し、オンチェーンとオフチェーンのエンクレーブ処理を組み合わせています。
- Automata Network – TEE を活用してプライベートトランザクション、匿名投票、MEV 耐性のあるトランザクション処理を実現する Web3 プライバシー用ミドルウェアプロトコルです。Automata はオフチェーンネットワークとして動作し、プライベート RPC リレーなどのサービスを提供しており、シールドされたアイデンティティやガスレスのプライベートトランザクションなどに TEE を使用していると言及されています。
- Hyperledger Sawtooth (PoET) – エンタープライズ領域では、Sawtooth が SGX に依存した Proof of Elapsed Time(経過時間証明)と呼ばれるコンセンサスアルゴリズムを導入しました。各バリデータはランダムな時間待機して証明を生成するエンクレーブを実行し、待機時間が最も短いバリデータがブロックを「獲得」します。これは SGX によって強制される公平な抽選です。Sawtooth はそれ自体が Web3 プロジェクトではありませんが(エンタープライズブロックチェーン寄り)、コンセンサスのための TEE の独創的な活用例です。
- 企業向け・コンソーシアムチェーン – 多くのエンタープライズブロックチェーンソリューション(ConsenSys Quorum や IBM Blockchain など)は、承認されたノードのみが特定のデータを見ることができる機密コンソーシアムトランザクションを可能にするために TEE を組み込んでいます。例えば、Enterprise Ethereum Alliance の Trusted Compute Framework(TCF)のブループリントは、TEE を使用してプライベートコントラクトをオフチェーン で実行し、マークルプルーフをオンチェーンに提供します。
これらのプロジェクトは、TEE の汎用性をまとめて示しています。TEE はプライバシー重視の L1 全体に電力を供給し、オフチェーンネットワークとして機能し、オラクルやブリッジなどのインフラストラクチャを保護し、コンセンサスアルゴリズムの基盤にさえなります。次に、分散型の設定で TEE を使用することの広範な利点と課題について検討します。
4. 分散型環境における TEE の利点と課題
ブロックチェーンシステムに信頼実行環境(TEE)を導入することには、大きな 技術的利点 と、注目すべき 課題およびトレードオフ が伴います。ここでは、TEE が分散型アプリケーションに提供するものと、その使用から生じる問題やリスクの両側面を検討します。
利点と技術的強み
-
強固なセキュリティとプライバシー: 最も重要な利点は、機密性と完全性 の保証です。TEE を使用すると、外部のマルウェアによって監視されたり改ざんされたりすることなく、機密性の高いコードを実行できることが保証されます。これにより、以前は不可能だったオフチェーン計算における信頼レベルが提供されます。ブロックチェーンにとって、これはセキュリティを犠牲にすることなく、プライベートデータを利用できる(dApp の機能を強化できる)ことを意味します。信頼できない環境(クラウドサーバー、第三者が運営するバリデーターノード)であっても、TEE は秘密を安全に保ちます。これは、暗号資産システム内での秘密鍵、ユーザーデータ、独自のアルゴリズムの管理に特に有益です。例えば、ハードウェアウォレットやクラウド署名サービスは、秘密鍵がプレーンテキストで公開されないように TEE を使用して内部でブロックチェーン取引に署名し、利便性とセキュリティを両立させることができます。
-
ネイティブに近いパフォーマンス: ゼロ知識証明(ZK 証明)や準同型暗号のような、安全な計算のための純粋に暗号学的なアプローチとは異なり、TEE のオーバーヘッドは比較的小さいです。コードは CPU 上で直接実行されるため、エンクレーブ内での計算は、外部で実行するのとほぼ同じ速さになります(エンクレーブの遷移やメモリの暗号化による、通常は SGX で数パーセント程度の速度低下というオーバーヘッドはあります)。これは、TEE が 計算集約型のタスクを効率的に処理できる ことを意味し、暗号プロトコルで行うと桁違いに遅くなるようなユースケース(リアルタイムのデータフィード、複雑なスマートコントラクト、機械学習など)を可能にします。エンクレーブの 低レイテンシ は、高速なレスポンスが必要な場面(例:TEE によって保護された高頻度取引ボット、あるいは遅延が大きいとユーザー体験が損なわれるインタラクティブなアプリケーションやゲーム)に適しています。
-
スケーラビリティの向上(オフロードによる): 重い計算をオフチェーンで安全に行えるようにすることで、TEE はメインチェーンの混雑とガス代の軽減に役立ちます。これにより、ブロックチェーンを検証や最終的な決済のみに使用し、計算の大部分を並列化されたエンクレーブで行うレイヤー 2 設計やサイドプロトコルが可能になります。このモジュール化(計算集約型のロジックは TEE で、コンセンサスはオンチェーンで)により、分散型アプリのスループットとスケーラビリティを劇的に向上させることができます。例えば、DEX は TEE を使用してオフチェーンでマッチングを行い、一致した取引のみをオンチェーンに投稿することで、スループットを向上させ、オンチェーンのガス代を削減できます。
-
ユーザー体験と機能性の向上: TEE を使用することで、dApp は機密保持や複雑な分析などの機能を提供でき、より多くのユーザー(機関投資家を含む)を惹きつけることができます。また、TEE は、プライベートトランザクションのガス代を削減するための Automata の取り組みに見られるように、オフチェーンで安全に実行してから結果を提出することで、ガスレスまたはメタトランザクション を可能にします。さらに、機密性の高いステート(状態)をエンクレーブ内のオフチェーンに保存することで、オンチェーンで公開されるデータを削減でき、これはユーザーのプライバシーとネットワーク効率(保存・検証するオンチェーンデータが少なくなる)にとって有益です。
-
他の技術とのコンポーザビリティ(構成可能性): 興味深いことに、TEE は他の技術を補完することができます(これは TEE 単体固有の利点ではなく、組み合わせによるものです)。TEE はハイブリッドソリューションをまとめる接着剤として機能します。例えば、エンクレーブ内でプログラムを実行し、同時にその実行の ZK 証明を生成する場合、エンクレーブが証明プロセスの一部を支援して高速化させることができます。あるいは、MPC(マルチパーティ計算)ネットワークで TEE を使用して、少ない通信ラウンドで特定のタスクを処理することもできます。比較については第 5 節で説明しますが、多くのプロジェクトは、TEE が暗号技術を 置き換える 必要はなく、セキュリティを強化するために並行して機能できることを強調しています(Sanders の理念:「TEE の強みは、他を置き換えることではなく、他をサポートすることにある」)。
信頼の前提とセキュリティの脆弱性
その強みにもかかわらず、TEE は特定の信頼の前提を導入するものであり、無敵ではありません。以下の課題を理解することが極めて重要です。
-
ハードウェアへの信頼と中央集権化: TEE を使用することは、本質的に シリコンベンダー と、そのハードウェア設計およびサプライチェーンのセキュリティを信頼することを意味します。例えば、Intel SGX を使用するということは、Intel にバックドアがなく、製造が安全であり、CPU のマイクロコードがエンクレーブの隔離を正しく実装していることを信頼することを意味します。これは、純粋な暗号技術(全ユーザーに分散された数学的仮定に依存する)と比較して、より中央集権的な信頼モデルです。さらに、SGX のアテステーション(証明)は歴史的に Intel のアテステーションサービスへの問い合わせに依存しており、もし Intel がオフラインになったり、鍵を無効にすることを決定したりすれば、世界中のエンクレーブが影響を受ける可能性があります。このように特定の企業のインフラに依存することは懸念を引き起こします。単一障害点(SPOF)になる可能性や、政府規制の対象になる可能性さえあります(例:理論上、米国の輸出規制によって、強力な TEE を誰が使用できるかが制限される可能性があります)。AMD SEV は、より分散化されたアテステーション(VM 所有者が自分の VM を証明できる)を許可することでこれを緩和していますが、依然として AMD のチップとファームウェアを信頼する必要があります。この 中央集権化のリスク は、ブロックチェーンの非中央集権化とは幾分相反するものとしてしばしば指摘されます。Keystone(オープンソースの TEE)などのプロジェクトは、独自のブラックボックスへの依存を減らす方法を研究していますが、これらはまだ主流ではありません。
-
サイドチャ ネルおよびその他の脆弱性: TEE は魔法の杖ではありません。間接的な手段で攻撃される可能性があります。サイドチャネル攻撃 は、たとえ直接的なメモリへのアクセスがブロックされていても、エンクレーブの動作がシステムに微妙な影響(タイミング、キャッシュの使用状況、電力消費、電磁放射など)を与えるという事実を悪用します。過去数年間、Intel SGX に対する多数のアカデミックな攻撃が実証されてきました。Foreshadow(L1 キャッシュのタイミング漏洩を介したエンクレーブの秘密抽出)から、Plundervolt(特権命令を介した電圧フォールト注入)、SGAxe(アテステーションキーの抽出)など多岐にわたります。これらの巧妙な攻撃は、暗号による保護を破ることなく、マイクロアーキテクチャの挙動や実装の欠陥を突くことで TEE が侵害される可能性があることを示しています。その結果、「研究者たちは、ハードウェアの脆弱性や TEE の動作におけるタイミングの差を悪用する可能性のある、さまざまな潜在的な攻撃ベクトルを特定した」ことが認められています。これらの攻撃は些細なものではなく、多くの場合、ローカルアクセスまたは悪意のあるハードウェアを必要としますが、現実的な脅威です。また、TEE は一般に、攻撃者がチップを直接手に入れた場合の 物理的な攻撃からは保護されません(例:チップのデキャップ、バスのプロビングなどは、ほとんどの商用 TEE を無効にする可能性があります)。
サイドチャネルの発見に対するベンダーの対応は、既知の漏洩を緩和するためのマイクロコードのパッチやエンクレーブ SDK のアップデートでした(これにはパフォーマンスの低下を伴うこともあります)。しかし、それは依然として「いたちごっこ」の状態です。Web3 にとって、これは SGX で新たなサイドチャネルが見つかった場合、SGX で実行されている「安全な」DeFi コントラクトが、秘密データの漏洩や実行の操作などのために悪用される可能性があることを意味します。したがって、TEE に依存するということは、通常のブロックチェーンの脅威モデルの外にある、ハードウェアレベルでの 潜在的な脆弱性領域 を受け入れることを意味します。これは、TEE をこれらに対して強化するための活発な研究分野です(例えば、定数時間演算によるエンクレーブコードの設計、秘密に依存するメモリアクセスパターンを避けること、Oblivious RAM のような技術の使用など)。一部のプロジェクトでは、ZK 証明と組み合わせたり、異なるハードウェアベンダーの複数のエンクレーブを実行して単一チップのリスクを低減したりするなど、二次的なチェックで TEE を補強しています。
-
パフォーマンスとリソースの制約: TEE は CPU バウンドなタスクに対してネイティブに近い速度で動作しますが、いくつかのオーバーヘッドと制限があります。エンクレーブへの切り替え(ECALL)と切り出し(OCALL)にはコストがかかり、メモリページの暗号化・復号も同様です。これは、エンクレーブの境界を頻繁に跨ぐ処理のパフォーマンスに影響を与える可能性があります。また、エンクレーブには メモリサイズの制限 があることが多いです。例えば、初期の SGX ではエンクレーブページキャッシュが制限されており、エンクレーブがより多くのメモリを使用すると、ページのスワップ(暗号化を伴う)が発生し、パフォーマンスが大幅に低下しました。新しい TEE であっても、システム RAM の すべて を簡単に使用できるわけではなく、上限がある可能性のある安全なメモリ領域が存在します。これは、非常に大規模な計算やデータセットをすべて TEE 内部で処理するのが難しい場合があることを意味します。Web3 の文脈では、これによりエンクレーブで実行できるスマートコントラクトや ML モデルの複雑さが制限される可能性があります。開発者はメモリを最適化し、場合によってはワークロードを分割する必要があります。
-
アテステーションと鍵管理の複雑さ: 分散型の設定で TEE を使用するには、堅牢なアテステーションのワークフローが必要です。各ノードは、期待されるコードを含む本物のエンクレーブを実行していることを他者に証明する必要があります。この オンチェーンでのアテステーション検証 の設定は複雑になる可能性があります。通常、ベンダーの公開アテステーションキーまたは証明書をプロトコルにハードコーディングし、検証ロジックをスマートコントラクトやオフチェーンクライアントに記述する必要があります。これはプロトコル設計にオーバーヘッドをもたらし、いかなる変更(Intel がアテステーション署名キーの形式を EPID から DCAP に変更するなど)もメンテナンスの負担となります。さらに、TEE 内での鍵の管理(データの復号や結果の署名用)も複雑さを増大させます。エンクレーブの鍵管理におけるミスは、セキュリティを根底から覆す可能性があります(例:バグによってエンクレーブが誤って復号鍵を公開してしまった場合、その機密性の約束はすべて崩壊します)。ベストプラクティスとしては、TEE のシーリング API を使用して鍵を安全に保存し、必要に応じて鍵をローテーションすることが挙げられますが、これも開発者による慎重な設計が必要です。
-
サービス拒否(DoS)と可用性: あまり議論されない問題かもしれませんが、TEE は可用性の面では役に立たず、むしろ新しい DoS の経路を導入する可能性があります。例えば、攻撃者は、エンクレーブがオペレーターによって簡単に検査されたり中断されたりできないことを逆手に取り(隔離されているため)、処理コストの高い入力を TEE ベースのサービスに送りつける可能性があります。また、脆弱性が見つかりパッチを適用するためにファームウェアのアップデートが必要になった場合、そのサイクル中、ノードにパッチが適用されるまで、多くのエンクレーブサービスが(セキュリティのために)一時停止しなければならず、ダウンタイムが発生する可能性があります。ブロックチェーンのコンセンサスにおいて、もし重大な SGX のバグが見つかった場合、Secret Network のようなネットワークは、エンクレーブへの信頼が損なわれるため、修正されるまで停止しなければならないかもしれません。分散型ネットワークにおいてこのような対応を調整することは困難です。
コンポーザビリティとエコシステムの制 限
-
他のコントラクトとのコンポーザビリティの制限: Ethereum のようなパブリックなスマートコントラクトプラットフォームでは、コントラクトは他のコントラクトを簡単に呼び出すことができ、すべてのステートが公開されているため、「DeFi のマネーレゴ」や豊かな構成が可能です。TEE ベースのコントラクトモデルでは、機密性を損なうことなく プライベートなステートを自由に共有したり構成したりすることはできません。例えば、エンクレーブ内のコントラクト A がコントラクト B と対話する必要があり、両方が機密データを保持している場合、それらはどのように連携するのでしょうか? 複雑なセキュアマルチパーティプロトコルを実行するか(これでは TEE のシンプルさが損なわれます)、あるいは 1 つのエンクレーブに統合するか(モジュール性が低下します)のどちらかが必要です。これは Secret Network などが直面している課題です。プライバシーを維持したままのコントラクト間の呼び出しは容易ではありません。一部のソリューションでは、単一のエンクレーブで複数のコントラクトの実行を処理し、内部で共有秘密を管理できるようにしていますが、これによってシステムがよりモノリシックになる可能性があります。したがって、プライベートコントラクトのコンポーザビリティはパブリックなものよりも制限される か、新しい設計パターンが必要になります。同様に、既存のブロックチェーン dApp に TEE ベースのモジュールを統合するには、慎重なインターフェース設計が必要です。多くの場合、エンクレーブの結果(SNARK やハッシュなど)のみがオンチェーンに投稿され、他のコントラクトはその限られた情報しか利用できません。これは確かにトレードオフです。Secret のようなプロジェクトは、ビューイングキーを提供し、必要最小限の範囲で秘密の共有を許可していますが、通常のオンチェーンコンポーザビリティほどシームレスではありません。
-
標準化と相互運用性: TEE エコシステムは現在、ベンダー間での統一された標準が欠如しています。Intel SGX、AMD SEV、ARM TrustZone はすべて、プログラミングモデルやアテステーション方法が異なります。この断片化は、SGX エンクレーブ向けに書かれた dApp が TrustZone などに簡単に移植できないことを意味します。ブロックチェーンにおいて、これはプロジェクトを特定のハードウェアに縛り付ける可能性があります(例:Secret と Oasis は現在 x86 サーバーの SGX に紐付けられています)。将来的に ARM ノード(例えばモバイル上のバリデーター)をサポートしたい場合、追加の開発や異なるアテステーション検証ロジックが必要になります。アテステーションやエンクレーブ API を標準化しようとする取り組み(Confidential Computing Consortium (CCC) など)はありますが、まだ完全には至っていません。標準の欠如は開発ツールにも影響します。成熟した SGX SDK を見つけても、別の SDK を持つ別の TEE に適応させる必要があります。この 相互運用性の課題 は、採用を遅らせ、コストを増加させる可能性があります。
-
開発者の学習曲線: TEE 内部で実行されるアプリケーションを構築するには、多くのブロックチェーン開発者が持っていない専門知識が必要です。低レベルの C/C++ プログラミング(SGX/TrustZone 用)や、メモリ安全性およびサイドチャネル耐性のあるコーディングの理解がしばしば求められます。エンクレーブコードのデバッグは、非常に難しいことで知られています(セキュリティ上の理由から、実行中のエンクレーブの内部を簡単に見ることができないためです)。フレームワークや高レベル言語(Oasis による Rust の機密ランタイムの使用や、エンクレーブで WebAssembly を実行するツールなど)は存在しますが、開発者体験は依然として、一般的なスマートコントラクト開発やオフチェーンの Web2 開発よりも困難です。この 険しい学習曲線 と未熟なツールは、開発者を躊躇させたり、注意深く扱わなければミスを招いたりする可能性があります。また、テスト用のハードウェアが必要であるという側面もあります。SGX コードを実行するには SGX 対応の CPU またはエミュレーター(低速)が必要なため、参入障壁が高くなります。その結果、現在、エンクレーブ開発に深く精通している開発者は比較的少なく、Solidity コミュニティのような成熟したコミュニティと比較して、監査やコミュニティサポートが不足しています。
-
運用コスト: TEE ベースのインフラを運用することは、よりコストがかかる可能性があります。ハードウェア自体が高価であったり、希少であったりすること があります(例:特定のクラウドプロバイダーは、SGX 対応の VM にプレミアム料金を課しています)。また、運用上のオーバーヘッドもあります。ファームウェアを最新の状態に保つ(セキュリティパッチのため)、アテステーションネットワークを管理するなど、小規模なプロジェクトにとっては負担となる可能性があります。すべてのノードが特定の CPU を搭載していなければならない場合、潜在的なバリデータープールが減少し(誰もが必要なハードウェアを持っているわけではないため)、分散化に影響を与え、クラウドホスティングの利用増加につながる可能性があります。
要約すると、TEE は強力な機能を解放する一方で、信頼のトレードオフ(ハードウェアへの信頼 vs. 数学への信頼)、潜在的なセキュリティの弱点(特にサイドチャネル)、および分散型の文脈における統合のハードルをもたらします。TEE を使用するプロジェクトは、これらの問題に対して慎重に設計を行う必要があります。多層防御(TEE が不滅であると仮定しない)を採用し、信頼されるコンピューティングベース(TCB)を最小限に抑え、ユーザーに対して信頼の前提を透明にすること(例えば、ブロックチェーンのコンセンサスに加えて Intel のハードウェアを信頼していることを明確にするなど)が重要です。
5. TEE と他のプライバシー保護技術(ZKP、FHE、MPC)の比較
信頼実行環境(TEE)は、Web3 においてプライバシーとセキュリティを実現するためのアプローチの 1 つですが、他にも ゼロ知識証明(ZKP)、完全準同型暗号(FHE)、セキュアマルチパーティ計算(MPC) といった主要な技術が存在します。これらの技術はそれぞれ異なる信頼モデルとパフォーマンス特性を持っています。多くの場合、これらは相互に排他的なものではなく、互いに補完し合うことができますが、パフォーマンス、信頼性、開発者の使いやすさにおけるトレードオフ を比較することは非常に有益です。
代替技術の簡単な定義は以下の通りです:
- ZKP: ある当事者が他者に対して、特定の主張が真であること(例:「この計算を満たす秘密を知っている」)を、なぜ真であるか(秘密の入力データ)を明かすことなく証明できる暗号学的証明(zk-SNARKs や zk-STARKs など)です。ブロックチェーンにおいて、ZKP はプライベートな取引(例:Zcash、Aztec)やスケーラビリティ(正しい実行の証明を投稿するロールアップ)に使用されます。これらは、強力なプライバシー(秘密データは漏洩せず、証明のみが公開される)と 数学によって保証された完全性 を提供しますが、これらの証明の生成には 高い計算負荷 がかかる場合があり、回路を慎重に設計する必要があります。
- FHE: 暗号化されたデータに対して任意の計算を可能にする暗号化方式であり、復号された結果はプレーンテキスト(生データ)で計算した結果と一致します。理論上、FHE は究極のプライバシーを提供します。データは常に暗号化されたままであり、生データを誰にも信頼して預ける必要がありません。しかし、FHE は一般的な計算において 極めて低速 です(研究により改善は進んでいますが)。パフォーマンスの問題から、依然として実験的または特殊な用途が中心となっています。
- MPC: 複数の当事者が、それぞれの秘密入力を互いに明かすことなく、共同で関数を計算するプロトコルです。これには多くの場合、当事者間でのデータの秘密共有と暗号操作が含まれ、出力は正しいものの、個々の入力は隠されたままになります。MPC は信頼を分散させることができ(単一のポイントがすべてのデータを見ることはない)、特定の操作には効率的ですが、通常、通信と調整のオーバーヘッド が発生し、大規模なネットワークでの実装は複雑になる可能性があります。
以下は、主な違いをまとめた 比較表 です:
| 技術 | 信頼モデル | パフォーマンス | データプライバシー | 開発者の使いやすさ |
|---|
| TEE (Intel SGX など) | ハードウェア製造元への信頼(場合によっては中央集権的なアテステーションサーバー)。チップが安全であることを前提とする。ハードウェアが 侵害されると、セキュリティも崩壊する。 | ネイティブに近い実行速度。最小限のオーバーヘッド。リアルタイム計算や大規模なワークロードに適している。スケーラビリティは TEE 対応ノードの可用性に制限される。 | データはエンクレーブの 内部 ではプレーンテキストだが、外部に対しては暗号化されている。ハードウェアが維持されれば強力な機密性を持つが、エンクレーブが突破されると秘密が露出する(追加の数学的保護はない)。 | 中程度の複雑さ。既存のコードや言語(C、Rust)を再利用し、わずかな修正でエンクレーブ内で実行できることが多い。高度な暗号学を学ぶ必要がなく、これらの中で最も参入障壁が低いが、システムプログラミングと TEE 固有の SDK の知識が必要。 |
| ZKP (zk-SNARK/STARK) | 数学的な仮定(例:暗号学的問題の難解さ)への信頼。SNARKs の場合はトラステッド・セットアップが必要な場合もある。実行時に特定の単一当事者に依存しない。 | 証明の生成は 計算負荷が高い(特に複雑なプログラムの場合)。ネイティブより数桁遅いことが多い。オンチェーンでの検証は高速(数ミリ秒)。証明時間の関係上、大規模なデータ計算には理想的ではない。スケーラビリティ:簡潔な検証(ロールアップ)には適しているが、プロバー(証明者)がボトルネックとなる。 | 非常に強力なプライバシー。プライベートな入力を明かすことなく正当性を証明できる。漏洩するのは最小限の情報(証 明のサイズなど)のみ。金融プライバシーなどに理想的。 | 高い複雑さ。専門的な言語(回路、Circom や Noir などの zkDSL)の習得と、算術回路の観点での思考が必要。デバッグが困難。利用可能な専門家が少ない。 |
| FHE | 数学(格子問題など)への信頼。信頼できる当事者は不要。暗号化が破られない限りセキュリティは維持される。 | 一般的な用途では 非常に遅い。暗号化データに対する操作は、プレーンテキストより数桁遅い。ハードウェアの改善とアルゴリズムの進化により向上しつつあるが、現状ブロックチェーンでのリアルタイム利用には実用的ではない。 | 究極のプライバシー。計算中も含め、データは常に暗号化されたまま。パフォーマンスが許せば、機密データ(例:医療、機関をまたぐ分析)に理想的。 | 非常に専門的。開発者には暗号学の背景が必要。いくつかのライブラリ(Microsoft SEAL、TFHE など)は存在するが、FHE で任意のプログラムを書くのは困難で回りくどい。まだ dApp の日常的な開発対象ではない。 |
| MPC | 複数の当事者間で分散された信頼。一定数の当事者が誠実である(特定の数を超えて結託しない)ことを前提とする。ハードウェアへの信頼は不要。結託が多すぎると信頼が崩壊する。 | 通信ラウンドが必要なため、通常はネイティブより遅いが、FHE よりは高速なことが多い。パフォーマンスは変化する:単純な操作(加算、乗算)は効率的だが、複雑なロジックは通信コストが膨大になる可能性がある。レイテンシはネットワーク速度に敏感。シャーディングや部分的な信頼の仮定によりスケーラビリティを改善できる。 | 前提条件が維持されれば強力なプライバシーを確保。単一のノードが入力の全容を見ることはない。ただし、出力から、あるいは当事者の離脱によって一部の情報が漏洩する可能性がある(また、ZK のような簡潔さに欠けるため、プロトコルを再実行せずに簡単に共有できる証明は得られない)。 | 高い複雑さ。ユースケースごとにカスタムプロトコルを設計するか、フレームワーク(SPDZ や Partisia の提供するものなど)を使用する必要がある。開発者は暗号プロトコルを理解し、複数のノードの展開を調整しなければならない。ブロックチェーンアプリへの統合は複雑になる可能性がある(オフチェーンのラウンドが必要)。 |
引用: 上記の比較は、Sanders Network の分析などのソースに基づいており、TEE がスピードと使いやすさに優れている一方で、ZK と FHE は計算負荷を犠牲にして最大限のトラストレス性に焦点を当て、MPC は信頼を分散させるがネットワークオーバーヘッドを導入することを強調しています。
この表から、いくつかの主要なトレードオフが明らかになります:
-
パフォーマンス: TEE は生の速度と低レイテンシにおいて大きな利点があります。MPC は多少の速度低下を伴いつつ中程度の複雑さを処理できることが多く、ZK は生成は遅いものの検証は高速です(非同期利用)。FHE は現状、任意のタスクにおいて群を抜いて低速です(単純な加算・乗算などの限定的な操作には適していますが)。アプリケーションに リアルタイムの複雑な処理(対話型アプリケーション、高頻度の意思決定など)が必要な場合、現在のところ TEE または(接続環境の良い少数の当事者による)MPC のみが現実的な選択肢です。そのようなシナリオでは、ZK や FHE は遅すぎます。
-
信頼モデル: ZKP と FHE は純粋にトラストレスです(数学のみを信頼)。MPC は、参加者の誠実さに関する仮定(多くの当事者を参加させる、あるいは経済的インセンティブを与えることで強化可能)に信頼を移します。TEE はハードウェアとそのベンダーを信頼の対象とします。これは根本的な違いです。TEE は、通常トラストレスなブロックチェーンの世界に、信頼できる第三者(チップ)を持ち込みます。対照的に、ZK と FHE は、信頼すべき特別な実体が存在せず、計算の困難性のみに依存するため、分散型の理念により適しているとしばしば評価されます。MPC はその中間に位置します。信頼は分散されていますが、排除されているわけではありません(M 個のノードのうち N 個が結託すれば、プライバシーは崩壊します)。したがって、最大限のトラストレス性(例:真に検閲耐性のある分散型システム)を求めるのであれば、暗号学的なソリューションに傾くでしょう。一方で、多くの実用的なシステムでは、Intel が誠実である、あるいは主要なバリデータセットが結託しないと仮定することに抵抗がなく、効率の大幅な向上のためにわずかな信頼をトレードオフとして受け入れています 。
-
セキュリティと脆弱性: 前述の通り、TEE はハードウェアのバグやサイドチャネル攻撃によって損なわれる可能性があります。ZKP や FHE のセキュリティは、基礎となる数学(楕円曲線や格子問題など)が突破された場合に損なわれますが、これらは十分に研究された問題であり、攻撃は気づかれやすい傾向にあります(また、パラメータの選択によって既知のリスクを軽減できます)。MPC のセキュリティは、プロトコルがそれに対応して設計されていない場合、アクティブな攻撃者によって破られる可能性があります(一部の MPC プロトコルは参加者が「誠実だが好奇心が強い」ことを前提としており、誰かが露骨に不正を働くと失敗する可能性があります)。ブロックチェーンの文脈では、TEE の侵害はより壊滅的になる可能性があります(パッチが適用されるまで、すべてのエンクレーブベースのコントラクトがリスクにさらされる可能性があります)。一方、ZK の暗号学的な破綻(例:ZK ロールアップで使用されているハッシュ関数の欠陥の発見)も壊滅的ですが、より単純な仮定に基づいているため、一般的には可能性が低いと考えられています。攻撃の対象面は大きく異なります。TEE は電力解析などを心配する必要がありますが、ZK は数学的な画期的進歩を心配する必要があります。
-
データプライバシー: FHE と ZK は、データが暗号学的に保護され続けるため、最も強力なプライバシー保証を提供します。MPC はデータが秘密共有されることを保証するため、単一の当事者がそれを見ることはありません(ただし、出力が公開されたり、プロトコルが慎重に設計されていなかったりすると、一部の情報が漏洩する可能性があります)。TEE は外部に対してデータを非公開に保ちますが、エンクレーブの 内部 ではデータは復号されます。もし誰かが何らかの方法でエンクレーブの制御を奪えば、データの機密性は失われます。また、TEE は通常、コードがデータに対して何でも行うことを許可します(コードが悪意を持っている場合、サイドチャネルやネットワークを通じて意図せずデータを漏洩させることも含まれます)。そのため、TEE ではハードウェアだけでなく、エンクレーブの コード も信頼する必要があります。対照的に、ZKP は秘密を一切明かすことなくコードの特性を証明するため、コード自体を信頼する必要さえありません(証明された特性を実際に持っていること以外は)。もしエンクレーブアプリケーションにログファイルへデータを漏洩させるバグがあったとしても、TEE ハードウェアはそれを防げません。一方、ZK 証明システムは、意図された証明以外は何も明らかにしません。これは微妙なニュアンスです。TEE は外部の攻撃者からは保護しますが、エンクレーブプログラム自体のロジックバグからは必ずしも保護しません。一方で ZK の設計は、より宣言的なアプローチを強制します(意図したものだけを証明し、それ以外は何も証明しない)。
-
コンポーザビリティと統合: TEE は既存のシステムへの統合が比較的容易です。既存のプログラムを取り込み、エンクレーブに入れることで、プログラミングモデルを大きく変えることなくセキュリティ上の利点を得ることができます。ZK や FHE は、プログラムを回路や制限された形式に書き換える必要があり、これには多大な労力がかかることがよくあります。例えば、単純な AI モデルの検証を ZK で記述する場合、それを一連の算術演算と制約に変換する必要があります。これは、TEE で TensorFlow を実行して結果をアテステーションするのとは雲泥の差です。MPC も同様に、ユースケースごとにカスタムプロトコルが必要になる場合があります。そのため、開発者の生産性とコスト の観点からは、TEE が魅力的です。特定の分野で TEE の採用が早いのは、まさに既存のソフトウェアエコシステムを活用できるためです(多くのライブラリがわずかな調整でエンクレーブ内で動作します)。ZK や MPC には、希少な専門的エンジニアリング人材が必要です。しかし、その反面、TEE のソリューションはサイロ化しがちです(そのエンクレーブやノードセットを信頼する必要があります)。一方、ZK は誰でもオンチェーンでチェックできる証明を提供するため、高いコンポーザビリティ(構成可能性)を持ちます(どのコントラクトでも ZK 証明を検証できます)。つまり、ZK の結果は ポータブル(持ち運び可能) であり、他の多くのコントラクトやユーザーが信頼を得るために使用できる小さな証明を生成します。TEE の結果は通常、特定のハードウェアに紐づいたアテステーションの形式であり、簡潔でない場合もあります。これらは共有のしやすさやチェーンへの依存度の低さにおいて劣る可能性があります(ただし、結果の署名を投稿し、エンクレーブの公開鍵を知っていれば、その署名を受け入れるようにコントラクトをプログラムすることは可能です)。
実社会では、ハイブリッドアプローチ が見られ始めています。例えば、Sanders Network は、TEE、MPC、ZK はそれぞれ異なる分野で強みを発揮し、互いに補完し合えると主張しています。具体的な事例としては、分散型アイデンティティ があります。自分のアイデンティティ資格情報を明かさずに証明するために ZK 証明を使用し、その資格情報自体は、書類を非公開でチェックする TEE ベースのプロセスによって検証・発行される、といったケースです。また、スケーリング を考えてみましょう。ZK ロールアップは多数の取引に対して簡潔な証明を提供しますが、それらの証明の生成速度を上げるために TEE を使用して一部の計算を高速化し、その後でより小さな主張のみを証明する、といったことが可能です。この組み合わせにより、TEE への信頼要件を下げることができる場合があります(例:パフォーマンスのために TEE を使用するが、最終的な正確性は ZK 証明やオンチェーンのチャレンジゲームを通じて検証することで、侵害された TEE が発覚せずに不正を行うことを防ぐ)。一方、MPC と TEE を組み合わせることも可能です。各当事者の計算ノードを TEE にすることで、一部の当事者が結託したとしても、ハードウェアセキュリティを突破しない限り、互いのデータを見ることができないという追加のレイヤーを加えることができます。
まとめると、TEE は控えめな仮定(ハードウェアへの信頼)に基づいた、安全な計算への非常に 実用的で即時性のある道 を提供します。一方、ZKP と FHE はより 理論的でトラス トレスな道 を提供しますが、高い計算コストがかかります。そして MPC は、ネットワークコストを伴う 分散型の信頼の道 を提供します。Web3 における適切な選択は、アプリケーションの要件に依存します:
- プライベートなデータに対する高速で複雑な計算(AI、大規模データセットなど)が必要な場合 — 現在、TEE(または少数の当事者による MPC)が唯一の実行可能な方法です。
- 最大限の分散化と検証可能性 が必要な場合 — ZK 証明が適しています(例えば、Zcash のようなプライベートな暗号資産取引では、ユーザーは数学以外何も信頼したくないため、ZKP が好まれます)。
- 複数のステークホルダー間での協調計算 が必要な場合 — MPC が自然に適しています(マルチパーティのキー管理やオークションなど)。
- 極めて機密性の高いデータがあり、長期的なプライバシーが必須 な場合 — パフォーマンスが向上すれば FHE が魅力的になります。なぜなら、数年後に誰かが暗号文を入手したとしても、鍵がなければ何も知ることができないからです。一方、エンクレーブが侵害された場合、ログが保存されていれば過去に遡って秘密が漏洩する可能性があります。
ブロックチェーン領域では、これらすべての技術が並行して積極的に探求されていることは注目に値します。今後、組み合わせ が増えていくでしょう。例えば、TEE を統合した Layer 2 ソリューション で取引のシーケンシングを行い、TEE がルールに従ったことを ZKP で証明する(イーサリアムの研究で探求されている概念)、あ るいは 各ノードで TEE を使用する MPC ネットワーク により、各ノードが内部的に安全で複数の当事者をシミュレートできるため、MPC プロトコルの複雑さを軽減する、といった手法です。
最終的に、TEE vs ZK vs MPC vs FHE はゼロサムの選択ではありません。これらはそれぞれ、セキュリティ、パフォーマンス、トラストレス性 というトライアングルの異なるポイントをターゲットにしています。ある記事が指摘したように、4 つすべてがパフォーマンス、コスト、セキュリティの「不可能なトライアングル」に直面しており、すべての面において優れた単一のソリューションは存在しません。最適な設計とは多くの場合、問題の適切な部分に適切なツールを使用することです。
6. 主要なブロックチェーンエコシステムにおける採用
Trusted Execution Environments(TEE)は、各コミュニティの優先事項や統合の容易さに影響され、様々なブロックチェーンエコシステムで異なるレベルの採用が進んでいます。ここでは、主要なエコシステムである Ethereum、Cosmos、Polkadot、およびその他のネットワークにおいて、TEE がどのように使用(または検討)されているかを評価します。