LayerZero ホワイトペーパー:信頼を必要としない全チェーン相互運用性プロトコル
原文标题:《LayerZero: Trustless Omnichain Interoperability Protocol》
原文作者:Ryan Zarick、Bryan Pellegrino、Caleb Banister
编译:0xMeta
要約
ブロックチェーンの広範な使用は、開発者に対して、アプリケーションの機能やスループットの要求、安全性およびコストの要件に基づいてスマートコントラクトを実行できるさまざまなプラットフォームを提供します。しかし、この自由の結果は深刻な分裂です。各チェーンは孤立しており、ユーザーは流動性を孤立させることを余儀なくされ、囲いのあるエコシステム間で流動性や状態を移動させる選択肢が制限されています。
この記事では、信頼を必要としない最初の全チェーン相互運用プロトコルLayerZeroを紹介します。これは、さまざまなクロスチェーンアプリケーションを構築できる強力な基盤通信原語を提供します。この新しい原語を使用することで、開発者は信頼された管理者や中継取引に依存せずに、クロスチェーンDEXやマルチチェーン収益集約器などのシームレスなクロスチェーンアプリケーションを実現できます。
簡単に言えば、LayerZeroはすべてのチェーンで直接取引を実現する最初の信頼を必要としないシステムです。取引がチェーン間で自由に流れることを許可し、ユーザーに分散した流動性を統合する機会を提供し、同時に個別のチェーン上のアプリケーションを最大限に活用します。Layer Zeroを通じて、私たちは未来の全チェーンエコシステムの基盤ネットワーク構造を提供します。
1. はじめに
ブロックチェーンの概念の中心には、分散化、透明性、不変性という三つの柱があります。ブロックチェーンを制御する単一の実体は存在せず、ブロックチェーン上の行動は検証可能で不可逆的です。これらの柱は、実体が他の実体を信頼せずに行動できる基盤を生み出します。この信頼の保証は、暗号通貨が法定通貨よりも魅力的である理由の一つです。
図1:LayerZeroはクロスチェーン取引を可能にします
すべてのユーザーとすべてのアプリケーションが統一されたブロックチェーン内で共存するならば、この記事は無意味です。(図1:LayerZeroはクロスチェーン取引を可能にします)しかし、ブロックチェーンの実用性は多様なアプリケーションの急増をもたらし、独自の複雑さと要求を持っています。多様な機能への要求は、専門チェーンの成長を放棄させました。
これらのチェーンのそれぞれは、自身のエコシステム内でアプリケーションの大きな成長を促進していますが、これらのエコシステム間の隔離は採用の重要な制約となっています。ユーザーと開発者は、異なるチェーン間で時間、リソース、流動性を分配することを余儀なくされています。執筆時点で109個に達する純粋な数量のレイヤーチェーンの自然な結果は、上記の三つの柱を拡張し、複数のチェーンにまたがる相互作用を同時に含む必要があることです。チェーン間の相互作用の要求の一例はトークンの移転であり、このセクションで後ほど議論します。
ブロックチェーン用語では、作業単位は取引であり、不変で不可逆的です。取引はブロックに整理され、ブロックチェーンシステムの安全な基盤を構成します。しかし、取引は常に単一チェーンの概念です;以下に述べるように、クロスチェーン相互作用は従来、通常のブロックチェーン暗号システムの外部にある第三者メカニズムを必要とします。対照的に、この記事では、ローカルなクロスチェーン取引を可能にする最初のメッセージプロトコルであるLayerZeroを説明します。
LayerZeroが提供する強力な通信原語を説明するために、トークンが一つのチェーンから別のチェーンに移転する例を見てみましょう。現在、二つのチェーン間でトークンを変換するには、ユーザーは集中型取引所またはクロスチェーン分散型取引所(DEX)(別名クロスチェーンブリッジ)を使用する必要があり、どちらも妥協を必要とします。集中型取引の場合、例えば:Binance.com[3]、ユーザーは預金と資金引き出しを追跡する取引所を信頼しなければなりません。この信頼関係は、ブロックチェーンのコンセンサスの根本的な非信頼性に反し、オンチェーンの自動化システムの安全性を欠いています。
DEXを使用する場合、例えばAnySwap[2]やTHOR-Chain[23]は、チェーン上での転送を通じて信頼の問題を軽減しますが、既存のDEXの実装は、ユーザーのトークンをプロトコル特定のトークンに変換することを含み、そのトークンは中間のコンセンサス層を通じて取引のコンセンサスを実現します。この中間のコンセンサス層は、通常安全な方法で実現されますが、実際にはユーザーがトークンの転送を促進するためにサイドチェーンを信頼する必要があります。この記事で示すように、この追加のオーバーヘッドは不必要です。ユーザーの需要は非常に高いですが、効率的かつ直接的でありながら、私たちがブロックチェーンを使用する最も核心的な理由である非信頼性を保持する解決策は存在しません。言い換えれば、LayerZeroの直接的なクロスチェーン取引は、開発者にこの取引を構築するためのツールを提供します。
注意すべきは、LayerZeroと上記の交換変更操作は、実装スタックの二つの異なるレベルであるということです。LayerZeroは異なる全チェーンアプリケーションをサポートする通信原語であり、交換はLayerZeroの上に再実装から利益を得るアプリケーションの一例です。第2部では、ブロックチェーン技術の展望を概説し、交換の例をさらに探ります。
LayerZeroの能力とそのブロックチェーンエコシステム内での役割を正しく説明するために、まず、私たちは正式なクロスチェーン取引に必要な基本的な通信原語を提案します。これを有効な配信(valid delivery)と呼びます(セクション3)。次に、LayerZeroがどのようにしてこの原語を非信頼的な方法で提供し、ブロックチェーンの安全な約束を維持するかを説明します。LayerZeroは、1層と2層のチェーン間での直接的なメッセージングをサポートする最初の非信頼的な全チェーン相互運用層です(図1)。
図2:LayerZeroは、二つの独立した実体(オラクルとリレイヤー)が取引を確認することを要求することで、クロスチェーン通信の有効性を確保します。
チェーンAとチェーンB間のクロスチェーン取引は、A上の取引tA、AとB間の通信プロトコル、メッセージmで構成されます。tAが提出されて有効である場合にのみ、有効な配信はmが送信されたと見なします。LayerZeroを支える重要な考えは、二つの独立した実体が取引の有効性(この場合はtA)を確認すれば、チェーンBはtAが有効であると判断できるということです。図2はこのことを高いレベルで示しています。
二つの実体が共謀していないと仮定すると、(1)一つの実体がチェーンA上にtAを含むブロックのブロックヘッダーを生成でき、(2)もう一つの実体がそのブロック上のtAの証明(取引証明)を独立して生成でき、(3)ブロックヘッダーと取引証明が実際に一致している場合、通信プロトコルは、tAがチェーンA上で安定して提出されたことを保証しながら、mをチェーンB上のクライアントに送信できます。第4部で説明するLayerZero通信プロトコルは、受信者チェーン上の取引が送信者チェーン上の有効で提出された取引とペアリングされることを保証します。私たちは、ブロックヘッダーを提供するオラクル[7]と、上記の取引に関連する証明を提供するリレイヤーという二つの独立した実体を組み合わせることでこれを実現します。
LayerZeroのインターフェースは、LayerZeroエンドポイントと呼ばれる軽量のチェーンクライアントです。各(サポートされている)チェーン上にはLayerZeroエンドポイントが存在し、LayerZeroエンドポイントを持つチェーンは、LayerZeroエンドポイントを持つ他の任意のチェーンとの間でクロスチェーン取引を行うことができます。本質的に、これは完全に接続されたネットワークを作成し、各ノードが他のノードに直接接続できるようにします。少量のテンプレートコードで、任意のブロックチェーンがサポートされます。第5部では、このプロセスを示すケーススタディを通じて、Ethereumブロックチェーン上でLayerZeroを実装する方法を探ります。
ネットワーク上の他の任意のチェーンと直接クロスチェーン取引を行う能力は、以前は不可能だった大規模なアプリケーションの機会を提供します。例えば、クロスチェーン分散型取引所、マルチチェーン収益集約器、クロスチェーン貸付などです。第6節では、いくつかのそのようなアプリケーションを詳しく調査します。LayerZeroを通じて、ユーザーはチェーン間で流動性を自由に移動でき、単一の流動性プールが異なるチェーンやエコシステムにまたがる複数の分散型(DeFi)アプリケーションに参加できるようになります。これは、第三者システムや中間トークンを介さずに行われます。
2. 背景
LayerZeroの基盤を築くために、関連する既存のシステムを振り返り、なぜそれらが新興アプリケーションの要求を満たせないのかを説明します。この議論は、LayerZeroの上にクロスチェーン取引所を構築する利点を深く説明します。
2.1 関連作業
この部分では、クロスチェーン相互作用空間の重要な参加者に対する理解を構築し、なぜ彼らが信頼を必要としない有効な配信の理想に達していないのか、そしてLayerZeroがどのようにそのギャップを縮めるのかを説明します。
Ethereum(イーサリアム)[8]は、スマートコントラクトを通じて構築された分散型金融アプリケーションのための最も人気のあるプラットフォームです。イーサリアムは、チューリング完全なプログラミング言語を使用してその基盤となるブロックチェーンを拡張し、この言語により、分散型アプリケーションライブラリが開発者に優しい要約を通じて基盤チェーンの強力なセキュリティ特性を利用できるようにします。しかし、基盤となるブロックチェーンの低い取引率(約毎秒15-45取引)は、直接イーサリアムブロックチェーン上で実行されるアプリケーションの人気を制限する深刻なスケーラビリティのボトルネックであることが証明されています。
そのプログラミングモデルと人気のために、多くのクロスチェーン通信技術は、第三者チェーンとイーサリアムのインターフェースの周りに構築されています。LayerZeroは、中間者なしで直接イーサリアムに状態を転送し、イーサリアムから転送する能力を提供し、ユーザーとアプリケーションがイーサリアムチェーンの安定性と信頼性を利用できるようにしますが、以下に説明する解決策のコストやボトルネックに直面することはありません。
Ethereum 2.0[22]は、イーサリアムのスケーラビリティ、安全性、持続可能性を向上させるための一連のアップグレードです。イーサリアム2.0は、すべての取引を過負荷のイーサリアムメインチェーンに集中させるのではなく、負荷を分散させるシャーディングチェーンを導入します。プルーフ・オブ・ワーク(PoW)からプルーフ・オブ・ステーク(PoS)への移行は、51%攻撃の可能性を排除し、各取引のエネルギーを削減します。これらの進歩は、LayerZeroの発展と大いに一致しており、イーサリアムの人気を促進し、便利で安価なクロスチェーン通信の需要を生み出すことが確実です。
Polygon[17]、旧Maticネットワークは、イーサリアムのスループットと主権の課題を解決するための二層ネットワークです。最も人気のあるブロックチェーン開発プラットフォームであるにもかかわらず、イーサリアムは低いスループットに悩まされており[10]、特定のアプリケーションには適していません。Polygonは、イーサリアムと互換性のあるアプリケーション特定のサイドチェーンを提供し、独立したチェーンのスケーラビリティと独立性をイーサリアムのコミュニティとセキュリティと結びつけます。特定のまたはスループット集約型のアプリケーションはサイドチェーン上で実行され、定期的にメインのイーサリアムチェーンに統合されます。対照的に、LayerZeroは直接のクロスチェーン通信を実現する基盤プラットフォームであり、イーサリアムのメインチェーンに戻すための複雑なPolygonプロトコルを必要とせずに促進できます。
Polkadot[26]は、オープンなクロスチェーンエコシステムの潜在的な初期例です。Polkadotでは、多くのドメイン特化型のパラレルチェーン("parachains")が公共のリレーチェーンを介して接続されており、このリレーチェーンはトークンやデータがそれらの間で流れることを可能にします。しかし、クロスチェーン通信は常にこのリレーチェーンを経由するため、追加のコストが発生します。LayerZeroは、Polkadotと同じ基盤通信プラットフォームを提供し、オンチェーンの中間業者に必要な追加の取引を含みません。
THORChain [23]は、ペアの流動性プールを使用して第三者チェーン間でトークンを転送するDEXです。各流動性プールは、RUNEと呼ばれるTHORChainのネイティブトークンと特定の第三者通貨をバインドし、後者は公共の交換媒介として機能します。この共通の媒介がなければ、すべてのペア通貨には流動性プールが必要であり、流動性プールの数は通貨の数の二乗に増加します。不幸なことに、RUNEはこのスケーラビリティの問題を解決しましたが、取引プロセス中の冗長なオーバーヘッドにより、単純な操作がかなり複雑になります。これはTHORChainの取引アルゴリズムの複雑さに顕著に現れます。LayerZeroは、THORChain固有のスケーラビリティのボトルネックや煩雑な中間通貨、重量級プロトコルなしで直接のクロスチェーン通信を提供します。
AnySwap[2]は、THORChainに似たDEXで、シンプルなペアトークン交換を対象としています。AnySwapは、Fusion分散型制御権管理に基づく中間トークン--ANYに依存しています。THORChainと同様に、ANY中間トークンの使用は不必要なオーバーヘッド、遅延、および追加の転送コストをもたらします。
Cosmos[5]は、サポートされているチェーン間で任意のメッセージを送信することを可能にするブロックチェーンネットワーク技術です。Cosmosは、Cosmos Hub上のチェーン間のメッセージ伝達を促進するために、Tendermint BFT[21]に基づくブロックチェーン間通信(IBC[14])プロトコルを含みます。CosmosはLayerZeroと二つの重要な点で異なります:(1)IBCは完全なチェーン上の軽ノードを実行し、(2)IBCは迅速な終了を提供するチェーン間の直接通信のみを提供します[24]。
IBCのこれらの制限に加え、合意を促進するために中間チェーンを使用することは、AnySwap、THORChain、またはPolkadotのようなものに似ており、LayerZeroのような汎用通信層ではありません。Cosmosは、AnySwapやTHORChainと同様の特性を持つDEXである重力ブリッジ[12]も提供しています。CosmosとIBCと比較して、LayerZeroは信頼を必要としない全チェーンメッセージングを提供し、イーサリアムやビットコインのような確率的終了を提供するチェーンを含む、任意のチェーン上で実行できます。
図3:LayerZeroはクロスチェーンアプリケーションの構築ブロックです。この図は、集中型取引所、分散型取引所、およびLayerZeroを基盤通信原語として使用して構築されたクロスチェーンブリッジ間のアーキテクチャの違いを示しています。
Chainlink[7,4]は、分散型オラクルネットワーク(DONs)に接続するためのフレームワークです。スマートコントラクトは改ざん防止ですが、そのオンチェーンの性質は、契約の実行に必要なオフチェーンデータ(株価、IoTデバイスの測定、セキュアなオフチェーン計算の出力など)への基本的な接続を妨げます。DONは、契約が依存するデータソースや外部リソースに対してスマートコントラクトの改ざん防止属性を拡張し、中央の実体を信頼することなく機能します。DON内では、ユーザーのスマートコントラクトがChainlinkインターフェーススマートコントラクトにオンチェーンリクエストを発行し、そのスマートコントラクトが多くの独立したオラクルノードにイベントを送信します。
各オラクルノードは、要求された情報を取得するために複数のデータソースを照会し、誤ったデータや悪意のあるデータソースをフィルタリングするためにデータを集約し、データに対してオプションの信頼最小化計算を実行します。オラクルノードはChainlinkインターフェーススマートコントラクトに応答し、そのスマートコントラクトが誤ったまたは悪意のあるオラクルをフィルタリングするために二次的な集約を実行します。この二重フィルタリングは、最終的なデータに対する信頼を保証し、個々のオラクルやデータソースを信頼する必要がなくなります。したがって、Chainlinkは強力な情報取得ネットワークと安全なオフチェーン計算ソリューションを提供し、業界で広く利用されています。LayerZeroプロトコルはChainlink DONフレームワークを活用することで、異なるチェーン間での信頼を必要としないメッセージングを確保する能力を得ています。
2.2 実践におけるLayerZero
開発者はLayerZeroを使用して、信頼を必要とせず、複雑な中間チェーン/スマートコントラクトを導入することなく、複雑なクロスチェーンアプリケーションを構築できます。図3は、LayerZeroを使用して取引所を構築する際の機能を示しています。
左側の図に示すように、集中型取引所は、ユーザーがトークンを中央の信頼できる第三者に預け、オフチェーンで預金を追跡し、ユーザーの要求に応じて他のチェーンでコインを授与することを要求します。この権威への信頼は、ブロックチェーンを使用する目的に反し、分散型取引の出現をもたらしました。
中央の図は、典型的な分散型交換がどのように機能するかを高いレベルで示しています------スマートコントラクトが管理する合意プロトコルを使用することで、Bチェーン上のコインの自動鋳造を促進し、DEXは集中型の信頼できるオフチェーン仲介者の必要性を克服できます。
しかし、重要な制約は、DEXが中間トークンと中間チェーンを含み、Bチェーン上で中間トークンまたは包装トークンを鋳造するだけで、ユーザーが望む実際のトークンではないことです。その後、ユーザーは追加の取引で中間トークン(例えばRUNE)または包装トークン(例えばANY)を希望するトークンに交換する必要があります。この中間/包装トークン、二回目の取引、および中間チェーンは、理想的な単一のシームレスな取引にとって不必要なオーバーヘッドです。
図3の右側は、LayerZero上に構築された取引所の姿を示しています。チェーンAは単一のクロスチェーン取引を開始し、チェーンB上のローカルトランザクションを促進し、チェーンB上のアプリケーションにユーザーにトークンを安全に授与できることを通知します。このアプリケーションでは、LayerZeroは中間トークンを含まないクリーンで最小限の単一取引交換を実現します。実際の交換プロトコルは、クロスチェーン取引の両端にあるスマートコントラクトによって処理され、LayerZeroは両者の間でメッセージを伝達します。これにより大きな柔軟性が提供され、エンドツーエンドの原則[18]に従い、ほとんどの高度な交換ロジックはソースチェーンと目的チェーン上のスマートコントラクトによって処理されます。
3. 有効な配信
この部分では、信頼を必要としないクロスチェーン通信の基本的な特性を説明します。異なるチェーン上で取引を検証する問題を正式に説明するために、有効な配信の概念を定義します。有効な配信は、以下の保証を提供することによってクロスチェーントークン転送を実現する通信原語です:
ネットワークを介して送信される各メッセージmは、送信元チェーン上の取引tに結びついています。
関連する取引tが有効であり、送信元チェーン上で提出されている場合にのみ、メッセージmは受信者に転送されます。
集中型スイッチは有効な配信を保証します。なぜなら、顧客と取引所間の合意は、顧客がトークンを一つのチェーンから取引所に移転し、取引所がトークンを受け取った後にいくつかの残高(非暗号通貨)を発行することだからです。この非暗号通貨の残高は、その後、利用可能な任意のチェーンから引き出すことができ、この便利さは、各サポートチェーン上の取引所が広範な流動性プールを維持しているために可能になります。取引所は取引の中間者として機能し、ユーザーは彼らが取引を維持できると信じなければなりません。しかし、悪意のあるまたは破壊的な取引所は、クライアントからトークンを取得し、残高を発行し、他のチェーンから残高を引き出すことを拒否することができ、実際にはユーザーからトークンを盗むことになります。
ユーザーが暗号通貨取引所を信頼する意志があったとしても、近年、多くの成功したハッキング攻撃や暗号通貨取引所の破壊の試みが発生しています[15]。したがって、ユーザーに信頼できる中間者を必要としない解決策を提供する方が良いでしょう。より高いレベルで、暗号通貨の核心的な機能の一つは、銀行のような中央の実体から独立していることです。したがって、中央取引所に依存することは、それらの目的に反します。
集中型取引所を使用する別の選択肢は、THORChain[23]やAnySwap[2]のような分散型取引所です。すべての既存のDEXは、中間トークン、例えばTHORChainのRUNEやAnySwapのANYを取引tとして使用します。これらの中間トークンは各DEXのそれぞれのプロトコルによって制御されているため、DEXは有効な配信を保証できます。なぜなら、悪意のあるユーザーが中間トークンを偽造することは不可能だからです。
既存のDEXの解決策は理想的ではありません。なぜなら、二つの中間取引を含むからです------一つは送信者のトークンを中間トークンに変換するものであり、もう一つは中間トークンを受信者チェーン上の必要な「本物」のトークンに変換するものです。それに加えて、ユーザーはソースチェーン上の取引を確認し、目的チェーンのトークンを作成することを伝える中間合意層を完全に信頼する必要があります。既存の交換は確かにクロスチェーントークン転送を実現できますが、その代償は不必要な複雑さとコストです。このアプローチの欠点は明白であり、クロスチェーンアプリケーションはまだ広く採用されていません。クロスチェーン取引問題の理想的な解決策は、信頼できる中間実体を含まない単一のクロスチェーン交換取引を使用することです------言い換えれば、信頼を必要としない有効な配信です。
私たちの作業では、任意のユーザーデータの信頼を必要としない有効な配信を提供する汎用メッセージングプロトコルを実現しました。分散型交換や他のDeFiアプリケーションは、私たちのメッセージング原語を使用してクロスチェーン取引を実現します。基盤層メッセージングプロトコルが提供する柔軟性により、高度なアプリケーションは以前は不可能だった広範な機能を実現できます。
4. 設計
LayerZeroの核心は、信頼を必要としない有効な配信を提供する通信プロトコルです。私たちのプロトコルは、第4.1節で紹介する一連のコンポーネントに基づいています。第4.2節では、配信プロトコルの通信フローについて議論し、第4.3節では、LayerZeroがどのようにして信頼できる中間サービスを介さずに有効な配信を実現できるかを説明し、第4.4節では、私たちの新しい低コストのスマートコントラクトに基づく軽ノードクライアント設計を紹介します。
4.1 LayerZeroの構成要素
LayerZeroエンドポイントは、LayerZeroのユーザーインターフェースです。LayerZeroネットワーク内の各チェーンには、エンドポイントが存在し、一連のチェーン上のスマートコントラクトによって実装されています。エンドポイントの目的は、ユーザーがLayerZeroプロトコルバックエンドを使用してメッセージを送信し、有効な配信を保証できるようにすることです。
LayerZeroエンドポイントは、Communicator(通信器)、Validator(検証器)、Network(ネットワーク)、Libraries(ライブラリ)の四つのモジュールに分かれています。Communicator、Validator、Networkモジュールは、エンドポイントのコア機能を構成します(図4)。LayerZeroがサポートする各新しいチェーンは、追加のライブラリとして追加されます。この設計により、三つのコアモジュールを変更することなく、新しいチェーンのサポートを追加できます。第4.4節では、各モジュールの機能を説明します。
オラクルは、LayerZeroの他のコンポーネントとは独立したメカニズムを提供する第三者サービスであり、一つのチェーンからブロックヘッダーを読み取り、別のチェーンに送信します。理論的には、このオラクルはこのメカニズムを提供する任意の第三者サービスであり得ますが、実際には、現在の分散型オラクルネットワークの業界リーダーであるChainlink[7,4]を使用したいと考えています。
図4:単一のLayerZeroクロスチェーントランザクションにおける通信フロー。
リレイヤーは、オフチェーンサービスであり、オラクルと似た機能を持ちますが、ブロックヘッダーを取得するのではなく、指定された取引の証明を取得します。
有効な配信を確保するための唯一の要件は、LayerZeroプロトコルを使用して送信される任意のメッセージに対して、オラクルとリレイヤーが互いに独立している必要があることです。プロトコル自体は特定のリレイヤー実装を必要とせず、理論的には、LayerZeroのユーザーは自分自身のリレイヤーサービスを実装することもできます。この設計により、ユーザーはリレイヤーがオラクルと共謀しないことを保証でき、この独立性により、信頼を必要としない検証配信を実現できます(第4.3節参照)。実際には、LayerZeroはリレイヤーサービスを提供し、オラクルはChainlinkの分散型オラクルネットワークと関連する合意メカニズムによって処理されます。
4.2 LayerZeroプロトコル
図4は、単一のLayerZeroメッセージの有効な配信に関与するステップを示しています。図中の各円で囲まれた数字は、プロトコルの一つのステップを表し、このセクションの段落に対応しています。この部分では、チェーンA(チェーンA)上のユーザーアプリケーションがLayerZeroを介してチェーンB(チェーンB)上のユーザーアプリケーションに単一のメッセージを送信する例を紹介します。第5節では、二つのイーサリアム仮想マシン間でメッセージを送信する場合に、さまざまなコンポーネントとプロトコルステップをどのように実現するかを説明します。
ステップ1:チェーンA(アプリA)上のユーザーアプリケーションは、取引Tの一部として一連の操作を実行できます。取引Tを一意に識別するために、取引識別子tを使用します。この識別子の形式は、チェーンAのタイプによって異なる場合があります。取引Tに含まれる一つのステップは、LayerZeroを介してメッセージを転送し、Tを条件として有効な配信を行うことです。説明の目的上、一般性を失わずに、仮想のアプリケーションA(アプリA)が私たちの参照リレイヤーを使用していると仮定します。アプリAは、以下の情報を含むリクエストをLayerZero Communicatorに送信します:
t:Tの一意の取引識別子。
dst:チェーンB上のスマートコントラクトへのグローバル識別子。
payload(ペイロード):アプリAがアプリBに送信したいデータ。
relayer_args(リレイヤー引数):アプリAがリレイヤーを参照したい場合に支払い情報を記述する引数。
ステップ2:Communicatorは、dstとpayloadを含むLayerZeroパッケージを構築し、Packet(dst, payload)と呼ばれ、tとrelayer_argsと共にValidatorに送信します。
ステップ3:Validatorは、tとdstをNetworkに送信します。このステップは、NetworkにチェーンA上の現在のブロックのブロックヘッダーをチェーンBに送信する必要があることを通知します。
ステップ4:Validatorは、Packet(dst, payload)、t、relayer_argsをリレイヤーに転送し、取引Tの証明を事前に取得し、最終的にチェーンBに送信する必要があることを通知します。これはステップ3と同時に発生します。
ステップ5:Networkは、オラクルに現在の取引のdstとブロックID(curblkid)を送信します。これにより、オラクルはチェーンA上の現在のブロックのブロックヘッダーを取得し、チェーンBに送信する必要がなくなります。同じブロック内で複数のLayerZero取引が発生する場合、ステップ5は一度だけ実行されます。
ステップ6:オラクルは、チェーンAからブロックヘッダー(blk_hdr)を読み取ります。
ステップ7:リレイヤーは、チェーンAから取引T(proof(t))に関連する取引証明を読み取り、オフチェーンのために保存します。ステップ6とステップ7は非同期で発生します。
ステップ8:オラクルは、blkhdrに対応するブロックがチェーンAに安定して提出されたことを確認し、blkhdrをチェーンBのNetworkに送信します。この状況がいつ発生するかを決定するメカニズムはチェーンによって異なりますが、通常は一定数のブロック確認を待つ必要があります。
ステップ9:Networkは、ブロックハッシュ値をblkhdrhashとしてValidatorに送信します。
ステップ10:Validatorは、blkhdrhashをリレイヤーに転送します。
ステップ11:リレイヤーは、blkhdrhashを受け取った後、現在のブロックに一致する任意のPacket(dst, payload)、t、proof(t)のタプルのリストを送信します。複数のユーザーが同時に同じエンドポイント間でメッセージを送信する場合、同じブロック内に複数のパケットと関連する取引証明が存在する可能性があります。
ステップ12:Validatorは、受信した取引証明をNetworkに保存されたブロックヘッダーと共に使用して、関連する取引tが有効であり、提出されているかどうかを検証します。ブロックヘッダーと取引証明が一致しない場合、メッセージは破棄されます。一致する場合、Packet(dst, payload)はCommunicatorに送信されます。
ステップ13:Communicatorは、Packet(dst, payload)をアプリBに送信します。
4.3 信頼を必要としない有効な配信の実現
信頼を必要としない:LayerZero設計の核心的な考えは、ユーザーがLayerZeroのコンポーネントを信頼する必要がないことです。この強い条件を信頼する代わりに、私たちはオラクルとリレイヤー間の弱い独立性条件を必要とします。この独立性は、LayerZeroが効率的かつ軽量であることを可能にする側面の一つです。オラクルとリレイヤー間に悪意のある共謀がない限り、LayerZeroは有効な配信を保証できます。
有効な配信:第4.2節で示したLayerZeroプロトコルを通じて、Communicatorは、メッセージmをユーザーアプリケーションに転送します。これは、mに関連する取引tの取引証明がステップ12で検証可能である場合に限ります。この検証ステップは成功しますが、それはブロックヘッダーと取引証明が一致する場合にのみ発生します。これは以下の二つのシナリオでのみ発生します:
オラクルが提供するブロックヘッダーとリレイヤーが提供する取引証明の両方が有効です。
オラクルが提供するブロックヘッダーとリレイヤーが提供する取引証明の両方が無効ですが、依然として一致します。
シナリオ2は、オラクルとリレイヤー層が共謀している場合にのみ発生します。なぜなら、特定のブロックヘッダーを知らずに、ブロックヘッダーに対して検証可能な取引証明を送信することは統計的に不可能だからです。逆もまた然りです。しかし、LayerZeroの設計は、共謀の可能性を排除します(第1節参照)。したがって、メッセージが受信者のユーザーアプリケーションに送信されると、それは有効な送信の属性を満たすことが保証されます。
第3節で概説したように、信頼を必要としない有効な配信(つまり、信頼できる中間実体やトークンなしでの有効な配信)を保証できる通信プロトコルは、クロスチェーン取引を実現する理想的な解決策です。LayerZeroは、この特性を証明する最初で唯一のシステムです。この事実は、ユーザーがLayerZeroをクロスチェーン通信の優先方法として採用することを促進します。
4.4 LayerZeroエンドポイント
LayerZeroエンドポイントは、現在LayerZeroネットワークに含まれる各チェーン上の一連のスマートコントラクトとして実装されています。LayerZeroエンドポイントのコア機能は、通信、検証、ネットワークの三つのモジュールにカプセル化されています。これらのモジュールは、ネットワークスタックのように機能し、送信元からスタックにメッセージを送信します------CommunicatorからValidator、ValidatorからNetwork------その後、受信者側にメッセージを送信します。
コアモジュールに加えて、LayerZeroエンドポイントはLibrariesを介して拡張できます。Librariesは、特定のチェーンの通信をどのように処理すべきかを定義する補助的なスマートコントラクトです。LayerZeroネットワーク内の各チェーンには、関連するLibraryがあり、各エンドポイントは各Libraryのコピーを含みます。このモジュール化設計により、LayerZeroネットワークは迅速かつ便利に拡張でき、新しいチェーンを必要に応じて含めることができます。さらに、二つのチェーン間の通信は、それぞれのLibraryが両端に存在することだけを要求し、LayerZeroは完全に接続されたネットワークを形成し、任意の二つのノード間の取引を調整できるようにします。
4.5 LayerZeroエンドポイントのコストスケーラビリティ
多くの読者が指摘するかもしれないように、一層のチェーン上でスマートコントラクトを実行することは、特にストレージデータ量が増加するにつれてコストが高すぎる可能性があります。LayerZeroエンドポイントを実用化するためには、できるだけ軽量なクライアントを設計する必要があります。以前、クロスチェーン状態機械の複製(SMR)を通じて信頼を必要としないクロスチェーン検証を行った作業、例えばGolden Gate[11]は、人気のあるLayer1チェーン(イーサリアムなど)上で実行され、毎日数百万ドルのコストがかかる可能性があります。
図5:EVMエンドポイントのLayerZeroデータパッケージレイアウト。
この問題を解決するために、私たちはできるだけ軽量なクライアントを設計することに取り組みました。私たちの主要な観察結果は、クライアント内でブロックヘッダーを複製して保存する必要がないということです。代わりに、必要なクロスチェーンヘッダーと取引証明を取得するタスクをオフチェーンエンティティ、すなわちオラクルとリレイヤーに委任します。これにより、LayerZeroノードは非常に軽量になり、イーサリアムのような高価な[20]チェーン上でもコスト効果が高くなります。
5. ケーススタディ:EVM上のLayerZero
このセクションでは、イーサリアム仮想マシン(EVM)上でLayerZeroの実行サポートを実現する詳細を簡単に説明します[13]。簡潔さのために、システムの各側面に焦点を当て、それらの実装がチェーンによって異なる可能性があることを強調し、私たちの実装がイーサリアムチェーンの具体的な要求をどのように処理するかを強調します。第4.1節で述べたように、LayerZeroの現在のバージョンはChainlinkに依存してオラクルサービスを提供し、ユーザーが私たちの提供するリレイヤーサービスを使用することを期待しています。
LayerZeroパッケージ:LayerZeroデータパッケージの形式は、ソースチェーンとターゲットチェーンによって異なります。図5では、EVMエンドポイント[19]のLayerZeroデータパッケージの正確なレイアウトを示しています。各フィールドの機能は以下の通りです:
送信元チェーン取引の安定性:メッセージ取引がソースチェーン上で安定していることを保証するために、私たちは分散型オラクルネットワークの固有の特性に依存します------オラクルは、いくつかのブロック確認を聞いた後にのみ、目的地の特定のブロックヘッダーのチェーンに通知します。イーサリアムの場合、これは15です。正確には、LayerZeroプロトコルのステップ8(第4.2節)は、オラクルがチェーンA上の15のブロック確認を聞いた後にのみ実行されます。
LayerZeroエンドポイント:LayerZeroエンドポイントは、4.4節で説明した四つの主要モジュールで構成される一連のスマートコントラクトとして実装されています。ほとんどの既存のブロックチェーン、特にイーサリアムブロックチェーンに対して、私たちはCommunicator、Validator、Networkをそれぞれ独立したスマートコントラクトとして実装することができました。しかし、この設計は、異なる要求を持つ(将来の)チェーン上でLayerZeroエンドポイントを実装することを排除するものではありません。
このケーススタディでは、LayerZeroエンドポイントのLibraryコンポーネントがイーサリアムブロックチェーンをサポートするための鍵であることを示します。図5に示すEVM特有のLayerZeroデータパッケージの構築を処理し、EVMスマートコントラクトアドレス情報のエンコードとデコードを処理するLibraryを実装しました。
Libraryのもう一つの責任は、取引証明を検証するために関与する実際の計算を処理することです。私たちのEVM Libraryは、EVMブロック上の取引処理にMerkle-Patricia Tree検証[16]を使用し、Golden Gateのオープンソース実装[11]に基づいています。
6. LayerZero上のアプリケーション
クロスチェーン分散型交換:第2.2節で簡単に説明したように、LayerZeroはクロスチェーンDEX(クロスチェーンブリッジ)を可能にし、ローカル資産を専門に扱います。既存の発行トークンや中間サイドチェーンを介したDEX設計とは異なり、LayerZeroを使用してチェーン間でメッセージを送信するDEXを構築できます。これにより、二つのチェーン上に流動性プールが存在し、ユーザーはローカル資産を一つのプールに預け、別のプールからローカル資産を引き出すことができます。LayerZeroのメッセージング原語は強力であり、直接接続(1:1価格設定)、自動マーケットメイキング(ab=k価格設定)、およびその他の派生(例えばCurve DAO価格設定に類似した派生[25])をサポートするのに十分です。LayerZeroが提供する有効な配信の保証は、広範な分散型交換アプリケーションを可能にします。
マルチチェーン収益集約器:現在の収益集約器は通常、単一チェーンエコシステムの範囲内で動作します。Yearn Finance[27]のようなプロジェクトは、単一チェーン戦略を使用して収益集約を可能にします。これらの単一チェーン収益集約システムの重要な弱点は、現在のエコシステム以外の収益機会を利用できず、多くの最良の収益を逃す可能性があることです。LayerZeroを使用したクロスチェーン取引を行う収益集約器は、すべてのエコシステムの最良の機会を利用できるようにし、高収益機会を得る可能性を高め、市場の非効率性の利点を利用できるようにします。厳密に言えば、マルチチェーン収益集約メカニズムは、単一チェーン収益集約メカニズムよりも優れています。なぜなら、最悪の場合、この戦略は単一のチェーン上の機会を利用することに格下げされ、最良の場合、より多くの機会が選択肢として提供されるからです。
マルチチェーン貸付:現在、ユーザーは、保有していない資産のチェーン上の機会を利用する簡単な方法がありません。例えば、ETHを統合資産として持つユーザーがPolygon上の機会を利用したいと仮定します[17]。彼らの選択肢は:(1)資産全体を別のチェーンに移転し、必要な通貨に変換するか、または(2)イーサリアム上で資産を貸し出し、必要な資産を借りて、その資産を目的のチェーンに接続することです。LayerZeroは、ユーザーがイーサリアム上で資産全体を保持し、それを貸し出し、Polygon上で直接MATICを借りることを可能にする貸出プロトコルを有効にしました。これにより、クロスチェーンブリッジやスワップ手数料などの中間コストが排除されます。
これらの三つの例は、LayerZeroがサポートする多くの可能性のほんの一部を表しています。LayerZeroを活用することで、開発者はチェーン内およびチェーン間の取引の意味の違いを気にせずにアプリケーションを記述でき、ユーザーはチェーン間で流動性を自由に移動できるようになります。私たちは、コミュニティが信頼を必要としないクロスチェーン取引の力の下で創造的な新しいアプリケーションを開発することを楽しみにしています。
7. 結論
この記事では、信頼を必要としない最初の全チェーン相互運用プラットフォームLayerZeroの設計と実装を紹介しました。私たちは、二つの独立した、信頼を必要としないオフチェーン実体であるオラクルとリレイヤーを活用することで、LayerZeroが高価なクロスチェーン状態機械の複製や中間トークンを必要とせずに有効な配信を実現できることを示しました。私たちのプロトコルの設計は、任意のリレイサービスの使用を排除するものではなく、これによりリレイヤーとオラクル間に共謀が存在しないことが保証されます。LayerZeroプロトコルがサポートするチェーン間のローカル取引は、新しいLayerZeroエンドポイント設計により、任意のチェーンをサポートするために簡単に拡張できます。
さらに、私たちのエンドポイント設計は、イーサリアムのような高価なレイヤーチェーン上で実行できるほど軽量であり、高額なコストを発生させません。私たちは、LayerZeroでEVMベースのチェーンをサポートする方法を実装したケーススタディを提案し、Chainlinkの分散型オラクルネットワークを組み合わせた参照リレイヤーを使用して、LayerZeroを介してクロスチェーン取引を実現しました。
LayerZeroは、さまざまな相互接続されていないブロックチェーンエコシステムを接続し、流動性、データ、アイデアがチェーンやコミュニティ間で摩擦なく流れることを可能にします。
参考文献:
[1]すべてのレイヤー1ブロックチェーンプロトコル。 https://blockchain-comparison.com/blockchain-protocols/. アクセス日:2021-5-13。
[2]Anyswap DEXユーザーガイド。https://anyswap-faq.readthedocs.io/en/Latest/index.html. アクセス日:2021-5-13。
[3] Binance.com。 https://www.binance.com/. アクセス日:2021-5-14。
[4] BREIDENBACH, L., CACHIN, C., CHAN, B., COVENTRY, A., ELLIS, S., JUELS, A., KOUSHANFAR, F., MILLER, A., MAGAURAN, B., MOROZ, D., NAZAROV, S., TOPLICEANU, A., TRAMER, F., AND ZHANG, F. Chainlink 2.0: Next steps in the evolution of decentralized oracle networks. ホワイトペーパー、ChainLink、2021。
[5] Cosmosとは? https://v1.cosmos.network/intro. アクセス日:2021-5-15。
[6] Dcrm - fusion.org。 https://www.fusion.org/tech/dcrm. アクセス日:2021-5-13。
[7] ELLIS, S., JUELS, A., AND NAZAROV, S. Chainlink: A decentralized oracle network. ホワイトペーパー、ChainLink、2017。
[8] Ethereum。 https://ethereum.org/en/. アクセス日:2021-5-13。
[9] Ethereum 2.0 (eth2)ビジョン。 https://ethereum.org/en/eth2/vision/. アクセス日:2021-5-13。
[10] GALAL, H. S., ELSHEIKH, M., AND YOUSSEF, A. M. An efficient micropayment channel on ethereum. In Data Privacy Management, Cryptocurrencies and Blockchain Technology. Springer, 2019, pp. 211--218。
[11] Golden gate -- trustless-bridging ethereum (evm) blockchains -- part 1: Basics. https://loredanacirstea.medium.com/golden-gate-trustless-bridging-ethereum-evm-blockchains-part-1-basics-d016300ea0dd. アクセス日:2021-5-14。
[12] 重力ブリッジの発表。 https://blog.althea.net/gravity-bridge/. アクセス日:2021-5-15。
[13] HILDENBRANDT, E., SAXENA, M., RODRIGUES, N., ZHU, X., DAIAN, P., GUTH, D., MOORE, B., PARK, D., ZHANG, Y., STEFANESCU, A., ET AL. Kevm: A complete formal semantics of the ethereum virtual machine. In 2018 IEEE 31st Computer Security Foundations Symposium (CSF) (2018), IEEE, pp. 204--217。 [14] Ibc overview --- cosmos sdk. https://docs.cosmos.network/master/ibc/overview.html. アクセス日:2021-5-15。
[15] LAZARENKO, A., AND AVDOSHIN, S. Financial risks of the blockchain industry: A survey of cyberattacks. In Proceedings of the Future Technologies Conference (2018), Springer, pp. 368--384。
[16] LU, Z., WANG, Q., QU, G., ZHANG, H., AND LIU, Z. A blockchain-based privacy-preserving authentication scheme for vanets. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 27, 12 (2019), 2792--2801。 [17] Polygon: Ethereum's internet of blockchains. https://polygon.technology/lightpaper-polygon.pdf。
[18]SALTZER, J. H., REED, D. P., AND CLARK, D. D. End-to-end arguments in system design. ACM Transactions on Computer Systems (TOCS) 2, 4 (1984), 277--288。
[19]Solidity types. https://docs.soliditylang.org/en/v0.5.3/types.html. アクセス日:2021-5-14。
[20]SPAIN, M., FOLEY, S., AND GRAMOLI, V. The Impact of Ethereum Throughput and Fees on Transaction Latency During ICOs. In International Conference on Blockchain Economics, Security and Protocols (Tokenomics 2019) (Dagstuhl, Germany, 2020), V. Danos, M. Herlihy, M. Potop-Butucaru, J. Prat, and S. Tucci-Piergiovanni, Eds., vol. 71 of OpenAccess Series in Informatics (OASIcs), Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik, pp. 9:1--9:15。
[21] Tendermint。 https://tendermint.com/. アクセス日:2021-5-15。 [22] The eth2 upgrades. https://ethereum.org/en/eth2/. アクセス日:2021-5-13。 [23] Thorchain。 https://thorchain.org. アクセス日:2021-5-13。
[24] VIRIYASITAVAT, W., DA XU, L., BI, Z., AND SAPSOMBOON, A. New blockchain-based architecture for service interoperations in internet of things. IEEE Transactions on Computational Social Systems 6, 4 (2019), 739--748。
[25] WARREN, W., AND BANDEALI, A. 0x: An open protocol for decentralized exchange on the ethereum blockchain. URl: https://github.com/0xProject/whitepaper (2017), 04--18。
[26] WOOD, G. Polkadot: Vision for a heterogeneous multi-chain framework. ホワイトペーパー、Polkadot、2016。
[27] yearn.finance。 https://yearn.finance/. アクセス日:2021-5-14。