淡馬錫 Web3 ファンド Superscrypt:ストレージ証明が大量のクロスチェーン新しいユースケースを解放します
原文标题:Blockchain Interoperability Part III: Storage Proofs, Powering new cross-chain use cases
作者:Jacob,Superscrypt
编译: bayemon.eth, ChainCatcher
互操作性の第2部では、コンセンサス証明が新たな信頼最小化の方法として、ブロックチェーン間のブリッジを促進する方法について探討しました。
本稿では、ストレージ証明(Storage Proofs)について探討します。これは信頼最小化検証の概念を採用し、ブロックの歴史的取引記録に拡張します。このストレージ証明を通じて、過去の取引やユーザー活動を検証することで、多くのクロスチェーンユースケースを解放することができます。
第2部では、コンセンサス証明(Consensus Proofs)を紹介しました。これは、クロスブロックチェーンで資金をブリッジするための信頼最小化の方法です。ブリッジユーザーは通常、取引が遅延なく即座に完了することを望むため、コンセンサス証明は非常に効果的です。なぜなら、ブロックチェーンが継続的に同期している過程で、ブロックチェーンの最新の状態を常にチェックできるからです。
この「信頼最小化ブリッジ」の概念は、逆に適用することも可能です。つまり、過去を遡り、ゼロ知識証明を使用して古いブロック内の取引やデータを検証することです。これらの「歴史的ストレージ証明」は、さまざまなクロスチェーンユースケースを実現することができ、本稿ではストレージ証明の定義、原理、およびユースケースを紹介します。
歴史データの取得
ブロックチェーンの歴史データには多くの用途があります。それは資産の所有権を証明し、ユーザーの行動や取引履歴を記録し、それをオンチェーンのスマートコントラクトやアプリケーションに入力することができます。現在までに、イーサリアムに書き込まれたブロックは1800万を超えています。しかし、スマートコントラクトは最新の256ブロック(または最近約30分間のデータ)にしかアクセスできません。したがって、「歴史データ」とは、最後の256ブロック以外の情報を指します。
現在、歴史データにアクセスするために、プロトコルは通常、アーカイブノードプロバイダー、つまりInfura、Alchemy、または他のインデクサーなどの第三者に問い合わせます。これは、彼らとそのデータを信頼し、依存することを意味します。
歴史データ
しかし、ストレージ証明を使用することで、比較的低い信頼レベルでデータの取得を行うことができます。
ストレージ証明はゼロ知識証明であり、ブロックチェーン上に保存された歴史データを検証することができます。より具体的には、「ストレージ証明」は、過去の特定のブロックが特定の状態で存在することを証明するために使用されます。その特徴は、第三者やオラクルを信頼する必要がなく、信頼をストレージ証明に内蔵していることです。
ストレージ証明は、どのようにして特定のデータが以前の歴史的ブロックに存在することを検証するのに役立つのでしょうか?これは二段階の検証に関わります:
- ステップ1:特定のブロックが実際にチェーンの歴史に存在するかを確認する。たとえば、そのブロックがソースチェーンの歴史の有効な一部であること。
- ステップ2:特定のデータがそのブロックの一部であるかを確認する。つまり、特定の取引などの情報がそのブロックの一部であるかどうか(この部分の検証はMerkle包含証明を通じて行うことができます)。
受取人(たとえば、目的のチェーン上のスマートコントラクト)は、証明を完了した後、データの有効性に対する信頼を持ち、それに基づいて指示セットを実行します。この概念はさらに拡張可能です。検証されたデータを使用して追加のオフチェーン計算を実行し、その後、データと計算を証明するための別のゼロ知識証明を生成することができます。
要するに、ストレージ証明は信頼最小化の方法で歴史的なオンチェーンデータを取得することを可能にします。これは非常に重要です。なぜなら、私たちが第1部で概説したように、今後数年でWeb3はより多くのチェーンとレイヤーを持つようになると考えているからです。複数のLayer1とロールアップ、アプリケーションチェーンの出現は、ユーザーのオンチェーン活動が複数のチェーンで同時に行われる可能性があることを意味します。これは、複数のドメインでユーザーの資産、アイデンティティ、取引履歴の相互運用性を維持できる信頼最小化の互操作性ソリューションの需要をさらに強調しています。これこそが、ストレージ証明が解決するのに役立つ問題です。
ストレージ証明のユースケース
ストレージ証明は、スマートコントラクトが任意の歴史的取引やデータを前提条件として確認することを可能にします。これは、クロスチェーンアプリケーションの設計に大きな柔軟性を提供します。
まず、ストレージ証明はソースブロックチェーン上の任意の歴史データを証明することができます。たとえば:
- アカウントの残高とトークンの所有権
- ユーザーの取引活動
- 指定された期間内の資産取引の歴史的価格
- 異なるチェーン上の流動性プールにおけるリアルタイムの資産残高
次に、ストレージ証明はターゲットチェーンに送信され、さまざまなクロスチェーンユースケースを解放します:
- ユーザーが低コストのL2でガバナンス提案に投票できるようにする
- NFT保有者が新しいチェーンでNFTを鋳造し、コミュニティの利益を得ることを許可する
- ユーザーと特定のdAppとの歴史的な相互作用に基づいてユーザーに報酬を提供する(エアドロップなど)。
- ユーザーの総合的な取引および信用記録に基づいて金利ローンを提供する
- 休眠アカウントを復元する
- 将来の取引のために歴史的TWAPを計算する
- 複数のチェーン上の流動性プールに基づいてより正確なAMM取引価格を計算する
本質的に、ストレージ証明はアプリケーションが複数のチェーン上でユーザーのオンチェーン活動と歴史を照会し、移植することを可能にし、別のチェーン上のスマートコントラクトやアプリケーションに情報を提供します。
ストレージ証明 - ユースケース
以下に、ストレージ証明の動作メカニズムをより詳細な例を通じて説明します。
ストレージ証明メカニズムのユースケース詳細
仮に「X」がイーサリアム上でトークンを使用するDeFiプロトコルであるとします。Xはガバナンス提案を発表し、プロジェクトチームはユーザー投票を促進するためにコストの低いチェーン上で発表したいと考えています。ユーザーは特定の時点(すなわちスナップショット、例えばブロック#17,000,000)でイーサリアム上でXトークンを保有している場合にのみ投票できます。
現在はどのように実現されているか?
現在の方法は、アーカイブノードに問い合わせて、ブロック#17,000,000で要件を満たすトークン保有者の完全なリストを取得することです。その後、DAO管理者はそのリストをターゲットチェーン上のスマートコントラクトに保存し、最終的に基準を満たす投票リストを決定します。しかし、この方法にはいくつかの制限があります:
- 投票者リストは非常に大規模であり、各スナップショットごとに変化するため、毎回の投票提案のオンチェーンストレージと更新コストが非常に高くなります。
- アーカイブノードプロバイダーおよびその提供するデータに対する暗黙の信頼が存在します。
- DAOを管理するメンバーが投票リストを改ざんしないことを保証する必要があります。
ストレージ証明がどのように実現するか
第2部で説明したように、高価な計算はオフチェーンのゼロ知識証明者に委ねることができます。
zk検証者は簡潔な証明を生成し、ターゲットチェーンに送信して検証します。上記のDAO投票資格の例を考えてみましょう:
- 証明者はゼロ知識証明を生成し、ブロック#17,000,000がイーサリアムの歴史の一部であることを証明します(上記のステップ1)。
- ブロックの有効性が証明された後、Merkle包含証明を使用して、ユーザーがそのブロックが最終的に完成した時点でDAOトークンを保有していたことを証明します(上記のステップ2)。
歴史データの証明がクロスチェーン投票を可能にする
その後、証明はターゲットチェーン上のスマートコントラクトに送信され、検証されます。検証が成功すれば、L2上のスマートコントラクトはユーザーに投票権を与えます。
ストレージ証明を使用することにはいくつかの利点があります。なぜなら、その存在により検証プロセスは次のことを必要としないからです:
- アーカイブノードプロバイダーを信頼すること;
- プロトコルは高価なオンチェーン有権者リストを維持する必要がない
- ユーザーがその資産をターゲットチェーンに移動させる必要がない
ストレージ証明に必要な設定
これまでに、ストレージ証明のいくつかの複雑さを抽象化しました。しかし、ストレージ証明を使用するには、サービスプロバイダーが信頼できないプロバイダーの下でストレージ証明を使用できるように、緻密な初期設定を行う必要があります。このプロセスの一環として、次の2つのものがオンチェーンで生成され、保存されます:
- 全体のチェーンのゼロ知識証明(「zkコミットメント」 ):サービスプロバイダーはソースチェーン上のすべての歴史的ブロックをMerkle Treeを通じて連続的かつ固定サイズの「ブロック」に分割し、各ブロックにゼロ知識証明を生成してグループ化を検証します。その後、これらの証明を再帰的に統合し、最終的なゼロ知識証明を得ます。これは全体のチェーンに対する「zkコミットメント」です。これにより、提供者がチェーン全体の歴史を正しくインデックス付けしたことが証明されます。
イーサリアムの歴史情報に基づいて生成されたzkコミットメント
- Merkle Mountain Rangeデータ構造:プロバイダーは、ソースチェーンのブロックハッシュ(ブロック)をグループ化したKeccak Merkleルートを、Merkle Mountain Range(MMR)というオンチェーンデータ構造に保存します。このデータ構造を使用する理由は、照会と更新が容易であり、プロバイダーが特定のブロックがチェーンの歴史に存在することを効率的に証明できるからです。MMRはKeccak256ハッシュ、Poseidonハッシュ、または両方のハッシュを使用して作成されます。Poseidonハッシュはゼロ知識に対してよりフレンドリーであり、歴史データ上で計算を行い、その後ゼロ知識証明を通じてデータと計算の有効性を証明することを可能にします。
Merkle Mountain Range(MMR)
新しいブロックが追加されると、サービスプロバイダーは定期的に(たとえば、毎時または毎日)「zkコミットメント」とMMRを更新し、ソースチェーンと同期します。これにより、歴史的ブロックが常に現在EVMからアクセス可能な256ブロックに関連付けられることが保証されます。これにより、歴史データとイーサリアムで現在利用可能なブロックとの関連性が確保されます。
以下の図では、この設定をどのように実現するかを詳しく説明します:
要するに、以下のように設定が完了した後、ストレージ証明が前述のDAO投票の例でどのように機能するかを説明します:
- サービスプロバイダーは、全体のチェーンに対する「zkコミットメント」(すなわちイーサリアムの取引履歴)とターゲットチェーン上のMMRを作成し、保存します。
- サービスプロバイダーは、アプリケーションインターフェースを提供して、オンチェーンまたはオフチェーンの歴史データを照会します。
- ターゲットチェーン上の投票dAppは、プロバイダーのスマートコントラクトに照会を送信し、ユーザーがイーサリアムの#17,000,000ブロックでDAOトークンを保有しているかを確認します。
- さらに、プロバイダーは次のことを確認する必要があります:
- 照会されたブロックがイーサリアムの歴史の一部であること(上記のステップ1)。その後、MMRを通じてブロックの包含に関するゼロ知識証明を生成します。
- ユーザーが#17,000,000ブロック内でDAOトークンを保有していること(上記のステップ2)。その後、プロバイダーは別のゼロ知識証明を生成し、そのブロック内でユーザーがDAOトークンを保有していることを証明します。
- プロバイダーは、上記で生成された証明を1つのゼロ知識証明にまとめます。
- その後、まとめられたゼロ知識証明がターゲットチェーン上の投票dAppのスマートコントラクトに戻され、検証され、検証が成功すればユーザーに投票を許可します。
この分野に取り組むプロジェクトチーム
信頼最小化の方法でオンチェーンの歴史データにアクセスするスマートコントラクトを構築している企業がいくつかあります。
Axiomは、現在イーサリアム上で稼働しており、zkベースのストレージ証明を通じて、イーサリアムの歴史データにアクセスする手段を提供することを目指しています。このチームは、歴史データに基づくオフチェーン計算の能力を強化し、ゼロ知識の中でこれらのデータと計算の正確性を証明することにも取り組んでいます。
Relic Protocolは、Axiomと類似の技術アプローチを採用し、イーサリアムとzkSync Eraで稼働しています。RelicはMerkle包含証明を使用してデータの包含を証明します(Axiomがゼロ知識でMerkle包含を証明する方法とは異なります)。
Herodotusは、L2にイーサリアムの歴史データを提供するために努力しています。現在、テストネットはStarknetとzkSync Eraで稼働しています。OPファウンデーションの資金提供を受けて、Herodotusチームの次の目標は非常に明確です。
Lagrange Labsは、最近のZK MapReduce(ZKMR)革新を通じて完全に更新可能な証明を導入しました。これは、Recproofsという新しいベクトルコミットメントを使用して、更新可能性の概念をデータ計算に拡張します。
結論
本部では、ストレージ証明がどのようにして第三者を信頼することなくオンチェーンの歴史データを検証するかを紹介しました。これにより、オンチェーンの構成とクロスチェーンの相互運用性において重要なツールとなります。
総価値のロックがイーサリアムから第2層エコシステムに移行し続ける中で、ストレージ証明を通じてオンチェーンの歴史データを活用するより表現力豊かなアプリケーションが登場することを期待しています。
ゼロ知識証明の検証速度がますます速く、コストが安くなっている一方で、オンチェーンの状態に追いつくためにストレージ証明を生成し続けるコストは依然として課題です。このようなサービスの収益性は、照会アプリケーションによって生成される照会量に依存します。
課題が存在するにもかかわらず、ゼロ知識技術に基づくコンセンサス証明とストレージ証明の重要性は強調されるべきです。これらの技術が、より信頼最小化されたマルチチェーンの未来を構築するためにどのように使用されるかを見るのが楽しみです。