秘密共有と閾値暗号(Secret-sharing and threshold encryption):このスキームでは、ユーザーは取引を特定の鍵で暗号化し、その鍵は特定の委員会(通常は検証者のサブセット)によって共同で保持されます。復号には一定の閾値条件を満たす必要があります(例えば、委員会の三分の二のメンバーが同意すること)。
タイムロックと遅延暗号化(Time-lock and delay encryption):閾値暗号の代替手段として、遅延暗号化の原理は次のとおりです。ユーザーは取引を特定の公開鍵に暗号化し、その公開鍵に対応する秘密鍵はタイムロックパズルに隠されています。タイムロックパズルは秘密をカプセル化する暗号学的パズルであり、その秘密の内容は事前に設定された時間が過ぎるまで明らかにされません。より具体的には、復号プロセスは一連の並行化できない計算を繰り返し実行する必要があります。このメカニズムでは、誰でもパズルを解いて鍵を取得し取引を復号できますが、その前提として、十分に長い時間を要する計算(本質的には直列実行される)が完了する必要があります。これにより、最終確認前に取引が復号されることはありません。この暗号原語の最強の形式は、遅延暗号化技術を通じてこのようなパズルを公開生成することです。また、信頼できる委員会がタイムロック暗号化を利用してこのプロセスを近似することも可能ですが、その場合、相対的な閾値暗号の利点は疑問視されるべきです。
a16z:なぜ暗号化メモリープールはMEVの万能解薬になりにくいのか?
執筆:Pranav Garimidi、Joseph Bonneau、Lioba Heimbach、a16z
コンピレーション:シアーシャ、フォーサイトニュース
ブロックチェーンでは、どのトランザクションをブロックにパッケージ化し、どれを除外するか、またはトランザクションの順序を調整することで利益を得ることができます。このように得られる最大の価値を「最大抽出可能価値」と呼び、略して MEV と言います。MEV はほとんどのブロックチェーンに普遍的に存在し、業界で広く関心を持たれ、議論されているトピックです。
注:この記事は、読者がMEVについて基本的な理解を持っていることを前提としています。一部の読者は、まず私たちの MEVの普及記事**を読むことをお勧めします。
多くの研究者がMEV現象を観察する中で、明確な質問を提起しています:暗号技術はこの問題を解決できるのか?その解決策の一つは、暗号化メモリプールを採用することです。ユーザーは暗号化された取引をブロードキャストし、これらの取引は順序付けが完了した後にのみ復号され公開されます。こうすることで、コンセンサスプロトコルは取引の順序を「盲選」する必要があり、これにより順序付け段階でMEVの機会を利用して利益を得ることを防ぐことができるようです。
しかし残念ながら、実際の応用や理論的な観点から見ても、暗号メモリプールはMEV問題に対して普遍的な解決策を提供することができません。本稿ではその難しさを説明し、暗号メモリプールの実行可能な設計方向について考察します。
暗号メモリプールの動作原理
暗号メモリプールに関する提案は数多くありますが、その一般的なフレームワークは次のとおりです:
注意すべき重要な点は、ステップ 3(取引の復号化)において重要な問題が存在することです。それは、誰が復号化を担当するのかということです。復号化が完了しなかった場合、どうすればよいのでしょうか?一つの簡単な考え方は、ユーザー自身に自分の取引を復号化させることです(この場合、暗号化すら必要なく、単に約束を隠すだけで済みます)。しかし、この方法には欠陥があります:攻撃者が投機的な MEV を実施する可能性があるのです。
投機的MEVでは、攻撃者は特定の暗号取引にMEVの機会が含まれていると推測し、次に自分の取引を暗号化して有利な位置(例えば、ターゲット取引の前または後)に挿入しようとします。取引が予想通りの順序で並べられれば、攻撃者は自分の取引を通じてMEVを抽出するために復号化します。予想通りでない場合は、復号化を拒否し、その取引は最終的なブロックチェーンには含まれません。
解読に失敗したユーザーに対して罰則を科すことができるかもしれませんが、このメカニズムの実施は非常に困難です。その理由は、すべての暗号化された取引に対する罰則の強度を統一しなければならないためです(暗号化後は取引を区別できないため)。さらに、罰則は十分に厳しいものでなければならず、高価値のターゲットに対しても投機的なMEVを抑制できる必要があります。これにより、多くの資金がロックされ、これらの資金は匿名性を保持する必要があります(取引とユーザーの関連性が漏れないようにするため)。さらに厄介なのは、プログラムのバグやネットワークの障害により、実際のユーザーが正常に解読できない場合、彼らも損失を被ることになります。
したがって、ほとんどの提案は、取引を暗号化する際には、将来のある時点で必ず復号化できることを保証する必要があると提案しています。たとえ取引を開始したユーザーがオフラインであったり、協力を拒否した場合でもです。この目標は、以下のいくつかの方法で達成できます:
信頼できる実行環境(TEEs):ユーザーは取引を信頼できる実行環境(TEE)のセキュリティエリアが保持するキーに暗号化できます。一部の基本バージョンでは、TEEは特定の時点以降に取引を復号化するためにのみ使用されます(これはTEE内部に時間認識能力が必要です)。より複雑なソリューションでは、TEEが取引を復号化し、ブロックを構築し、到達時間、手数料などの基準に基づいて取引をソートします。他の暗号メモリプールソリューションと比較して、TEEの利点は平文取引を直接処理できることで、巻き戻される取引をフィルタリングすることでチェーン上の冗長情報を減らすことができます。しかし、この方法の短所はハードウェアの信頼性に依存していることです。
秘密共有と閾値暗号(Secret-sharing and threshold encryption):このスキームでは、ユーザーは取引を特定の鍵で暗号化し、その鍵は特定の委員会(通常は検証者のサブセット)によって共同で保持されます。復号には一定の閾値条件を満たす必要があります(例えば、委員会の三分の二のメンバーが同意すること)。
閾値暗号解読を採用する際、信頼できる媒介はハードウェアから委員会に変わります。支持者は、ほとんどのプロトコルがコンセンサスメカニズムにおいて「正直な多数」の特性を持つバリデーターをデフォルトで検証しているので、私たちも似たような仮定を立てることができると考えています。つまり、大多数のバリデーターは正直であり、取引を事前に解読しないでしょう。
しかし、ここで重要な違いに注意する必要があります。この二つの信頼仮定は同じ概念ではありません。ブロックチェーンのフォークなどのコンセンサス失敗は公開されて見える(「弱い信頼仮定」に属します)が、悪意のある委員会が秘密裏に取引を事前に解読することは、公開の証拠を残しません。この攻撃は検出できず、罰することもできません(「強い信頼仮定」に属します)。したがって、一見するとコンセンサスメカニズムと暗号委員会の安全仮定は一致しているように見えますが、実際には「委員会は共謀しない」という仮定の信頼性ははるかに低いのです。
タイムロックと遅延暗号化(Time-lock and delay encryption):閾値暗号の代替手段として、遅延暗号化の原理は次のとおりです。ユーザーは取引を特定の公開鍵に暗号化し、その公開鍵に対応する秘密鍵はタイムロックパズルに隠されています。タイムロックパズルは秘密をカプセル化する暗号学的パズルであり、その秘密の内容は事前に設定された時間が過ぎるまで明らかにされません。より具体的には、復号プロセスは一連の並行化できない計算を繰り返し実行する必要があります。このメカニズムでは、誰でもパズルを解いて鍵を取得し取引を復号できますが、その前提として、十分に長い時間を要する計算(本質的には直列実行される)が完了する必要があります。これにより、最終確認前に取引が復号されることはありません。この暗号原語の最強の形式は、遅延暗号化技術を通じてこのようなパズルを公開生成することです。また、信頼できる委員会がタイムロック暗号化を利用してこのプロセスを近似することも可能ですが、その場合、相対的な閾値暗号の利点は疑問視されるべきです。
遅延暗号化を採用するか、信頼できる委員会が計算を実行するかにかかわらず、これらの方案は多くの実際的な課題に直面しています。まず、遅延は本質的に計算プロセスに依存しているため、復号時間の正確性を保証するのが難しいです。次に、これらの方案は特定のエンティティが高性能ハードウェアを運用して効率的に問題を解決することに依存する必要がありますが、誰でもこの役割を担うことができるにもかかわらず、その主体を参加させるためのインセンティブをどのように提供するかは依然として不明です。最後に、このような設計では、放送されたすべての取引が復号されますが、ブロックに最終的に書き込まれたことのない取引も含まれます。一方、閾値(またはウィットネス暗号化)に基づく方案は、成功裏に含まれた取引のみを復号する可能性があります。
ウィットネス暗号(Witness encryption):最後の最先端の暗号学的スキームは「ウィットネス暗号」技術を採用しています。理論的には、ウィットネス暗号のメカニズムは、情報を暗号化した後、特定の NP 関係に対応する「ウィットネス情報」を知っている人だけがそれを復号できるというものです。例えば、特定の数独のパズルを解くことができる人や、特定の数値のハッシュの元を提供できる人だけが復号を完了できるように情報を暗号化することができます。
(注:NP関係とは「問題」と「迅速に検証できる回答」間の対応関係です)
任意のNP関係に対して、SNARKsを通じて類似の論理を実現することができます。証明暗号は本質的に、特定の条件を満たす主体のみがSNARKを通じて解読できる形式でデータを暗号化することだと言えます。暗号化されたメモリプールのシナリオでは、この種の条件の典型的な例は、取引がブロックの最終確認後にのみ解読されることです。
これは非常に潜在能力のある理論的な原語です。実際には、委員会に基づく方法と遅延に基づく方法は、その具体的な応用形態に過ぎない汎用性のあるスキームです。残念ながら、現在のところ、実際に適用可能な証人ベースの暗号スキームは存在しません。さらに、そのようなスキームが存在したとしても、ステークプルーフチェーンにおいて委員会に基づく方法よりも優位になるとは言い難いです。たとえ取引が最終的に確定したブロック内でソートされた後にのみ解読可能な証人暗号を設定したとしても、悪意のある委員会は共識プロトコルを秘密裏に模倣して取引の最終確認状態を偽造し、このプライベートチェーンを「証人」として取引を解読することができます。この場合、同じ委員会が閾値解読を利用することで同等の安全性を達成でき、操作ははるかに簡単です。
しかし、プルーフ・オブ・ワークコンセンサスプロトコルでは、証人暗号化の利点がさらに顕著です。なぜなら、委員会が完全に悪意を持っていても、現在のブロックチェーンのヘッドで複数の新しいブロックを非公開で掘り起こして最終確認状態を偽造することはできないからです。
暗号メモリプールが直面する技術的課題
暗号メモリプールがMEVを防ぐ能力には多くの実際の課題が制約しています。全体的に見て、情報の機密性自体が問題です。注目すべきは、Web3分野での暗号技術の適用はあまり広がっていないことですが、私たちがネットワーク(TLS/HTTPSなど)やプライベート通信(PGPからSignal、WhatsAppなどの現代の暗号メッセージプラットフォームまで)で暗号技術を展開してきた数十年の実践は、その難しさを十分に明らかにしています:暗号は機密性を保護するためのツールですが、絶対的な保証はできません。
まず、特定の主体がユーザーの取引のプレーンテキスト情報を直接取得する可能性があります。典型的なシナリオでは、ユーザーは通常自分で取引を暗号化することはなく、この作業をウォレットサービスプロバイダーに委託します。こうすることで、ウォレットサービスプロバイダーは取引のプレーンテキストにアクセスでき、これらの情報を利用したり販売したりしてMEVを抽出する可能性があります。暗号化の安全性は、常に鍵にアクセスできるすべての主体に依存します。鍵の管理の範囲が安全の境界です。
さらに最大の問題はメタデータ、つまり暗号ペイロード(取引)の周辺にある未暗号化データです。サーチャーはこれらのメタデータを利用して取引の意図を推測し、それによって投機的なMEVを実施することができます。サーチャーは取引内容を完全に理解する必要はなく、毎回正しく推測する必要もありません。例えば、特定の分散型取引所(DEX)からの買い注文であると合理的な確率で判断できれば、攻撃を開始するのに十分です。
私たちはメタデータをいくつかのカテゴリに分けることができます。一つは暗号技術に固有の古典的な問題であり、もう一つは暗号メモリプール特有の問題です。
複雑な検索者は、上記の複数のメタデータタイプを組み合わせて取引内容を予測する可能性があります。
理論的には、これらの情報はすべて隠すことができますが、パフォーマンスと複雑さの代償が必要です。例えば、取引を標準の長さに埋め込むことでサイズを隠すことはできますが、帯域幅とオンチェーンスペースを浪費します。送信前に遅延を追加することで時間を隠すことはできますが、遅延が増加します。Torなどの匿名ネットワークを通じて取引を送信することでIPアドレスを隠すことができますが、これにより新たな課題も生じます。
最も隠しにくいメタデータは取引手数料情報です。暗号手数料データはブロック構築者に一連の問題をもたらします:まずはゴミ情報の問題です。取引手数料データが暗号化されている場合、誰でも形式が誤った暗号取引を放送できます。これらの取引は並べ替えられますが、手数料を支払うことはできず、復号化後に実行できませんが、誰も責任を問われることはありません。これはSNARKsを通じて解決されるかもしれません。つまり、取引形式が正しく、資金が十分であることを証明しますが、大幅にコストが増加します。
次に、ブロック構築と手数料オークションの効率の問題があります。構築者は、利益を最大化するブロックを作成し、チェーン上のリソースの現在の市場価格を決定するために手数料情報に依存しています。暗号手数料データはこのプロセスを破壊します。一つの解決策は、各ブロックに固定手数料を設定することですが、これは経済的に非効率的であり、取引パッケージの二次市場を生み出す可能性があります。これにより、暗号メモリプールの設計意図に反することになります。もう一つの解決策は、安全なマルチパーティ計算や信頼できるハードウェアを介して手数料オークションを行うことですが、これらの方法は非常にコストがかかります。
最後に、安全な暗号メモリプールは、システムオーバーヘッドを多方面から増加させることになります:暗号化はチェーンの遅延、計算量、帯域幅消費を増加させます;シャーディングや並列実行などの重要な将来の目標との統合方法は、現時点では明確ではありません;また、アクティビティ(liveness)に新たな障害ポイントを導入する可能性があります(例えば、閾値スキームの復号委員会、遅延関数ソルバーなど);同時に、設計と実装の複雑さも著しく増加します。
暗号メモリプールの多くの問題は、取引のプライバシーを保証することを目的としたブロックチェーン(例えば、ZcashやMonero)が直面する課題と共通しています。もし何か積極的な意義があるとすれば、それは、MEV緩和における暗号技術のすべての課題を解決することで、取引のプライバシーを妨げる障害を取り除くことになるでしょう。
暗号メモリプールが直面する経済的課題
最後に、暗号メモリプールは経済的側面の課題にも直面しています。技術的な課題とは異なり、後者は十分なエンジニアリング投入によって徐々に緩和することができます。これらの経済的課題は根本的な制約に属し、解決が非常に困難です。
MEV の核心的な問題は、取引の作成者(ユーザー)と MEV 機会を掘り起こす者(検索者やブロック構築者)との間の情報の非対称性に起因します。ユーザーは通常、自分の取引にどれほどの可抽出価値が含まれているのかを把握していないため、完璧な暗号メモリプールが存在しても、実際の MEV 価値よりも低い報酬と引き換えに復号化キーを漏らすように誘導される可能性があります。この現象は「インセンティブによる復号化」と呼ばれます。
このようなシーンは想像するのは難しくありません。なぜなら、MEV Share のような類似のメカニズムが現実に存在しているからです。MEV Share は、ユーザーが取引情報をプールに選択的に提出することを許可する注文フローオークションメカニズムであり、検索者は競争を通じてその取引の MEV 機会を利用する権利を取得します。入札者は MEV を抽出した後、利益の一部(すなわち入札額またはその一定割合)をユーザーに返還します。
このモデルは暗号メモリプールに直接適応できます:ユーザーは参加するために復号キー(または一部の情報)を開示する必要があります。しかし、多くのユーザーはこのようなメカニズムに参加する際の機会コストに気づいていません。彼らは目の前のリターンしか見ておらず、喜んで情報を漏らします。従来の金融でも似たようなケースがあります:例えば、手数料ゼロの取引プラットフォームRobinhoodは、その収益モデルを「オーダーフローの支払い」(payment-for-order-flow)を通じてユーザーのオーダーフローを第三者に販売することに依存しています。
別の可能なシナリオは、大規模なビルダーが審査を理由にユーザーに取引内容(または関連情報)を開示させることです。抗審査性はWeb3分野における重要かつ物議を醸すトピックですが、大規模な検証者やビルダーが法律に拘束され(例えば、アメリカの外国資産管理局OFACの規定)、審査リストを実行する必要がある場合、彼らはすべての暗号取引の処理を拒否する可能性があります。技術的には、ユーザーはゼロ知識証明を通じてその暗号取引が審査要件を満たしていることを証明できますが、これには追加のコストと複雑さが伴います。たとえブロックチェーンが強い抗審査性を備えていて(暗号取引が必ず記録されることを保証する)、ビルダーが既知の平文の取引をブロックの前面に優先的に配置し、暗号取引を末尾に置くことがあるため、取引の優先順位を確保する必要がある人々は、最終的にはビルダーに内容を開示せざるを得なくなる可能性があります。
その他の効率に関する課題
暗号メモリプールは、さまざまな明らかな方法でシステムのオーバーヘッドを増加させます。ユーザーは取引を暗号化する必要があり、システムは何らかの方法で復号化する必要があるため、計算コストが増加し、取引サイズも大きくなる可能性があります。前述のように、メタデータの処理はこれらのオーバーヘッドをさらに悪化させます。しかし、いくつかの効率コストはそれほど明白ではありません。金融分野では、価格が利用可能なすべての情報を反映できる場合、市場は効率的と見なされます。一方、遅延や情報の非対称性は市場の非効率を引き起こします。これこそが暗号メモリプールがもたらす必然的な結果です。
このような非効率は直接的な結果をもたらします:価格の不確実性が増加し、これは暗号メモリプールが追加の遅延を引き起こす直接的な産物です。そのため、価格スリッページの許容度を超えて失敗する取引が増加し、結果としてチェーン上のスペースが無駄になる可能性があります。
同様に、この価格の不確実性は投機的なMEV取引を生む可能性があります。この種の取引は、オンチェーンのアービトラージから利益を得ようとします。注目すべきは、暗号メモリプールがこのような機会をより一般的にする可能性があることです。実行の遅延により、分散型取引所(DEX)の現在の状態がより曖昧になり、市場の効率が低下し、異なる取引プラットフォーム間で価格差が生じる可能性が高くなります。このような投機的なMEV取引は、未発見のアービトラージ機会があると、実行が中止されることが多く、ブロックスペースを無駄にすることにもなります。
まとめ
この記事の趣旨は、暗号メモリープールが直面している課題を整理し、人々が他の解決策の研究開発に焦点を移せるようにすることですが、暗号メモリープールは依然としてMEVガバナンスの一部となる可能性があります。
実行可能なアプローチの一つは、混合設計です:一部の取引は暗号メモリプールを通じて「ブラインドソート」を実現し、もう一部は他のソートスキームを採用します。特定のタイプの取引(例えば、大規模な市場参加者の買い売り注文で、彼らは取引を慎重に暗号化または埋め込む能力があり、MEVを回避するためにより高いコストを支払う意欲がある場合)に対して、混合設計は適切な選択かもしれません。高度にセンシティブな取引(脆弱性のある安全契約への修正取引など)に対しても、この設計は実際的な意義があります。
しかし、技術的な制約、高額なエンジニアリングの複雑さとパフォーマンスオーバーヘッドのため、暗号メモリプールは人々が期待する「MEVの万能解決策」となる可能性は低い。コミュニティは、MEVオークション、アプリケーション層の防御メカニズム、最終確認時間の短縮など、他のソリューションを開発する必要がある。MEVは今後しばらくの間、依然として課題であり、さまざまな解決策のバランスを見つけるために深い研究を通じてその悪影響に対処する必要がある。