
Messari|プライバシーレイヤー:分散型機密計算の内部動作を理解する
TechFlow厳選深潮セレクト

Messari|プライバシーレイヤー:分散型機密計算の内部動作を理解する
非中央集権型機密計算(DeCC)は、非中央集権システムにおける機微データの処理方法の根本的な変革を示している。
著者:Mohamed Allam、Drexel Bakker
編集:AI.bluue
主要インサイト
-
DeCCは、固有の透明性を持つパブリックブロックチェーン上でデータプライバシーを保護する能力を導入し、非中央集権性を犠牲にすることなく、秘密の計算とステートを実現します。
-
DeCCは、平文を露出させることなく暗号化された計算を実現することで、従来のシステムやブロックチェーンシステムにおける重要な脆弱性を解決し、データ使用中もその安全性を確保します。
-
ZKP、MPC、GC、FHEなどの暗号技術と証明付きTEEを組み合わせることで、信頼不要な機密性が実現され、各技術は性能と信頼性において異なるトレードオフを提供し、より強固な保証を得るために組み合わせることが可能です。
-
DeCCプロジェクトへの投資額は10億ドルを超え、分野全体の勢いの高まりを反映しており、チームは実用的な統合と開発者向けインフラに注力しています。
序論:データ計算とセキュリティの進化
ブロックチェーン技術は、新しい非中央集権的かつ透明性の高いパラダイムをもたらしましたが、それにはトレードオフが伴います。最初の暗号プライバシーの波(「プライバシー1.0」とも呼ばれる)では、ミキサーやロールアップ、Zcash、Monero、Beam.mw といったツールが、ユーザーの金融取引に対してある程度の匿名性を提供しました。これらのソリューションは専門的であり、主に送信者と受信者の身元を隠すことに限定されており、より広範なアプリケーションインフラから切り離されていました。
第二の波が形成されつつあります。プライバシーはもはや取引を隠すだけではなく、完全な計算へと拡張されています。この変革は、非中央集権型機密計算(DeCC)、あるいは「プライバシー2.0」として知られるものの出現を示しています。DeCCは、私的計算を非中央集権システムの中心的な特性として導入し、他のユーザーまたはネットワークに基礎となる入力を漏らすことなく、データを安全に処理できるようにします。
典型的なスマートコントラクト環境とは異なり、すべてのステート変更と入力が公開されているのに対し、DeCCは計算全体を通してデータを暗号化したまま保持し、正しさと検証に必要な内容のみを明らかにします。これにより、アプリケーションはパブリックブロックチェーンインフラ上に私的ステートを維持することが可能になります。たとえば、マルチパーティ計算(MPC)を使用することで、一連の病院が自らの結合されたデータセットを分析でき、どの機関も他機関の生患者データを見ることはできません。かつて透明性がブロックチェーンがサポートできる範囲を制限していたのに対し、プライバシーは機密性を必要とする全く新しいカテゴリーのユースケースを開くのです。
DeCCは、安全なデータ処理を目的とした一連の技術によって実現されます。これらの技術には、ゼロ知識証明(ZKP)、マルチパーティ計算(MPC)、混在回路(GC)、完全準同型暗号(FHE)が含まれ、いずれも暗号学によりプライバシーと正当性を強制的に実行します。信頼できる実行環境(TEE)は、ハードウェアベースの分離を提供することで、安全なオフチェーン実行を補完します。これらの技術は共同でDeCC技術スタックの基盤を構成しています。
潜在的な応用は非常に広範です。取引戦略を秘匿する分散型金融システム、プライベートデータから洞察を抽出する公衆衛生プラットフォーム、または基礎となる入力を公開せずに分散データセット上で訓練される人工知能モデルなど、すべてのケースでプライバシー保護計算をブロックチェーンシステムのインフラ層に組み込む必要があります。
本レポートでは、DeCCの現状とそのより広範な意味について考察します。まず、伝統的なシステムとDeCCフレームワークにおけるデータ処理方法を比較し、なぜ単なる透明性では多くの分散型アプリケーションのニーズを満たせないのかを説明します。次に、DeCCを支えるコア技術を調査し、それらの違い、および性能、信頼性、柔軟性のトレードオフをバランスさせるためにそれらをどのように組み合わせることができるかを探ります。最後に、資本の流入、実稼働環境での構築を行っているチーム、およびこの勢いが分散型計算の将来に与える影響に焦点を当てながら、エコシステムを描き出します。
伝統的なデータ処理と非中央集権型機密計算(DeCC)
DeCCの必要性を理解するには、従来の計算環境でデータがどのように処理され、どこに脆弱性があるかを把握することが役立ちます。古典的な計算アーキテクチャでは、データは通常、3つの状態に存在します。静止時(ディスク/データベースに保存)、転送中(ネットワーク上で移動中)、使用中(メモリまたはCPUで処理中)。数十年にわたるセキュリティの進歩により、機密計算業界はそのうち2つの状態に対して信頼できるソリューションを持っています。
-
静止中のデータ:ディスクレベル暗号化またはデータベースレベル暗号化(AESなど)を使用して暗号化されます。企業システム、モバイルデバイス、クラウドストレージで一般的に見られます。
-
転送中のデータ:TLS/SSLなどの安全なトランスポートプロトコルによって保護されます。システム間またはネットワーク越しにデータが移動している間、それが暗号化されていることを保証します。
-
使用中のデータ:従来、ストレージまたはネットワークから受け取った暗号化されたデータは、処理前に復号化されます。つまり、ワークロードは平文上で実行され、使用中のデータは保護されておらず、潜在的な脅威にさらされることになります。DeCCは、基礎となるデータを露呈せずに計算を実行することで、この脆弱性を解決しようとしています。
前述の2つの状態は十分に保護されていますが、使用中のデータのセキュリティを確保することは依然として課題です。銀行のサーバーが金利支払いを計算する場合でも、クラウドプラットフォームが機械学習モデルを実行する場合でも、データは通常、メモリ内で復号化される必要があります。その瞬間、データは脆弱です。悪意のあるシステム管理者、マルウェア感染、侵害されたOSが、敏感なデータを覗き見たり、変更したりする可能性があります。伝統的なシステムはアクセス制御と分離されたインフラでこれを緩和しますが、根本的には、「王冠上の宝石」がマシン内部で平文形式で存在する期間があるのです。
今度はブロックチェーンベースのプロジェクトを考えてみましょう。彼らは透明性をさらに高めています。データは1台のサーバーで解読されるだけでなく、通常、数千のノードに平文形式でグローバルに複製されます。イーサリアムやビットコインのようなパブリックブロックチェーンは、コンセンサスを達成するためにすべてのトランザクションデータを意図的にブロードキャストします。もしデータが公開(または匿名)される予定であれば問題ありません。しかし、感度の高い個人情報に関わるユースケースにブロックチェーンを利用したい場合は、まったく機能しません。たとえば、ビットコインでは、すべての取引金額とアドレスが誰にでも見えます。これは監査性には良いですが、プライバシーには悪いです。スマートコントラクトプラットフォームの場合、あなたがコントラクトに入力するデータ(年齢、DNA配列、企業のサプライチェーン情報)は、すべてのネットワーク参加者に公開されます。銀行がすべての取引を公開したがるわけもなく、病院が患者記録をパブリック帳に置きたがるわけもなく、ゲーム会社がプレイヤーの秘密のステータスをすべての人々に暴露したがるわけもないのです。
データライフサイクルとその脆弱性
従来のデータ処理ライフサイクルでは、ユーザーは通常、データをサーバーに送信し、サーバーがそれを復号化して処理し、結果を格納(おそらくディスク上で暗号化)、応答を送り返します(TLS経由で暗号化)。脆弱性ポイントは明らかです。使用中、サーバーは元のデータを保持しています。サーバーとそのセキュリティを信頼できるなら問題ありませんが、歴史はサーバーがハッキングされたり、内部者がアクセス権を悪用したりする可能性があることを示しています。企業は厳格なセキュリティ慣行で対処していますが、極めて機密性の高いデータを他人の手に委ねることには慎重です。
一方、DeCCアプローチでは、処理中であっても、いかなる単一のエンティティも機密データを平文で見ることができないことが目標です。データは複数のノードに分割されたり、暗号化された封筒内でのみ処理されたり、またはそれを表示せずに暗号学的証明を通じて処理されたりします。そのため、入力から出力までの全ライフサイクルを通じて機密性を維持できます。たとえば、ユーザーは元のデータをサーバーに送る代わりに、その暗号化バージョンまたは秘密のシェアをノードネットワークに送信できます。これらのノードは、基礎となるデータを学習できない形で計算を実行し、ユーザーは自分自身(または許可された当事者)だけが復号化できる暗号化された結果を受け取ります。
なぜ暗号分野では透明性だけでは不十分なのか
パブリックブロックチェーンは信頼の問題を解決しています(中央運営者を信頼する必要がなくなり、ルールは透明でコンセンサスによって強制執行されます)。しかし、それはプライバシーを犠牲にして達成されています。「鍊上に載せたくないものは何も載せてはいけない」というのがスローガンです。シンプルな暗号通貨の送金では、ある時点でそれは問題ないかもしれませんが、複雑なアプリケーションでは非常に厄介になる可能性があります。Penumbraチーム(プライベートDeFiチェーンを構築)が述べているように、今日のDeFiでは、「ユーザーが鍊上でやり取りすると、情報漏洩が価値漏洩に変わる」とし、先読み取引やその他の脆弱性につながると指摘しています。もし、分散型取引所、貸借市場、オークションが公正に機能することを望むなら、参加者のデータ(入札、ポジション、戦略)は通常隠す必要があります。そうでなければ、外部の者がリアルタイムでその知識を悪用できます。透明性は各ユーザーの行動を公開してしまうため、伝統的な市場の運営方法とは異なり、その理由があるのです。
さらに、多くの金融以外の価値あるブロックチェーンユースケースは、法的に公開できない個人情報や規制対象のデータを扱います。分散型IDや信用スコアリングを考えましょう。ユーザーは、「私は18歳以上である」や「私の信用スコアは700点である」のように、自分の属性を証明したいが、身元全体や財務履歴を明らかにしたくないかもしれません。完全に透明なモデルでは、これは不可能です。鍊上に置いた証明は何でもデータを漏らしてしまいます。ゼロ知識証明のようなDeCC技術はまさにこの問題を解決するために設計されており、Yを明らかにせずにXを証明するという選択的開示を可能にします。別の例として、企業がサプライチェーン追跡のためにブロックチェーンを使用したいが、競合他社に在庫ログや販売データを見せたくない場合があります。DeCCは、鍊上に暗号化されたデータを提出し、承認されたパートナーとのみ復号情報を共有したり、商業秘密を漏らさずに特定の基準を満たしていることを証明するためにZK証明を使用することができます。
DeCCが信頼不要な機密計算を実現する仕組み
分散型システムにおける透明性の限界を克服するには、アクティブな計算中に機密性を維持できるインフラが必要です。非中央集権型機密計算(DeCC)は、データのライフサイクル全体を通してデータを保護するための応用暗号学とハードウェアベースの手法のセットを導入することで、このようなインフラを提供します。これらの技術は、処理中であっても機密入力が漏れないようにすることで、個々のオペレーターや仲介者への信頼を排除することを目指しています。
DeCC技術スタックには、ゼロ知識証明(ZKP)があり、入力を開示せずに計算が正しく実行されたことを証明できます。また、マルチパーティ計算(MPC)は、それぞれのデータを公開せずに共通の関数を共同で計算できるようにします。混在回路(GC)と完全準同型暗号(FHE)は、暗号化されたデータ上で直接計算を行うことを可能にします。そして、信頼できる実行環境(TEE)は、安全な実行のためのハードウェアベースの分離を提供します。これら各技術は、独自の操作特性、信頼モデル、性能プロファイルを持ちます。実際には、アプリケーションにおける異なるセキュリティ、スケーラビリティ、展開制約を解決するために、通常これらが統合されます。以下のセクションでは、各技術の技術的基盤と、それらが分散型ネットワークで信頼不要かつプライバシー保護された計算を実現する方法を概説します。
1. ゼロ知識証明 (ZKP)
ゼロ知識証明は、ブロックチェーンシステムに適用された最も影響力のある暗号学的革新の一つです。ZKPは、一方(証明者)が他方(検証者)に、ある特定の主張が真であることを、その主張自体の有効性以外の情報を何一つ開示せずに証明できるようにします。言い換えれば、知識そのものを公開せずに、ある事柄を知っていることを証明できるのです。たとえば、パスワード、秘密鍵、問題の解答などを証明できます。
「どこでもウィリー」のパズルを例にしましょう。誰かが混雑した画像の中でウィリーを見つけたと主張しているが、正確な位置は明らかにしたくないとします。彼は画像全体を共有する代わりに、ウィリーの顔のクローズアップ写真を撮り、タイムスタンプを付けて、画像の残りの部分が映らないほど拡大します。検証者は、ウィリーが見つかったことを確認できますが、彼が画像のどこにいるかはわかりません。これは主張の正しさを証明しつつ、追加情報を一切開示しないものです。
より正式には、ゼロ知識証明は、証明者が特定の主張(例えば、「この公開値に対するハッシュを持つキーを知っている」や「この取引はプロトコルルールに従って有効である」)が真であることを、背後の計算の入力や内部ロジックを開示せずに証明できるようにします。検証者はその主張が正しいと確信させられますが、他の情報は何も得られません。ブロックチェーンにおける初期で最も広く使われた例の一つは、zk-SNARKs(ゼロ知識簡潔非インタラクティブ知識証明)です。Zcashはzk-SNARKsを使用して、ユーザーが秘密鍵を持っていて有効な取引をしていることを証明できるようになっていますが、送信者アドレス、受信者、金額は開示しません。ネットワークは、取引が合法であることを示す短い暗号学的証明しか見ません。
ZKPが機密計算を実現する方法:DeCC環境では、非表示データ上で正しく計算が行われたことを証明したいときに、ZKPが大きな力を発揮します。証明者は、計算を秘密裏に実行し、その結果として証明を発行します。これは、従来のブロックチェーン検証のように、全員が再計算を実行する必要がないということです。他の人は、この小さな証明を使って、計算結果が正しいことを検証できますが、基礎となる入力は見ません。これにより、プライバシーが保護され、スケーラビリティが大幅に向上します(簡潔な証明を検証するのは、計算全体を再実行するよりもはるかに速いからです)。Aleoのようなプロジェクトは、このアイデアを中心に完全なプラットフォームを構築しています。ユーザーは、自分のプライベートデータ上でプログラムをオフラインで実行し、証明を生成します。ネットワークはその証明を検証し、取引を承認します。ネットワークはデータや具体的な内容を知りませんが、何であれ、それがスマートコントラクトのルールに従っていることは知っています。これにより、イーサリアムのパブリック仮想マシンでは不可能なプライベートスマートコントラクトが実際に作成されます。新興の応用例として、プライバシーのためのzk-rollupがあります。これはスケーラビリティのためだけではなく、各取引の詳細を隠すためにZKを使用します(通常のrollupとは異なり、通常のrollupではデータは依然として公開されています)。
ZK証明が強力なのは、その安全性が純粋に数学的だからです。通常、設定フェーズにおける「儀式」(秘密/乱数情報を生成する複数当事者の暗号プロトコル)の参加者の誠実性に依存しています。暗号学的仮定が成立すれば(たとえば、ある種の問題は依然として困難である)、証明は偽造できず、誤った主張を主張するために偽造することもできません。したがって、設計上、余計な情報を一切漏らしません。つまり、証明者をまったく信頼する必要はありません。証明が通るか通らないかのどちらかです。
限界:過去のトレードオフは、性能と複雑さでした。ZK証明の生成は計算量が多くなりがちで(通常の計算に比べて数桁大きい)、早期の構成では、簡単な主張を証明するのにも数分かかることがあります。また、暗号学は複雑で特別な設定(信頼できる設定儀式)が必要でした。ただし、STARKsのような新しい証明システムはこれらの問題の一部を回避しています。機能面でも制限があります。ほとんどのZKスキームは、単一の証明者が多数の検証者に何かを証明することを想定しています。それらは、オークションやAMMなどで見られるような、複数のユーザーが共有・結合する「所有」された私的共有ステートを解決できません。つまり、ZKは、私の秘密XからYを正しく計算したことを証明できますが、二人がそれぞれの秘密の関数を共同で計算すること自体はできません。私的共有ステートの問題を解決するために、ZKベースのソリューションは、MPC、GC、FHEなどの他の技術を使用することがよくあります。さらに、純粋なZKPsは、通常、証明者が実際に証明しているデータを知っているか所有していると仮定しています。
サイズの問題もあります。初期のzk-SNARKsは証明が非常に短く(数百バイト程度)でしたが、最近のゼロ知識証明(信頼できる設定なしのbulletproofsやSTARKsなど)は、より大きく(数十KB)になり、検証速度も遅くなることがあります。しかし、継続的な革新(Halo、Plonkなど)が効率を急速に向上させています。イーサリアムや他の機関は、スケーリングとプライバシーのソリューションとしてZKに多額の投資をしています。
2. マルチパーティ計算 (MPC)
ZK証明は、一方が自身のプライベートデータについて何かを証明できるようにしますが、安全なマルチパーティ計算(主に秘密分散(SS)に基づく技術)は、もう一つ関連性はあるが異なる課題を解決します。つまり、入力を開示せずに本当に協力して何かを計算する方法です。MPCプロトコルでは、複数の独立した参加者(またはノード)が、すべての入力を含む関数を共同で計算し、各参加者は結果だけを学び、他の参加者の入力については何も知りません。秘密分散に基づくMPCの基礎は、Partsia Blockchain FoundationのIvan Damgardとその共同執筆者が1980年代末に発表した論文にあります。以来、さまざまな技術が開発されました。
簡単な例として、いくつかの企業が特定の職種の業界全体の平均給与を計算したいが、いずれも内部データを明らかにしたくない場合を考えてみましょう。MPCを使用すると、各企業がデータを共同計算に投入できます。プロトコルは、どの企業も他の参加者の元データを見ることがないように保証し、すべての参加者が最終的な平均値を受け取ります。計算は暗号プロトコルを通じてグループ全体で実行され、中央機関の必要性が排除されます。この設定では、プロセス自体が信頼できる仲介者として機能します。
MPCはどのように機能するのでしょうか?各参加者の入力は数学的に分割され(シェア)、すべての参加者に分配されます。たとえば、私の秘密が42だとすると、42の合計になるランダムな数字を生成し、各参加者に一つずつ(ランダムに見える部分)を与えます。単一の部分は情報を漏らしませんが、それらは一緒に情報を保持しています。その後、参加者はこれらのシェアに対して計算を行い、メッセージをやり取りしながら、最終的に出力のシェアを得ます。これらは組み合わせて結果を明らかにすることができます。この過程全体を通して、誰も元の入力を見ることはできません。彼らは符号化または曖昧化されたデータしか見ません。
なぜMPCが重要なのでしょうか?本質的に非中央集権的であるため、TEEのような単一の安全ボックスやZKのような単一の証明者に依存しません。どの単一の参加者にも信頼を必要としないからです。一般的な定義では、計算が参加者間で分散されている場合、プライバシーを保護したり正当性を保証したりするために、いずれかの一側に依存する必要がないと説明しています。これにより、プライバシー保護技術の礎石となります。10個のノードがMPC計算を行う場合、通常、秘密を漏らすために大量のノードが共謀または攻撃されなければならないのです。これはブロックチェーンの分散型信頼モデルと非常に一致しています。
MPCの課題:プライバシーには代償があります。MPCプロトコルは、通信面でオーバーヘッドを生じることが多いです。共同計算を行うには、参加者間で複数ラウンドの暗号化メッセージを交換しなければなりません。関数の複雑さや参加者数の増加に伴い、通信ラウンド数(順番の往復メッセージ)と帯域幅要件が増加します。より多くの参加者が関与するにつれて、計算を効率的に保つことは難しくなります。また、正直な参加者と悪意のある参加者の問題もあります。基本的なMPCプロトコルは、参加者がプロトコルに従う(おそらく好奇心はあるが逸脱しない)と仮定しています。より強力なプロトコルは、悪意のある行為者(プライバシーまたは正当性を破壊しようとして誤った情報を送信する可能性がある)を処理できますが、これにより不正行為を検出し緩和するためのオーバーヘッドがさらに増えます。興味深いことに、ブロックチェーンは不正行為を罰するフレームワークを提供することで助けになります。たとえば、ノードがプロトコルから逸脱した場合、ステーキングと罰則メカニズムを使用できます。これにより、MPCとブロックチェーンが相補的な関係になります。
性能面では、大きな進展がありました。前処理技術により、実際の入力が不明な前に重い暗号計算を行うことができます。たとえば、関連するランダムデータ(Beaver三項組と呼ばれる)を生成することで、後で乗算演算を高速化できます。これにより、実際の入力に対する計算が必要になると(オンライン段階)、はるかに高速になります。現代のMPCフレームワークの中には、少数の参加者間で数秒以内にかなり複雑な関数を計算できるものもあります。MPCを多くの参加者に拡張するために、ネットワークや委員会に組織する研究もあります。
MPCは、入札を秘匿するオークション(MPCで実行)などのプライベートマルチユーザdApp、複数の主体がデータを共有せずに共同でモデルを訓練するプライバシー保護機械学習(MPC付きフェデレーテッドラーニングと呼ばれる活発な分野)、閾値鍵の例のような分散型秘密管理などの用途に特に重要です。具体的な暗号の例として、Partisia Blockchainは、MPCをその核に統合し、パブリックブロックチェーン上で企業レベルのプライバシーを実現しています。Partisiaは、MPCノードネットワークを使用して、プライベートスマートコントラクトのロジックを処理し、その後、チェーン上でコミットメントまたは暗号化された結果を公開します。
3. 混在回路 (GC)
混在回路は、現代暗号学における基本的な概念であり、暗号化されたデータ上で計算を行うための最初のソリューションの一つとしても知られています。GCは、暗号化されたデータの計算をサポートするだけでなく、ゼロ知識証明や匿名/リンク不可能トークンなど、さまざまなプライバシー保護プロトコルにも使用されています。
回路とは何か?回路は、単純な算術から複雑なニューラルネットワークまで、あらゆる関数を表現できる汎用的な計算モデルです。この用語は通常ハードウェアに関連付けられますが、回路はZK、MPC、GC、FHEを含むさまざまなDeCC技術で広く使用されています。回路は、入力線、中間ゲート、出力線で構成されています。入力線に値(ブール値または算術値)を提供すると、ゲートがそれらの値を処理して対応する出力を生成します。ゲートのレイアウトは、計算される関数を定義します。関数やプログラムは、VHDLや特定領域の暗号学コンパイラなどのコンパイラを使用して、回路表現に変換されます。
混在回路とは何か?標準回路は、実行中にすべてのデータ(入力線と出力線上の値、中間ゲートの出力)を平文で露出します。一方、混在回路は、これらのすべてのコンポーネントを暗号化します。入力、出力、中間値は暗号化された値(混在テキスト)に変換され、ゲートは混在ゲートと呼ばれます。混在回路アルゴリズムは、回路の評価が元の平文値に関する情報を一切漏らさないように設計されています。平文を混在テキストに変換し、それを復号するプロセスは、符号化と復号と呼ばれます。
GCは暗号化データ計算の問題をどう解決するのか?混在回路は、1982年に姚期智(Andrew Yao)によって提唱され、暗号化されたデータで計算を行うための最初の一般的なソリューションでした。彼の最初の例である「百万長者問題」では、人々がお互いに実際の富を開示せずに、誰が最も裕福かを知りたいという状況を扱っています。混在回路を使用すると、各参加者は自分の入力(富)を暗号化し、暗号化されたバージョンを他の人と共有します。その後、最大値を計算する回路を暗号化されたゲートで段階的に評価します。最終出力(たとえば、最も裕福な人の身元)が復号されますが、他の参加者の正確な入力は誰も知りません。この例では単純な最大値関数を使用していますが、同じアプローチは、統計分析やニューラルネットワーク推論など、より複雑なタスクにも適用できます。
DeCCにGCを適用する画期的な進展。Soda Labsが主導する最新の研究は、混在回路技術を分散型環境に適用しています。これらの進展は主に3つの分野に集中しています。分散化、合成可能性、公共監査可能性です。分散化された設定では、計算が2つの独立したグループ間に分離されます。混在者(混在回路の生成と配布を担当)と評価者(混在回路の実行を担当)です。混在者が評価者ネットワークに回路を提供し、評価者ネットワークはスマートコントラクトロジックの指示に従って、オンデマンドでこれらの回路を実行します。
この分離により、合成可能性、つまり小さな原子操作から複雑な計算を構築する能力が実現されます。Soda Labsは、低レベルの仮想マシン命令(EVMなど)に対応する連続した混在回路のストリームを生成することでこれを実現しています。これらの構成要素は、実行時に動的に組み合わせて、より複雑なタスクを実行できます。
公共監査可能性に関して、Soda Labsは、計算に参加していない外部者が結果が正しく計算されたかどうかを検証できるメカニズムを提案しています。この検証は、基礎となるデータを露出せずに実行でき、追加の信頼と透明性を提供します。
GCがDeCCにとって重要な理由:混在回路は、暗号化された入力に対して低遅延、高スループットの計算を提供します。COTI Networkのメインネットで実証されているように、初期実装は毎秒約50〜80の機密ERC20取引(ctps)をサポートしており、将来のバージョンではさらに高いスループットが期待されます。GCプロトコルは、広く採用された暗号基準(AESなど)と医療、金融、政府などの分野で広く使用されているOpenSSLなどのライブラリに依存しています。AESは耐量子変種も提供しており、将来の耐量子セキュリティ要件との互換性をサポートしています。
GCベースのシステムはクライアント環境と互換性があり、特定のハードウェアやGPUを必要とせず、一部のTEEやFHE展開とは異なります。これによりインフラコストが低下し、より幅広いデバイス、容量の低いマシンでも展開が可能になります。
GCの課題:混在回路の主な制限は通信オーバーヘッドです。現在の実装では、各機密ERC20取引ごとに評価者に約1MBのデータを送信する必要があります。しかし、これらのデータは実行前の早い段階で事前読み込みできるため、リアルタイム使用中に遅延は発生しません。ニルソンの法則(帯域幅は21ヶ月ごとに倍増すると予測)で説明される傾向など、帯域幅可用性の継続的な改善と、混在回路圧縮の積極的な研究が、このオーバーヘッドの削減に貢献しています。
4. 完全準同型暗号 (FHE)
完全準同型暗号(FHE)は、しばしば暗号学の魔法と見なされます。これは、データが暗号化されたまま任意の計算を実行でき、結果を復号すると、まるで平文上で計算したかのように正しい答えが得られるようにします。言い換えれば、FHEを使用すると、機密データの計算を信頼できないサーバーに外部委託できます。サーバーは暗号文上で操作を行い、正しい答えを復号できる暗号文を生成しますが、サーバーはあなたのデータや平文の結果を見ることはありません。
長い間、FHEは純粋に理論的でした。この概念は1970年代から知られていましたが、実用的な方式が発見されたのは2009年です。それ以来、FHEの速度低下の面で着実な進歩がありました。それでも、計算量は非常に大きいです。暗号化されたデータに対する操作は、平文データに対する操作に比べて数千から数百万倍遅くなる可能性があります。しかし、かつて天文学的に遅かった操作は、今はかなり遅い程度になっており、最適化や専用のFHEアクセラレーターがこの状況を急速に改善しています。
FHEがプライバシーに革命的な意味を持つ理由:FHEを使用すると、暗号化が強固である限り、単一のサーバーやブロックチェーンノードに計算を任せることができ、ノードは何も学べません。これは非常に純粋な機密計算の形態であり、データは常にどこでも暗号化されたままです。非中央集権化の観点から、複数のノードが冗長性やコンセンサスのためにそれぞれFHE計算を実行することもできますが、それらは秘密情報を一切持ちません。それらはすべて暗号文を操作しているだけです。
ブロックチェーンの文脈では、FHEは完全に暗号化された取引とスマートコントラクトの可能性を開きます。イーサリアムに似たネットワークを想像してください。あなたは暗号化された取引をマイナーに送り、マイナーは暗号化されたデータ上でスマートコントラクトのロジックを実行し、チェーンに暗号化された結果を含めます。あなたまたは許可された当事者は、後で結果を復号できます。他の人にとっては、それは理解不能なゴミの塊ですが、計算が有効であることを示す証明を持っているかもしれません。ここでFHEとZKの組み合わせが役立つ可能性があります。暗号化された取引がルールに従っていることを証明するのです。これがまさにFhenixプロジェクトが追求していることです。FHE自体をサポートするEVM互換のLayer-2です。
FHEが可能にする実用的なユースケース:ブロックチェーン以外でも、FHEはクラウドコンピューティングにとって非常に魅力的です。たとえば、暗号化されたデータベースクエリをクラウドに送信し、暗号化された答えを受け取り、あなただけがその答えを復号できるようにします。ブロックチェーンの文脈では、印象的なシナリオの一つはプライバシー保護機械学習です。FHEは、分散型ネットワークがユーザーが提供する暗号化されたデータ上でAIモデル推論を実行できるようにし、ネットワークは入力や結果を学ばず、復号時に初めて知ることができます。別のユースケースは公共部門や健康データの共同作業です。異なる病院が共通の鍵または連邦鍵の設定を使用して患者データを暗号化し、ノードネットワークがすべての病院の暗号化されたデータの集計統計を計算し、研究者に復号可能な結果を提供できます。これはMPCができることと似ていますが、FHEはより単純なアーキテクチャで実現できる可能性があり、信頼できないクラウドやマイナーのネットワークに数字を処理させるだけで済みますが、その代償として各操作の計算量が大きくなります。
FHEの課題:最大の課題は性能です。進歩はありますが、FHEは通常、計算と方式に応じて平文操作より千倍から百万倍遅くなります。つまり、現在のところ、簡単な関数や、ある方式では一度に多くの操作をバッチ処理するような限られたタスクにしか適用できません。少なくとも強力なハードウェアサポートなしでは、複雑な仮想マシンを実行する技術としては使えません。暗号文サイズの問題もあります。完全準同型操作はデータを膨張させる傾向があります。操作実行中に蓄積し始めるノイズを持つ暗号文をリフレッシュする自起動(bootstrapping)などの最適化は、任意の長さの計算に必要であり、オーバーヘッドを増加させます。しかし、多くのアプリケーションは完全に任意の深さを必要としません。固定数の乗算を実行する階層化HE(leveled HE)を使用し、自起動を回避することもできます。
ブロックチェーンにとって、FHEの統合は複雑です。各ノードが各取引に対してFHE操作を実行しなければならない場合、現在の技術では非常に遅くなる可能性があります。そのため、Fhenixのようなプロジェクトは、強力なコーディネーターやノードのサブセットが重いFHE計算を担当するL2やサイドチェーンから始め、L2が結果をバッチ処理します。時間が経つにつれ、FHEがより効率的になったり、専用のFHEアクセラレーターASICやGPUが登場したりすれば、より広く採用される可能性があります。Web2およびWeb3ユースケースにおけるデータプライバシーの将来の重要性を認識し、FHEを高速化するためのハードウェアを積極的に研究している企業や学術界が多数存在することに注目すべきです。
FHEを他の技術と組み合わせる:通常、FHEはMPCやZKと組み合わせて弱点を解決することがあります。たとえば、複数の当事者がFHE鍵のシェアを持つことで、単一の当事者が単独で復号できなくなり、事実上閾値FHEスキームを作成します。これにより、MPCとFHEを組み合わせて、単一の復号失敗の一点を回避します。あるいは、ゼロ知識証明を使用して、ブロックチェーンノードが処理する前にそれが有効であることを確認できるように、FHE暗号化取引の形式が正しいことを証明できます。これは一部の人々が呼ぶZK-FHEのハイブリッドモデルです。実際、組み合わせ可能なDeCCアプローチは、FHEをデータ処理の重い作業に使用することかもしれません。なぜなら、FHEは常に暗号化されたまま計算できる唯一の方法の一つだからです。そして、ZK証明を使用して、計算が無効なことをしていないことを保証したり、他人がそれらを見ることなく結果を検証できるようにしたりします。
5. 信頼できる実行環境 (TEE)
信頼できる実行環境(TEE)は、非中央集権型機密計算(DeCC)の基盤コンポーネントです。TEEは、プロセッサ内の安全な領域であり、コードとデータをシステムの残りの部分から隔離し、OSが侵害されてもその内容が保護されることを保証します。TEEは、最小限の性能オーバーヘッドで計算中の機密性と整合性を提供します。これにより、安全な汎用計算に使用できる最も実用的な技術の一つになります。
考え方はこうです。TEEは、あなた以外誰も入れず、覗けない鍵のかかった部屋で機密書類を読んでいるようなものです。あなたは自由に資料を参照し処理できますが、部屋を出るときには結果だけを持ち帰り、他のすべてのものを鍵で閉じ込めます。外の人々は資料を直接見ることはなく、あなたが選んで明らかにした最終結果だけを見ます。
現代のTEEは著しい進歩を遂げています。IntelのTDXやAMD SEVは、仮想マシン全体の安全な実行をサポートし、NVIDIAの高性能GPU(H100およびH200を含む)も現在TEE機能を備えています。これらのアップグレードにより、機械学習モデル、バックエンドサービス、ユーザ指向ソフトウェアなど、任意のアプリケーションを機密環境で実行できるようになりました。たとえば、Intel TDXとNVIDIA H100を組み合わせると、700億を超えるパラメータを持つモデル上で推論を実行でき、性能損失はわずかです。カスタムツールや制限された環境を必要とする暗号学的手法とは異なり、現代のTEEは変更なしでコンテナ化されたアプリケーションを実行できます。これにより、開発者はPython、Node.js、または他の標準言語を使用してアプリケーションを記述しつつ、データの機密性を維持できます。
代表的な例はSecret Networkです。これは、TEE(特にIntel SGX)を活用して、私的ステートを持つ汎用スマートコントラクトを実現した最初のブロックチェーンです。各Secretノードは、enclave(安全ゾーン)内でスマートコントラクトの実行ランタイムを実行します。スマートコントラクトに送信される取引は暗号化されており、enclaveだけがそれらを復号し、スマートコントラクトを実行し、暗号化された出力を生成できます。ネットワークはリモートアテンシュエーションを使用して、ノードが本物のSGXと承認されたenclaveコードを実行していることを保証します。これにより、Secret Network上のスマートコントラクトは、暗号化された入力などの機密データを処理でき、ノード運営者さえそれを読み取ることはできません。enclaveだけが読み取ることができ、それが解放すべきものだけを解放します。通常はハッシュまたは暗号化された結果だけです。Phala NetworkとMarlinは、似ていても異なるモデルを使用しています。そのアーキテクチャは、TEE駆動のワーカーノードを中心に構築されており、安全なオフチェーン計算を実行し、検証された結果をブロックチェーンに戻します。この設定により、Phalaは、元のデータを外部の者に漏らすことなく、データの機密性と実行の整合性を保護できます。ネットワークは、スケーラビリティと相互運用性を目的としており、分散型アプリケーション、クロスチェーンシステム、AI関連サービスにわたるプライバシー保護ワークロードをサポートしています。Secret Networkと同様に、Phalaは、検証可能なハードウェアenclave内で機密ロジックを分離することで、TEEを非中央集権環境に機密計算を拡張するために使用できることを示しています。
DeCCにおけるTEEの現代的展開には、いくつかのベストプラクティスが含まれます:
-
リモートアテンシュエーションとオープンソースランタイム:プロジェクトは、enclave内で実行されるコード(通常は修正されたWASMインタプリタまたは専用のランタイム)を公開し、それを証明するプログラムを提供します。たとえば、各Secret Networkノードは、本物のSGX上でSecret enclaveコードを実行していることを証明する証明レポートを生成します。他のノードやユーザーは、この証明を検証してから、ノードが暗号化されたクエリを処理することを信頼できます。オープンソースランタイムコードを使用することで、コミュニティはenclaveが何をするべきかを監査できますが、ハードウェアがそれらのことだけを行うと信じ続けなければなりません。
-
冗長性とコンセンサス:一部のシステムでは、単一のenclaveがタスクを実行するのではなく、複数のノードまたはenclaveが同じタスクを実行し、結果を比較します。これはMPCアプローチと似ていますが、より高いレベルです。あるenclaveが逸脱または侵害され、異なる結果を生成した場合、すべてのenclaveが侵害されていない限り、多数決投票で検出できます。これは初期のEnigmaプロジェクト(後にSecretに進化)のアプローチでした。複数のSGX enclaveで計算を行い、相互チェックを行う計画でした。実際には、一部のネットワークは現在、性能のために各コントラクトの単一enclaveを信頼していますが、設計はより高いセキュリティのためにマルチenclaveコンセンサスに拡張できます。
-
一時鍵と頻繁なリセット:鍵漏洩のリスクを低減するために、TEEは各セッションやタスクごとに新しい暗号鍵を生成し、長期的な秘密を保存しないようにできます。たとえば、DeCCサービスが機密データ処理を行う場合、頻繁に破棄される一時的なセッション鍵を使用するかもしれません。これにより、後で漏洩が発生しても、過去のデータが暴露されない可能性があります。鍵ローテーションと前方秘匿性を推奨します。これにより、enclaveが時刻Tに侵害されたとしても、時刻T以前のデータは安全に保たれます。
-
プライバシーのために、コンセンサス整合性のためではない:前述の通り、TEEはプライバシー保護のために使用するのが最適であり、コアコンセンサス整合性のためではありません。したがって、ブロックチェーンはデータの秘匿のためにTEEを使用するかもしれませんが、ブロックの検証や帳簿のステート遷移の保護には使用しません。後者はコンセンサスプロトコルに任せるのが最適です。この設定では、侵害されたenclaveはいくつかの機密情報を漏らすかもしれませんが、帳簿上のトークン
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














