マルチチェーンエコシステム:私たちの現在の段階と未来の構図
著者:Jiawei、IOSG Ventures
一:引子
画像出典:https://medium.com/composable-finance/the-philosophy-of-the-cross-chain-ecosystem-a-continuum-of-interoperability-33ed81350190
Composable Financeは、クロスチェーン相互運用性の5つの発展段階を提案しています:
0-20%:最も基本的なクロスチェーン通信とチェーン間トークンの移動を実現;
20-50%:ユーザーは異なるチェーンで資産に流動性を提供し、これを通じて収益を最大化;
50-75%:Aaveのようなプロジェクトが、ユーザーが1つのチェーンに担保を預け、別のチェーンで貸し借りを行うことを可能にします。つまり、異なるチェーンのアプリケーション間通信を実現;
75%:単一のアプリケーションがその異なる部分を複数のチェーンに展開し、各部分が最も効率的なチェーンで動作します。これらの異なるチェーンのバックエンドパッケージは相互に通信し、ユーザー体験の持続性を確保します;
100%:エコシステムの不可知論、広範なWeb3エコシステムのインターフェースを提供します。従来の開発者は、複雑なブロックチェーンプログラミングなしでWeb3ツールによってサポートされたアプリケーションを任意にチェーン上に展開できます------そのすべての複雑さを抽象化します。
これらの段階に対する判断は、今日のマルチチェーンの状況をどのように見るべきかを基本的に決定づけています。抽象的に見ると、私はPolkadotのXCM/XCMPとCosmosのIBC、さらにSubstrateとCosmos SDKが、それぞれ第4、第5段階のことを行っていると考えています。
同様に、マルチチェーンエコシステムとして、PolkadotとCosmosのシステム設計や技術アーキテクチャに関する記事は多数存在します。この記事では、軽量クライアントの視点から、各自のクロスチェーン通信メカニズムXCMP/IBCおよび開発フレームワークSubstrate/Cosmos SDKを比較します。
最後に、いくつかの個人的な考察を結論として提起します。
二:架構
Cosmosのドキュメントに記載されているように:「Cosmosは製品ではなく、一連のモジュール化され、適応性が高く、相互に置き換え可能なツールの上に構築されたエコシステムです」。私のPolkadotに対する理解も同様です。
本文に入る前に、まず高次元の視点から彼らのアーキテクチャを迅速に見ていきましょう。
2.1.Polkadot
画像出典:https://coinmarketcap.com/alexandria/article/a-deep-dive-into-polkadot
https://polkadotters.medium.com/polkadot-architecture-6d150dd1253e
リレーチェーンはPolkadotの核心であり、パラレルチェーンは互いに独立していますが、リレーチェーンに統一的に接続されており、その安全性を共有します。Collatorsはパラレルチェーン上の取引を一つずつ収集し、状態遷移証明を生成し、リレーチェーンに提出します。Validatorsはこれらの証明を検証し、コンセンサスを実行し、リレーチェーン上でブロックを生成します。NominatorsはValidatorsを選択し、彼らのためにDOTをステーキングしてリレーチェーンを保護する必要があります。
Polkadotのパラレルチェーンの安全性はリレーチェーンに依存し、リレーチェーンはパラレルチェーンに共有の安全性と状態の一貫性を提供します。
2.2.Cosmos
画像出典:https://v1.cosmos.network/intro
Cosmosは2種類のブロックチェーンを含みます:ZonesとHubs。Zonesは通常の異種チェーンであり、HubsはこれらのZonesを接続するために使用されます。ZoneとHubs間の通信とメッセージングはIBC(Inter-blockchain Communication)プロトコルに依存しています。任意のZoneがHubとのIBC接続を確立すると、そのHubに接続された他のZonesと通信できます。
Cosmos Hubはネットワーク全体の最初のHubであり、Cosmosネットワークの起動を示しています。
三:通信メカニズム
2つのクロスチェーンエコシステムについて基本的な理解を得た後、各自の通信メカニズムを具体的に見ていきましょう。
3.1.Polkadot XCM/XCMP
画像出典:https://w3f.github.io/parachain-implementers-guide/messaging.html
PolkadotはUMP、DMPを使用してパラレルチェーンとリレーチェーン間で上下のメッセージを伝達し、XCMP(Cross-Chain Message Passing)に基づいてパラレルチェーン間のメッセージ伝達を行います。XCMPはまだ開発中であり、現在実際に使用されているクロスチェーンソリューションはHRMP(Horizontal Relay-routed Message Passing)です。
HRMPはXCMPと同じインターフェースと機能を提供しますが、すべてのメッセージをリレーチェーンのストレージに配置する必要があります。リレーチェーンにとっては、追加のメッセージ負荷が発生します。一方、XCMPはメッセージに関連するメタデータのハッシュをリレーチェーンに保存するだけです。したがって、HRMPは一時的な移行ソリューションとして、将来的にはXCMPに置き換えられるでしょう。
画像出典: https://www.youtube.com/watch?v=dyx-ePhuQRg、IOSG Ventures
上図はXCMPの動作原理を示しています:
パラレルチェーン間で双方向のチャネルを開くことができ、メッセージの受信と送信に使用されます。パラレルチェーンAとパラレルチェーンB間でXCMP通信を行うには、まず各チェーンのCollatorsがメッセージ、宛先、タイムスタンプを自分の出力キューに追加し、相手がメッセージを検知した後、それを自分の入力キューに追加し、そのメッセージを処理し、ブロックをValidatorsに提出します。Validatorsはメッセージを検証し、その後そのブロックをリレーチェーンに含めます。これにより、クロスチェーンメッセージの伝達が完了します。
チェーン間、または異なるコンセンサスシステム間では、メッセージフォーマットの互換性が欠如しており、それぞれ独自のメッセージ伝達方式と基準があります。
もし私たちがさらにクロスコンセンサス相互運用を行いたいのであれば、より一般的な「言語」が必要です------これらのメッセージの意図を高次に抽象化し、コンセンサスシステム間通信のデータパケットに基本的なフレームワークを提供します。同時に、スマートコントラクトやブロックチェーンの潜在的なアップグレードを考慮する必要があるため、そのような言語は前方互換性と拡張性も持たなければなりません。
画像出典:https://medium.com/polkadot-network/xcm-the-cross-consensus-message-format-3b77b1373392
今年5月初め、Polkadotはそのv0.9.19で正式にXCM(Cross-consensus Messaging Format)を有効にしました。このクロスコンセンサスの意味は、この通信フォーマットがPolkadotチェーン間のUMP、DMP、XCMPで使用できるだけでなく、スマートコントラクト、Pallet、ブリッジ、さらにはSPREE(Shared Protected Runtime Execution Enclaves)間で通信できることを意味します。(注:Palletは特定の目的のために設計された一連のモジュールとツールキットであり、例えばEVM Palletの目的はSubstrateチェーン上でSolidityベースのコントラクトを統合することです;SPREEモジュールは、メッセージを受信した後にコードを実行する方法を確保するための信頼のないメッセージモジュールです)
XCMとXCMPの違いに注意が必要です。XCMはコンセンサスシステム間の相互通信の「フォーマット」であり、その効用は受信者がメッセージを受け取った後に何をすべきかを表現することにあります。一方、XCMPはメッセージ伝達の「プロトコル」です。
本質的に、XCMのメッセージは非チューリング完全な仮想マシンXCVM(Cross-Consensus Virtual Machine)上で実行される単一または一連の命令であり、言い換えれば、XCVMの命令セットがXCMメッセージの全内容を構成します。
PolkadotはXCMとXCMPを提案し、実際にはパラレルチェーン間通信にネイティブで一般的なサポートを提供し、これによりパラレルチェーン間で直接通信が可能となり、特別なクロスチェーンブリッジに依存することなく、Polkadotネットワーク全体の相互運用性がプロトコル層でより統一されます。
画像出典:https://apps.moonbeam.network/moonbeam
XCMが有効になった後すぐに、MoonbeamとAcalaがXCMに基づく双方向HRMPを使用してクロスチェーン通信を開始し、2つのチェーン上のネイティブ資産の自由な流動を実現しました。
例えば、Acala上の$ACAと$aUSDはMoonbeamにクロスチェーンされ、XC-20資産($xcACAと$xcaUSD)としてEthereumエコシステムとの相互接続を実現します。Moonbeamのネイティブトークン$GLMRもAcala上で担保として使用され、$aUSDを鋳造したり、ステーキングに参加したりできます。
MoonbeamとAcalaの2つのエコシステムがXCM接続を通じて統合されたことは画期的な出来事であり、Polkadotが描くクロスチェーンのビジョンが徐々に広がっていることを象徴しています。他のパラレルチェーンがXCMに基づくクロスチェーン通信を有効にするにつれて、私たちはより多くの類似のユースケースを見ることができ、より大きな想像の余地を刺激するでしょう。
3.2.Cosmos IBC
下から上に、CosmosのシステムはTendermint Core、IBC、Cosmos SDKに基づいており、これらはそれぞれBFTコンセンサスエンジン、クロスチェーン通信プロトコル、開発フレームワークです。
クロスチェーン通信プロトコルであるIBCは、昨年3月にCosmos Stargateのアップグレード時に正式に実施され、その意味と設計原理はチェーン間標準ICS(Inter-chain Standard)によって定められています。
インターネット通信プロトコルTCP/IPの階層体系に類似して、IBCは伝送層とアプリケーション層に分解できます。伝送層はチェーン間で安全な接続を確立し、データパケットを検証するために必要なインフラを提供します;アプリケーション層は、これらのデータパケットが送信者によってどのようにパッケージ化され、受信者によってどのように解釈されるべきかを正確に定義します。
画像出典:IOSG Ventures
上図はIBCデータパケットのライフサイクルを示しています。
画像出典:https://v1.cosmos.network/intro
IBCは「ロック-ミント」の資産クロスチェーンモデルを採用しています。上図のように、Zone Aが資産をZone Bにクロスチェーン転送したい場合、トークンをロックし、証明をZone Bに送信する必要があります。検証後、Zone Bは自身のチェーン上で同量のトークンを鋳造します。このプロセスでは、資産は実際には移転されず、Zone Aでこの資産がロックされ、Zone Bで同額の同じ資産が再鋳造されます。
最終性(Finality)は、暗号通貨取引が完了すると、任意に変更またはキャンセルできないことを指します。上記のプロセスは即時最終性の状況を説明しています。一方、ビットコインのような確率的最終性ブロックチェーンの場合、Peg-Zoneを代理チェーンとして導入する必要があります(注:現在、CosmosとEthereum間のPeg-ZoneはGravity Bridgeです)そして、最終性の閾値を決定します:例えば、あるチェーンで取引が発生した後に100個の新しいブロックが生成された場合、(擬似)最終性が実現したと見なされます。
画像出典:https://hub.mintscan.io/ecosystem
現在、Cosmosエコシステムには39のチェーンと78のバリデーターが含まれており、総ステーキング資産の価値は31億ドルを超えています。一部の潜在的なエアドロップの機会は、ユーザーがCosmosエコシステムに流入する動機の一つとなっています。しかし、Terraの崩壊は明らかにCosmosエコシステムに大きな損害を与え、エコシステムの総ロック量が大幅に減少しました。
3.3.軽クライアント
私たちは軽クライアントの観点からXCMPとIBCを見ていきます。
軽クライアント(または軽ノード)は、最初に全ノードと区別される用語であり、ビットコインの簡略化された支払い検証(SPV)に使用されます。より広義には、スマートコントラクトも軽クライアントと見なすことができます。このような軽クライアントは通常、チェーンと直接対話せず、全ノードを仲介として依存し、全ノードから特定の情報を要求します。例えば、取引を送信したり、アカウント残高を検証したり、ブロックヘッダーを要求したりします。
クロスチェーン通信において、リレイヤーはソースチェーン上のイベントを監視し、イベントの暗号学的証明を生成し、その証明をブロックヘッダーと共にターゲットチェーン上のスマートコントラクト(すなわち軽クライアント)に転送します。軽クライアントは特定のイベントを検証し、それを証拠として特定のアクションを実行します。上記で議論したPolkadotのXCMPとCosmosのIBCは、どちらも軽クライアントモデルを採用しています。
画像出典:https://near.org/zh/bridge/
さらに、NEARのRainbowBridgeも典型的な軽クライアントモデルです。軽クライアントはスマートコントラクトとして、Ethereum(NEARのブロックヘッダーを保存)とNEAR(Ethereumのブロックヘッダーを保存)にそれぞれ展開されます。これらのブロックヘッダーはリレイヤーによって定期的に更新され、更新頻度は経済的効率のトレードオフに依存します------Ethereum上でNEARのブロックヘッダーを更新する設定は12〜16時間です。コネクタは特定の資産のクロスチェーンロジック(例えばERC-20トークンやNFT)を処理する役割を担います。
RainbowBridgeの速度とコストは主にEthereumに依存します。EthereumからNEARに資産を送信するのに約6分(20ブロック)かかります。NEARからEthereumに資産を送信するには、現在最大で16時間かかります(Ethereumの最終性の時間コストのため)。
3.4.小結
画像出典:IOSG Ventures
XCM/XCMP、IBC、RainbowBridgeの整理を通じて、私たちは軽クライアントモデルについて基本的な認識を得ました。軽クライアントの利点は安全性にあり、特定の情報を検証することによって、2つのチェーン間で対抗チェーン上で何が起こっているかを知ることができ、外部の検証者に対する信頼仮定に依存する必要がないため、安全性は基本的にチェーン自体と等しいです。
特に、XCMPの安全性はShared Securityに属し、リレーチェーンが提供するグローバルな安全性に依存しています。なぜなら、クロスチェーンメッセージの検証はValidatorsによって行われ、その後Validatorsはそのメッセージを含むブロックをリレーチェーンに含めるからです。
上表のCosmosのInterchain Securityは特別なShared Securityであり、複数のチェーンが同じバリデーターセットを共有し、ブロックを生成します。一部の小型チェーンのバリデーターは比較的弱く、攻撃を受けやすいため、Interchain Securityは彼らが成熟したネットワークの安全性を引き継ぐのを助けることに相当します。
Cosmos IBCを使用した通信は、2つのチェーン間で相互に信頼する必要があり、RainbowBridgeはNEARとEthereum間で相互に信頼することを要求します。これはブロックヘッダーの有効性検証の基本的な前提でもあります。
軽クライアントの欠点は、これらの証明の検証にかなりのコストがかかることです;また、接続性の問題も関与しており、各2つのチェーン間の通信のために軽クライアントを展開する必要があります------もちろん、PolkadotとCosmosのネイティブ通信メカニズムはエコシステム内部の接続性の問題をうまく解決しています。
小結として、上表でXCMP/XCM、Cosmos IBC、NEAR RainbowBridgeを簡単に比較しました。いくつかのデータはエコシステム間の比較に直接関係する可能性があります。(RainbowBridgeはNEARとEthereumのクロスチェーンにのみ関与しており、前者の2つはクロスチェーンエコシステムに属しますが、軽クライアントの一種としてここに比較のために置いています。)
注:上記/下記のケースプロジェクトはすべてIOSG Portfolioであり、例は情報交流のためのものであり、投資アドバイスを構成するものではありません。個人の投資判断はDYORしてください!
四:開発フレームワーク
「開箱即用」とは、一連の既製のソフトウェア/ハードウェアまたはツールキットを指し、開発者はこれを直接使用でき、これらの機能を再実装するために時間と労力を費やす必要がありません。
SubstrateとCosmos SDKはそのようなフレームワークです:基盤となるロジックをカプセル化し、いくつかの事前構築されたモジュールを提供し、柔軟でカスタマイズ可能なモジュールの組み合わせを行い、ブロックチェーンとアプリケーションを構築するために使用されます。相互運用性の観点から、SubstrateとCosmos SDKはそれぞれPolkadotとCosmosエコシステムへのネイティブサポートを提供しています。
画像出典:https://docs.substrate.io/v3/getting-started/architecture/
Substrateは3つの開発方法を提供します:Substrate Nodeはノード設定を事前に提供し、追加でJSONファイルを設定するだけでワンクリックでチェーンを構築できます;Substrate FRAMEは一連のモジュールとコンポーネント(すなわち上記で言及したPallet)を提供し、開発者はPalletを作成し自由に組み合わせることもできます;Substrate Coreはより高次元で抽象的であり、開発者はランタイムをゼロから設計できます(注:ランタイムは本質的に状態遷移関数であり、Substrateの中核概念であり、チェーンの状態ストレージと状態がどのように変更されるかを表します)。これら3つの開発方法の難易度と技術的柔軟性は増加します。
PolkadotとKusamaはどちらもSubstrateを基に開発されています。しかし、Substrate自体は汎用的な開発フレームワークであり、Polkadotとのシームレスな接続をサポートしていますが、すべてのSubstrateがPolkadotと強く結びつく必要があるわけではありません。
画像出典:https://v1.cosmos.network/intro
スマートコントラクトとは異なり、Cosmos SDKはアプリケーションチェーン(Application-specific Blockchains)の概念を提唱し(つまり、単一のアプリケーションのためにカスタマイズされたブロックチェーン)、基盤となるBFTコンセンサスエンジンTendermint Coreとネットワーク層をカプセル化し、ABCI(Application Blockchain Interface)を通じてアプリケーション層との接続を実現します。
Cosmos SDKの他にも、いくつかの拡張ツールが補完として存在します。例えば、JavaScriptベースのDeFiコンポーネントAgoric、WasmベースのスマートコントラクトモジュールCosmWasm、Cosmos SDKに基づくEVM実装Ethermintなどです。
開発フレームワーク全体が提供する機能とツールは大体同じですが、微細な部分で異なる設計理念があり、ここでは詳細には触れません。
(P.S:いくつかの主観的な見解:この記事を書く際、筆者はPolkadotとCosmosのDiscord開発者チャンネルでいくつかの質問をしました。Cosmosで質問した際には、専用の開発者コミュニティのモデレーターがサブセクションを設け、一対一で質問に答えてくれるという良い体験がありました)
画像出典:https://medium.com/electric-capital/electric-capital-developer-report-2021-f37874efea6d
Electric Capitalの報告によれば、2017年以降、Web3開発者の数は大幅に増加し、2021年末までに18,000人以上の開発者がWeb3分野で活躍しています。しかし、従来の開発者と比較すると、依然として少数派です。業界の発展の観点から、チェーン上のアプリケーション開発のハードルをさらに下げ、開発者サービスを充実させる必要があります。
繁栄するエコシステムは、より多くの質の高い開発者を引き付けるでしょう。結局、SubstrateとCosmos SDKはそれぞれのエコシステムへの接続の便利さを強調しています。実際、開発フレームワークの選択は、その後のエコシステムの選択と密接に関連しています。
4.1.小結
画像出典:IOSG Ventures
同様に、SubstrateとCosmos SDKを簡単に比較しました。
五:思考と結論
私は「太ったアプリケーション」の議論に部分的に同意します(同時にプロトコルが「スリム」である必要はない)。エンジニアリングの観点から、異なるチェーンには異なるトレードオフがあり、異なる目標に対して独自の技術的解決策を提案していますが、このようなインフラの最終的な目標は比較的一致しています------アプリケーションにサービスを提供することです。私たちは空中楼閣を作るつもりではなく、アプリケーションを無視して技術を語るのは無意味です。18年、19年の物語を振り返ると、「Ethereumキラー」や「百万TPS」といった言葉が飛び交いましたが、ユーザーはこれに関心があるのでしょうか?おそらく関心がないでしょう。したがって、小さくて美しいアプリケーション、ユーザーの受け入れ度が高いアプリケーションをまずチェーン上で動かすべきです。(私がこの説明に合致するアプリケーションの一つとして考えるのは、NFTマーケットプレイスの集約器gem.xyzであり、インターフェースがクリーンで、機能が使いやすく、多くのユーザーにとってこれで十分です)
Ethereumの設計は、その上に構築されたアプリケーションとプロトコルが互いに制約され、底層リソースを競争することを避けられないようにしています。マルチチェーンエコシステムの台頭は、ある程度Ethereumの圧力を軽減しましたが、実際にはその先行地位を侵食しています。同時に、ベアマーケットの視点から見ると、Ethereumが相対的に合理的なガス料金と取引速度に戻ることは、資金流出の動機を弱めています。短期的には、各チェーンが「利益を生む効果」を生み出せるかどうかが、ユーザーを引き付ける主な引力です(例えばDeFi KingdomsやSTEPN)。中長期的には、ユーザーの流入は各チェーンエコシステムの全体的な質と密接に関連しています。最終的にユーザーは資金で投票し、チェーン間の競争関係を相対的に均衡させるでしょう。
相互運用性や互換性は新しい物語を引き起こしましたが、潜在的なリスクも無視できません。2年前、私たちはEthereum上でレゴを組み立てていましたが、3月12日の極端な市場の中で、プロトコルの重層的なネストと流動性の枯渇がシステムリスクを引き起こしました。近年のマルチチェーンの状況の下で、私たちはより多くのアンカー、クロスチェーンブリッジ、そしてより複雑なプロトコルを持っていますが、依然としてそのような厳しい試練を経験していません。Terra帝国の崩壊は、もしかしたら単なる前兆に過ぎないかもしれません。さらに、現在の市場は中長期的な下落トレンドにあり、私たちは慎重にリスクを予測し、評価する必要があります。
現在のマルチチェーンエコシステムは依然として「虚胖」であり、一見繁栄しているエコシステムは、結局のところ、あるプロトコル、あるコードが別のチェーンで再び賭けを開いているだけです。エコシステムの繁栄は、単にプロジェクト数の多さだけでなく、ユーザーの活発度や資金の持続性を総合的に評価する必要があります。さらに、資産のクロスチェーンは現在のクロスチェーンの主要なユースケースであり、将来的には他のアプリケーションシナリオを期待または予見することができます。興味深いユースケースの一部は、DIDを行う際にマルチチェーンの活動軌跡を評価する必要があることや、NFTの貸し出しを行う際にマルチチェーンのNFT資産を担保にすること、さらにはマルチチェーンの資産活動の変化に基づいてアービトラージの意思決定を支援することなどです。
クロスチェーンインフラはすでに整っていますが、実際にマルチチェーンエコシステムを活性化するには、大規模な新規ユーザーが必要です。単に既存のユーザーをターゲットにしたゲームや、資金がチェーン間で移動するだけでは指数関数的な成長をもたらすことはできません。この点を考慮すると、ユーザーフレンドリーな入り口(例えばマルチチェーンウォレット)を提供することが重要です。
画像出典:https://medium.com/1kxnetwork/blockchain-bridges-5db6afac44f8
私たちは未来のマルチチェーンの状況をどのように展望すべきでしょうか?上図(2021年9月時点)では、私たちはクロスチェーンエコシステムが繁栄しつつあるのを見ていますが、ベアマーケットの中で避けられない衰退が現れています。しかし客観的に見れば、クロスチェーンインフラは比較的整っています。(とはいえ、ハッカーによるクロスチェーンインフラの脆弱性への攻撃は依然として続いており、楽観的であるべきですが、慎重であるべきでもあります)
合理的な推測として、次の大周期の物語は、各チェーン上の質の高いアプリケーションを中心に構築されたマルチチェーンエコシステムになるでしょう。「すべてのニーズを満たす公チェーンを構築する」といった言説は歴史的なものになるかもしれません。結局、私たちはすべてのことを1つのチェーン上で行う必要はありません。将来的に、より多くのアプリケーションチェーンが登場することを期待しています。
現在、私たちは依然としてマルチチェーンの初期段階にいます。