見出し画像

AggLayerのためのPessimistic Proof(ペシミスティック・プルーフ):クロスチェーンインターオペラビリティのためのZKセキュリティ

AggLayerの暗号技術的安全性を保つためには、新しいソリューションが必要でした。 それはペシミスティック・プルーフ(悲観的証明)と呼ばれ、すべてのチェーンを疑わしく扱います。

※この記事は、2024年5月28日に公開されたPolygon Labsによるブログ記事 "Introducing the Pessimistic Proof for the AggLayer: ZK Security for Cross-chain Interoperatbility" を翻訳したものです。

忙しい人のためのまとめ!

  • 最終的にAggLayerは、流動性、ユーザー、およびステートを統合することでブロックチェーンのスケールを可能にする分散型プロトコルとなります。これは部分的にUnified Bridgeを通じて実現されます。

  • Pessimistic Proofは、複数のチェーンが追加の信頼前提なしにshared bridge (共有ブリッジ) に接続できることを暗号技術的に保証します。これにより、たとえあるチェーンのセキュリティが侵害されても、他のチェーンから資金の流出が起こらないことを保証します。

  • Pessimistic Proofは、各チェーンが自身へのデポジットについて嘘をついていないことを常に確認することでこれを実現します。

  • これが何を意味するかというと、最終的にユーザーはL1を経由する中間ステップを必要とせずに、チェーンAからチェーンBにアセットを移動できるようになります。

  • AggLayerの初期のイテレーションでは、スピードよりも安全性を優先します。しかし、設計上、AggLayerはイーサリアムのファイナリティよりも高速に、相互運用性をサポートできます。

ブロックチェーンがAggLayerに接続すると、イーサリアムに接続された、一つのunified bridge上で他のチェーンと結びつきます。こには既ににOKXのX LayerとPolygon zkEVMで実現されており、近々さらに多くのチェーンが加わる予定です。
Shared bridgeにより、ユーザーはL2間でファンジブルアセットをシームレスに送受信できるようになり、サードパーティのブリッジよりもはるかに優れたUXを提供することができます。サードパーティのブリッジでは、ユーザーが宛先チェーンで資産のラップされた合成バージョンを受け取ることになったり、複数のネイティブブリッジでは、Optimistic Rollupの場合、最大7日間(!)もの遅延が生じたりします。

しかし、AggLayerのこの解決策には新たな問題が伴います:AggLayerが異なるプルーバーやコンセンサスメカニズムをサポートするように拡張されるにつれ、健全性エラーの可能性が高まります。適切な安全メカニズムがなければ、一つのチェーン上の悪意のある行為者が潜在的にブリッジ全体を悪用する可能性があります。

これは私たちが”Pessimistic Proof” と呼ぶもので解決されます。それは、クロスチェーントランザクションの暗号技術的安全性を保証する新しいゼロ知識証明です。

これをペシミスティック(悲観的)と呼ぶのは、AggLayerは「すべてのチェーンは信頼できるわけではなく、また互いに協調できない」と仮定しているからです。Pessimistic Proofにより、一つのチェーンの問題が定義上、unified bridge上の他のチェーンに影響を及ぼすことはできません。
Pessimistic proofにより、全てのチェーンの集合的安全性を保証します。

※注:
AggLayerはいかなるチェーンにも安全性保証を拡張しません。AggLayerに接続された各チェーンは、それぞれの既存ファイナリティメカニズムを使用します。Pessimistic Proofが保証するのは、集約されたブロックチェーンネットワーク全体のクロスチェーンセキュリティであり、これは、一つのチェーンのセキュリティ問題が、unified bridge上の他のチェーンへのデポジットを流出させることはできないことを保証する、というものです。
Pessimistic Proofが概念レベルと実践レベルでそれぞれどのように機能するのか、詳しく説明します。

Unified bridgeとは?

AggLayerから見ると、unified bridgeとは巨大なチェーンのネットワークであり、新しいチェーンが参加する度にその複雑さは増していきます。
ネットワークの安全性を確保するため、AggLayerはチェーン間で行われるすべてのアセット移動とメッセージ伝達を完全に把握する必要があります。これにより、次の重要な点を保証できます: どの時点においても、いかなるチェーンもL1 contractに預け入れられた量を超えるアセットをunified bridgeから引き出すことはできない
AggLayerは、pessimistic proofを生成し、上記の保証を行うために必要な3つの重要な情報を確認する責務があります。そのチェック項目は以下の通りです:

  1. 各チェーンの更新が正しく行われていること。

  2. 各チェーンが内部的な会計処理を正しく行っていること。つまり、保有していないトークンの引き出しを試みていないこと。

  3. すべてのチェーンが全体として、内部会計処理を正しく行っていること。

これは、AggLayerが各チェーンを精査し、預け入れられた量以上のアセットをブリッジから引き出そうとしていないことを確認する方法です。このようにして、他のチェーンと協調できないチェーンは、自身にとっての脅威となるだけで、集約されたネットワーク全体には脅威とはなりません。
言い換えれば、チェーンAがブリッジに100 POLを預け入れたと主張した場合、AggLayerはその後、二重主張や悪意のある攻撃者による不正利用を通じて、200 POLを引き出そうとしていないかを追跡し、確認します。
では、チェーンのバランスがゼロを下回らないことを保証するZK proofを基盤となるL1に提供するには、AggLayerでは何をおこなっているのでしょうか?
そして、重要なポイントとして、複雑さを最小限に抑えて行い、コストとレイテンシーを低く抑えるために何をしているのでしょうか?

Pessimistic Proofの仕組み

Pessimistic proofが安全性を確保する方法は以下の通りです:AggLayerに接続された各チェーンはローカルexit tree (詳細) を管理し、そのチェーンからのすべての引き出しを追跡します。

各チェーンのローカルexit treeのrootを使用して、AggLayerはunified bridge上のすべてのチェーンからのすべての引き出しのグローバルな見方を構築できます。これを「global exit tree」と呼びます。

簡単に言えば、AggLayerは引き出しと預け入れという2つの数字を追跡し、すべてのチェーンにわたる現在のバランスの見方を得ることができます。
global exit treeはL1にコミットされるため、AggLayerは次のglobal exit treeも有効であることを確認するために、すべてのローカルexit treeが有効であることを知っている必要があります。

言い換えれば、AggLayerは接続されたすべてのチェーンの累積状態が正しいことを知る必要があります。
これを暗号学的に確実にするために、AggLayerはpessimistic proofを生成します。このproofには各チェーンから3つの入力が必要です:

  1. 最新の更新時点でのチェーンのローカルexit tree

  2. 現在の更新に含まれる新しい引き出しのリスト

  3. チェーンの予想される新しいローカルexit root

入力1と2を使用して、AggLayerは新しいローカルexit rootを計算し、チェーンの予想されるローカルexit rootと比較して、ローカルexit rootが適切に更新されていることを証明するproofを生成します。

新しいglobal exit rootをL1にコミットする前に、AggLayerはどのチェーンも預け入れられた量以上のトークンを引き出していないことを確認する必要があります。これは、各チェーンを精査し、どのチェーンも嘘をついてunified bridgeを不正利用しようとしていないことを確認する方法です。

Pessimistic proofを使用して、AggLayerは各チェーンから各タイプのトークンが何個引き出されたかを計算できます。これらの値はすべてのチェーンにわたって合計され、AggLayer上の各トークンで利用可能な総バランスの単一の見方が残ります。
いずれかのチェーンでマイナスのバランスが見つかった場合、AggLayerはそのチェーンが預け入れられていないトークンの引き出しを試みたと判断します。これは好ましくありません。

その場合、チェーンの更新は無効となり、そのチェーンの無効な状態を含むpessimistic proofはL1で検証できません。これにより、問題のあるチェーンの更新がEthereumに決済されるのを防ぎ、集約されたネットワークの安全を保ちます。

まとめると:AggLayerはunified bridge上のすべてのチェーンのバランスを精査し、悪意のある行為者がブリッジを枯渇させていないという暗号学的な保証を生成します。最終的に、proverは単一の最終的なpessimistic proofを生成します。

これは、AggLayerが一時的に悲観主義を中断する方法です。すべてのチェーンの更新が正しく行われ、これらの更新のいずれもunified bridgeのマイナスのバランスをもたらしませんでした。、ということが全て確認されてから決済が行われるのです。

悪意のある行為者を隔離することで、AggLayerはネットワーク全体を流れる資金の安全性を暗号学的に保証します。

引き続きAggLayerについての情報発信を続けていきます!お楽しみに!


各種SNSでPolygonに関するアップデートをお届けしています。
是非フォローお願いいたします!
The future of Web3 is aggregated.

ウェブサイト | Twitter | フォーラム | Telegram | Discord | Instagram | LinkedIn | Polygon Knowledge Layer