言語

ブロックチェーンの相互運用性とは何か?

ブロックチェーンの相互運用性とは、異なるブロックチェーンネットワークが、中央の主体を必ずしも仲介者として必要とせずに、通信し、情報を交換し、資産を移転し、処理を起動できる能力です。この概念は、ブロックチェーンエコシステムの構造的な問題の一つに対応します。各ネットワークは独自の状態を維持し、独自のコンセンサスルールを使用し、他のチェーンとは互換性のない形式、仮想マシン、安全性モデルを採用している場合があります。Ethereum.orgは、この状況を、トークン、メッセージ、データ、さらにはスマートコントラクトの呼び出しを交換するための固有の仕組みを必要とする、分離された環境の集合として説明しています。

この問題が重要なのは、ネットワークの増加によってエコシステムがますます分断されているからです。ビットコインはイーサリアムとは異なるルールで設計されており、他のプラットフォームは分散性、速度、コスト、処理能力の間で異なるトレードオフを優先しています。そこにレイヤー2のスケーリングソリューション、専門チェーン、特定用途向けネットワークなどが加わります。相互運用性は、この多様性によってシステムが完全に孤立するのではなく、異なるインフラの能力をより広い体験やアプリケーションの中で組み合わせられるようにすることを目指します。

暗号資産を移すだけではない

技術的には、相互運用性は単にあるチェーンから別のチェーンへ暗号資産を送ることを意味しません。価値移転は可能な機能の一つにすぎません。相互運用可能なシステムでは、メッセージを運搬したり、特定の状態を照会したり、命令を送ったり、別のネットワーク上の処理を起動したりできます。現在のプロトコルでは、複数のチェーンにコンポーネントを分散させたアプリケーションさえ支えられます。たとえばチェーンリンクはCCIPを、異なるブロックチェーン間でトークン、メッセージ、またはその両方を移転するためのインフラとして定義し、ポルカドットは異なるコンセンサスシステム間で命令を表現し通信するためにXCMを利用しています。

ブリッジ

これを実現する最もよく知られた仕組みの一つが、一般にブリッジと呼ばれるブロックチェーンブリッジです。その機能は、同じ状態をネイティブに共有していないネットワーク間に通信経路を作ることです。ユーザーがソースチェーンから宛先チェーンへ資産を移す場合、元の資産そのものが物理的に移動するわけではありません。設計によって、ソースネットワーク上のコントラクトにロックしたうえで宛先ネットワークで表現を発行したり、一方のチェーンでバーンして他方でミントしたり、流動性提供者を通じてアトミックに交換したりします。

この点は重要です。なぜなら、ブリッジが単なるコインの輸送管ではないことを説明するからです。実際には、あるチェーンが別のネットワークから発せられた主張を有効なものとして受け入れるための方法を確立する必要があります。中心的な問題は、特定の出来事がソースチェーン上で本当に起きたことを検証することです。解決方法にはさまざまなモデルがあります。外部バリデーター、オラクルネットワーク、マルチシグネチャシステムを使うものもあります。他方、ソースチェーンに由来する暗号学的証明を宛先チェーン自身が検証できるようにする方式もあります。Ethereum.orgは、第三者の検証者を利用する設計と、接続されたブロックチェーン自体が提供する仕組みによって追加の信頼要件を減らすソリューションを区別しています。

その他のアプローチ

信頼を最小限に抑える観点から特に興味深いのがライトクライアントを利用するシステムです。ライトクライアントは、そのネットワークのフルノードを実行せずに、別のブロックチェーンについて十分な情報を維持・検証できます。ブロックチェーン間通信のオープン標準として開発されたIBCプロトコルは、認証、通信、状態証明の仕組みを使って、チェーン間で情報パケットを交換できるようにします。そのドキュメントによれば、IBCは異種のチェーンを接続し、トークン移転、データ交換、チェーン間アプリケーションにその通信を利用できます。

ポルカドットも関連するものの、アーキテクチャの異なる戦略を採用しています。そのXCM形式は、メッセージの輸送そのものを処理せずに、別のコンセンサスシステムを対象とするメッセージや意図を記述できます。命令の意味と、その命令を届ける仕組みを分離することで、XCMをさまざまな通信状況で利用できます。ポルカドットエコシステム内では、このインフラを通じてチェーン間で資産やメッセージを交換でき、独自のコンセンサスメカニズムを持つ外部ネットワークとの接続にはブリッジが使われます。

相互運用性は、専門化されたメッセージングレイヤーによって構築することもできます。このモデルでは、ユーザーやアプリケーションが中間インフラとやり取りし、それがソースチェーン上の命令を受け取り、必要な証明や検証を取得し、宛先チェーンで処理できるメッセージとして届けます。利点は、開発者が技術的な複雑さの一部を抽象化し、複数のエコシステムで動作できるアプリケーションを構築できることです。チェーンリンクは、このようなプロトコルによってネットワークの各ペアごとに完全に独立した統合を用意する必要を避け、マルチチェーンアプリケーション開発のための統一インターフェースを提供できると主張しています。

セキュリティ

しかし、安全性こそが相互運用性の最大の課題です。2つのブロックチェーンを接続すると、それぞれのネットワーク内部には存在しない新たな攻撃対象が生まれる可能性があります。ブリッジは、脆弱なスマートコントラクト、管理鍵、バリデーター集合、オラクル、検証メカニズムに依存し、それらが戦略的な攻撃目標になることがあります。Ethereum.orgは、ブリッジが大規模な攻撃を受けてきたことを指摘し、そのリスクとしてコントラクトの脆弱性、ラップド資産に関係する金融リスク、外部運営者へ依存する設計でのカウンターパーティーリスクなどを挙げています。

そのため、あるソリューションが相互運用可能だと言うだけでは、安全性の水準についてほとんど何も分かりません。同じネットワーク同士を接続する2つのシステムでも、信頼モデルは大きく異なる可能性があります。少数の署名者に依存するブリッジは高速で柔軟にできますが、その参加者がユーザーに対して協調して不正を行わないことを信頼する必要があります。オンチェーンで証明を直接検証する仕組みは、その依存を減らせる一方で、技術的な複雑さを増したり、接続範囲を制限したり、運用コストを高めたりする可能性があります。したがって相互運用性は設計上のトレードオフをなくすのではなく、それらをインフラの別の層へ移します。

ブロックチェーンの相互運用性は、独立して動作するよう設計されたシステム間の調整レイヤーとして理解できます。目的はすべてのネットワークを単一のブロックチェーンに変えることではなく、それぞれのルールや性質をできる限り維持しながら、異なるアーキテクチャが協調できるようにすることです。この目的が、ブリッジ、メッセージングプロトコル、ライトクライアント、チェーン間検証システムがWeb3インフラの重要な構成要素となった理由です。これらの技術の発展は、ブロックチェーンエコシステムが接続されたネットワーク群へ進むのか、それとも仲介者に依存する限定的な相互運用性しか持たない環境の集合にとどまるのかを大きく左右するでしょう。

参考資料