プライバシー保護技術 TEE と ZKP の違いは何ですか? 完全に理解するための 4 つの側面

 

原文はOasis Networkの公式Mediumからのもので、この記事は原文の翻訳です。

https://medium.com/oasis-protocol-project/4-ways-to-compare-trusted-execution-environments-and-zero-knowledge-proofs-293615b8c1b6

ブロックチェーンは、世界中の何百万ものユーザーにサービスを提供する、数十のオープンでパーミッションレスなネットワークを通じて、インターネットへの完全に透過的なアプローチを提供します。ただし、透明性には多くの利点がありますが、すべてのオンチェーン ユーザーの機密性とデータ セキュリティを強化する強力なプライバシー ツールとのバランスを取る必要がありますWeb3 がプライバシー保護とますます結びつく中、オンチェーンのプライバシーを推進するトレンドとテクノロジーについて洞察を得ることが重要です。

以下に、ゼロ知識証明と信頼できる実行環境という 2 つの Web3 プライバシー メソッドのさまざまな側面を比較します。これらのテクノロジーの違いを理解することは、開発者とユーザーの両方にとって、Web3 の将来を理解するために重要です。これらのテクノロジーを比較する前に、いくつかの用語を定義しましょう。

  • ゼロ知識証明: ゼロ知識証明 (ZKP) は、発言内の情報を共有したり、情報の取得方法を明らかにしたりすることなく、誰でも発言の真実性を証明できるようにする暗号化メカニズムです。ブロックチェーンでは、検証対象のデータが何であるかを知らなくても、誰かが計算を実行して証明が正しいことを検証し、正しい場合には証明に基づいてシステムの状態を更新できます。
  • 信頼できる実行環境: 信頼できる実行環境 (TEE) は、プロセッサーの 1 つの領域を CPU の残りの部分から分離することにより、安全なハードウェア ベースのコンピューティング モデルを使用します。機密ブロックチェーンを有効にするために使用される場合、これらの環境は暗号化されたデータを受け取り、ハードウェア ホストであっても直接監視したり改ざんしたりすることができない計算を実行します。

それでは、これら 2 つのプライバシー保護技術について詳しく見ていきましょう。

 

アプリケーションのスケーラビリティ

ZKP の主な特徴は、特定の用途に合わせて特定のアプリケーションで独自の回路を開発する必要があることが多く、証明者が情報を漏らすことなく知識の正確さを証明できることです。これは通常、特定の秘密に基づく特定の計算に基づいて回路を構築することによって行われます。その後、検証者は回路が正しく実行されたという証拠を受け取ります。

アプリケーションによっては、同じ回路を複数の証明者が使用できないこともありますが、他のアプリケーションでは、一般的な ZKP スキームを使用して、単一の回路を複数の証明者が使用できます。ただし、複数回使用される回路は、証明されている秘密に関する情報を明らかにするために使用されないように慎重に設計する必要があります。

TEE の場合、複数のユース ケースおよびアプリケーションにわたるスケーラビリティは、それがどのように達成されるかによって決まります。これは、ハードウェアおよびソフトウェア アーキテクチャ、TEE ユース ケースの特定の要件など、さまざまな要因によって決まります。場合によっては、モバイル デバイスに TEE を実装する場合など、単純なアプリケーションに限定される場合があります。ただし、Web3 dApp の場合、ブロックチェーン バリデーターによって使用される TEE は通常、大規模な計算ワ​​ークロードを処理できますこれらの環境は任意のマシン コードの実行をサポートしているため、複数の開発者が多数のアプリケーションに使用できます。

Oasis は、信頼された実行環境 (TEE) のセットアップ、リモート (再) 認証の実行、コンピューティング委員会の組織、信頼できる改ざん防止ストレージの提供、データの可用性など、低レベルではあるがセキュリティ クリティカルな詳細を処理できます。ユーザーと開発者にとって、Oasis は、適切に設計された外部インターフェイスを備えた Oasis ネットワーク上で実行されるランタイムに TEE をカプセル化し、TEE ベースの機密コンピューティングを使いやすく安全にします。

これは、Solidity 開発者にとって、Oasis ネットワーク上で TEE を使用して構築するときに、ユーザー数や特定のエコシステムに基づく独自の制限や要件がないことを意味します。開発者は、わずかな変更を加えるだけで暗号化された状態を Solidity dApp に追加できるだけでなく、暗号化する状態とそれを公開しておく場所を明示的に選択することもできます。Web3 開発者は、TEE の優れた柔軟性と拡張性を利用して、苦労してZKP 回路を開発することなく、ブロックチェーン ネットワーク上に構築されたアプリケーションを安全に実行できます。

セキュリティとパフォーマンス

ZKP は、使用されるアルゴリズムの種類と証明する問題の複雑さに応じて、計算コストが高くなる可能性があります。ZKP のセキュリティは完全に暗号操作によってもたらされるため、ZKP は通常、証明を生成するために大量のコンピューティング リソースを必要とします。ただし、証明検証自体は非常に高速ですが、ほとんどの ZKP アルゴリズムの複雑さは回路規模に比例し、ZKP アルゴリズムの種類も多数あります。一部の型は他の型よりも計算コストが高くなります。ZKP を使用する開発者は、セキュリティとプライバシーの利点が計算コストを上回るとよく主張します。

TEE は、高価な暗号化操作のコストを発生させることなく、機密コードを実行するための安全で隔離された環境を提供することを目的としています。TEE のセキュリティは、暗号化に完全に依存するのではなく、いくつかのソフトウェア要素を備えたハードウェアに基づいているため、複雑なワークロードのパフォーマンスを向上させることができます。ただし、TEE は攻撃、特にシステムからの予期せぬ情報漏洩を悪用しようとするサイドチャネル攻撃に対して無縁ではありません。一方で、一般的かつよく知られているさまざまな緩和手法 (定数時間暗号化など) と、個々のユースケースに必要な特定の手法があります。

 

TEE はセキュリティとパフォーマンスのバランスを取るように設計されているため、ほとんどの TEE セットアップは効率性を重視して最適化されており、多くの場合、追加のセキュリティ操作によるパフォーマンスへの影響を最小限に抑えるために専用のハードウェアが使用されます。実際には、TEE ベースの操作の計算オーバーヘッドのほとんどは、データの暗号化と復号化や、TEE で実行されているコードの整合性の検証など、追加のセキュリティ関連タスクを実行する必要があることによって発生します。

たとえば、Web3 DEX にプライバシー機能を提供したい場合、ZKP だけを使用するだけでは十分ではなく、非常に困難な作業となることがわかります。対照的に、TEE 実装は、DEX に必要なより複雑なプライベート データ集約タスクをより簡単かつ効率的に実装するための優れた柔軟性を提供します。

あるいは、送信者と受信者の間でステーブルコインのトランザクションが行われるシナリオを想像してください。今日では、すべてのトランザクション データが、送信者、受信者、発行者、およびブロックチェーンを閲覧するその他のすべての者に完全に表示されることが標準になっています。ただし、TEE を使用すると、開発者はオンチェーン データの可視性をカスタマイズする複雑で洗練されたアプリケーションを構築できます。送信者と受信者だけがデータを参照できるか、発行者も可視性を持っているか、さらには送信者のみがデータを参照できるかなど、dApp 開発者はこれらすべてのオプションを使用して、強力で柔軟な TEE を構築できます。

スマートコントラクトの柔軟性

TEE は、高度なスマート コントラクトやデータ集約型の Web3 アプリケーションによって生成されるような、大規模な計算ワ​​ークロード下で高いパフォーマンスを発揮できるように構築されています。TEE 環境が Web3 が複雑なアプリケーションを構築するのに適している主な理由は、使いやすさと開発者の柔軟性です。

一般に、TEE は一般的なスマート コントラクト、特に大量のプライベート データを集約する必要があるスマート コントラクトの実行に非常に適しています開発者のエクスペリエンスもシンプルになりました。たとえば、Oasis Sapphire (TEE を利用した機密 EVM) 上に構築された機密アプリケーションは数日で開発できますが、他のプライバシー テクノロジでは数か月、場合によっては数年かかる場合があります。

ZKP はこれまで、スマート コントラクトの実行用に最適化されていませんでした。最近、EVM 互換性のサポートにおいて大きな進歩が見られましたが、これらの互換性の向上は主に、ZK-EVM などの (プライバシーではなく) スケーラビリティのユースケースに焦点を当てています。ZKP には、汎用スマート コントラクトの実行におけるプライバシーの確保には依然として制限があります。これは、ZKP では証明者がすべてのグローバル状態およびトランザクション データにアクセスできる必要があるためですが、グローバル状態の一部がプライベートである場合はアクセスできなくなります。この場合、複数の関係者からの知識が必要となるため、複数の関係者の存在下でプライバシーを必要とするアプリケーションには重大な制限が生じます。

比較的単純なユースケースの一部のアプリケーションでは、ZKP はユーザーのプライバシーの問題を簡単に解決できます。しかし、計算負荷がより複雑になり、データ入力量が増加するにつれて、このプライバシーはより困難になり、より高価になり、柔軟性が低下します。これらの問題を軽減するために、大規模で複雑なデータ負荷を持つ dApp を保護するためにカスタム回路が必要になる場合があります。ZKP を使用して構築している一部のチームは、ZKP をスマート コントラクトに統合するプロセスを簡素化するフレームワークを構築していますが、TEE が提供するのと同じレベルのプライバシーの柔軟性は提供されません。

 

信頼のトレードオフ

Web3 プライバシー テクノロジの信頼モデルを理解することは、開発者とユーザーの両方にとって重要です。ZKP は効果的なスケーリング ツールとなり得ますが、ZKP が Web3 のプライバシー ソリューションとして限定されている理由は明らかですたとえば、一部の ZKP ベースのソリューションは、半信頼された発注者に依存して情報を検証することができます。アプリケーションで複数のソーターが許可されている場合、プライバシーは悪化します。しかし、特定の使用例では、ZKP は効果的なプライバシーを提供できます。その代表的な例が Zcash 暗号通貨です。ユーザーが所有しているコインの数、または使用しているコインの数を明らかにすることなく、各ユーザーはコインを二重に使っていないことを証明する必要があります。ユーザーが不正行為をしていないことを証明するには、ZKP を使用することが非常に必要です。ただし、明確にしておきたいのは、この技術は非常に特殊な使用例 (通貨など) に限定されており、一般的なセキュア コンピューティングには最適化されていないということです。

TEE には、信頼という概念が名前に込められています。ただし、TEE の信頼性は主にハードウェア ベースの信頼に限定されます。この場合、TEE はシステムの他の部分から分離された安全な実行環境を提供するために実装されます。このハードウェアベースの信頼は、主にハードウェアの設計者と製造者、およびそのセキュリティ慣行に基づいています。この信頼の大部分は、セキュア ブート手順、セキュア エンクレーブ、およびその他の業界標準の技術を通じて検証できますTEE を使用すると、開発者はデータ入力の改ざん防止プルーフを作成し、構築または使用しているアプリケーションにプルーフを提供できます。

結論は

つまり、Web3 プライバシー テクノロジには、それぞれ異なる長所、短所、トレードオフがあります。

ZKP は、プライバシーを重視した一部のユースケースを満たすことができますが、パフォーマンス、スケーラビリティ、および汎用コンピューティングのサポートに制限があります。TEE などの他の Web3 プライバシー テクノロジは、大量の同時ユーザーとデータを使用して dApp を構築する開発者にとってより魅力的です。このような場合、TEE は、あらゆる Web3 アプリケーションに高い機密性を統合するための、柔軟でスケーラブルな高性能ツールを提供します。

ただし、これら 2 つのツールは相互に補完することもできます。たとえば、一部の Web3 アプリケーションは TEE ベースのシステムで ZKP を使用できるため、セキュリティと堅牢性が向上します開発者が現在どのプライバシー ツールの使用を選択しているとしても、将来の Web3 プライバシー テクノロジは発展し、開発者に幅広い選択肢を提供するでしょう。

おすすめ

転載: blog.csdn.net/Blockchain2022/article/details/130526491