エコシステム開発戦略:インターチェーンブリッジ

Waves Platform Blog > Ecosystem development strategy: interchain bridges” の日本語訳です。
現状、Wavesブロックチェーン内にETH等の別チェーンのアセットを取り込む際には、Gatewayを使用する必要がありその運営者を信頼する必要があります。このインターブロックチェーンによりGatewayの中央集権状態を取り除くことが可能になります。

Author

エコシステム開発戦略:インターチェーンブリッジ

私たちは新しいビジョンを説明し続けていますが、この投稿ではWaves Platformと他のブロックチェーンとの間のブリッジを探っていきます。

Wavesの今後の開発における主な優先事項の1つは、Wavesエコシステムと他のブロックチェーン間のインターオペラビリティ―(相互運用性)の実現です。これは、ブロックチェーン技術の普及に貢献し、さまざまなアプリケーションへの実装を促進します。

普遍的な相互運用性に向けた最初のステップは、WavesとEthereumブロックチェーンを接続するブリッジを構築することです。

ブロックチェーン間通信を容易にするために解決する必要がある最大の問題は、別のブロックチェーンからデータを受信することや、ブロックチェーン間でトークンを送信することです。

あるブロックチェーンが別のブロックチェーンのトランザクションについて知ることを可能にするスキームは、ブロックチェーン間の資金の直接交換を可能にし、既存の中央集権型ゲートウェイの廃止につながります。

チェーンコレクターの導入

principles-of-interchain-bridge-operation

AとBの2つの独立したブロックチェーンがあるとします。トランザクションがAネットワークで実際に行われたことをBネットワーク上で証明(その逆も)できるようにする必要があります。

これを実現するために、Bネットワーク用のチェーンコレクターが作成されます。これは、ネットワークAのブロックのブロックヘッダーを保持するスマートアカウントです。チェーンコレクターは、前のブロックへの正しいリンク、ブロックジェネレーターの有効な署名、およびオラクルの有効な署名がある場合にのみ、ブロックのヘッダーをチェーンに追加します。

チェーンコレクターは、上記のようにチェックされたブロックのシーケンスを保存します。データの有効性とファイナリティの提供者は、その正確性について責任を負います(以下を参照)。

チェーンコレクターを使用すると、ブロックチェーン間のトークン転送の証明が可能になるため、独立したブロックチェーン間の「ブリッジ」が容易になります。

ブリッジの構築

独立したブロックチェーン間のトークン転送プロセスを自動化するために、スマートアカウントを「トークンポート」として使用することを提案します。Bネットワークのトークンポートは、Aネットワークのトークンポートと同額のデポジットの証明がある場合にのみ、資金の引き出しを許可します。

その証明を受け取ると、指定されたブロックにトランザクションが追加されていることを確認するため、Bネットワークのトークンポートは、送信者、受信者、金額、資産IDを含むトランザクション全体をチェックします。

ファイナリティの問題

対処する必要がある重要な問題の1つは、他のブロックチェーンのブロックのファイナリティです。あるブロックチェーンは、他のブロックチェーンのブロックが本当にファイナライズされたことをどのようにして知ることができますか?PoSコンセンサスネットワークの場合のように、ブロックのファイナリティが確率に基づいている場合、他のネットワークでブロックのファイナリティを保証することはできません。

ただし、署名を使用してブロックの信頼性とファイナリティを検証するバリデーターのグループを設定できます。バリデーターのパブリックキーは事前に知られており、提供するデータの信頼性は彼らの署名によって確認されます。

ブロックのヘッダーが必要な数のバリデーターによって署名されている場合、ブロックはファイナライズされたと見なされ、Bネットワークのアカウントで利用可能になります。資金を引き出すには、ユーザーはAネットワークの特定のブロックで転送トランザクションのマークルツリー証明を提供する必要があります。

Bネットワークのバリデーターによって作成されたチェーンは、チェーンコレクターアカウントのステートに保存され、基本的にオラクルとして動作します。

バリデーター間のコンセンサスは、マルチ署名(チェーンコレクターによって検証される)や、しきい値署名(チェーンコレクターによっても検証される)など、さまざまな方法で達成できます。その後、バリデーターは、その情報に関心のあるブロックチェーンにコンセンサスの決定を送信します。

WavesとEthereumブロックチェーン間の資金交換

両方のネットワークで、資金を送受信するためのアカウント(トークンポート)が作成されます。それぞれのアカウントはお互いのアドレスを知っています。

同様に、両方のネットワークで、チェーンコレクターアカウントが作成され、互いのブロックチェーンのトークンポートに必要なトランザクションデータを提供します。

EthereumからWavesへのトークンの送信

Ethereumブロックチェーンのアカウントを持っているアリスが、Wavesブロックチェーンのアカウントを持っているボブに資金を送ろうとしていると仮定しましょう。アリスはETHをイーサリアムネットワーク上のトークンポートに送信、トークンポートインターフェイスを使用してトランザクションにボブのアドレスを添付します。

その後、トランザクションは、イーサリアムネットワーク内のブロックのtransactionRootHashに追加されます。Wavesのチェーンコレクターは、Ethereumネットワーク上のこのブロックのヘッダーをそのステートに記録します。

トランザクションがEthereumブロックチェーンに存在することをWavesのトークンポートに証明するために、BobはtransactionRootHashにその特定のトランザクションのIDが含まれていることを確認する検証プロセスを開始します。トークンポートは、これをマークル証明を使用してチェーンコレクターのデータと照合します。提供された証明が正しい場合、ボブはアリスが送った資金を(wETHで)回収できます。

WavesからEthereumへのトークンの送信

次に、Wavesブロックチェーンのアカウントを持っているBobが、Ethereumブロックチェーンのアカウントを持っているAliceに資金を送ろうとしていると仮定しましょう。

ボブはWavesネットワークのトークンポートにWAVESを送信し、イーサリアムネットワーク上のアリスのアドレスをトランザクションに添付します。

その後、トランザクションはWavesネットワーク内のブロックのtransactionRootHashに追加されます。

Ethereumのチェーンコレクターは、Wavesネットワーク上でのこのブロックのヘッダーをステートに書き込みます。

トランザクションがWavesブロックチェーンに存在することをEthereumトークンポートに証明するために、Aliceは検証プロセスを開始して、transactionRootHashにその特定のトランザクションのIDが含まれていることを確認します。トークンポートは、これをマークル証明を使用してチェーンコレクターのデータと照合します。提供されたデータが正しい場合、アリスはボブが送った資金を回収することができます。

経済学とインセンティブ

トークンポートは、各入出金トランザクションに対して手数料を請求することができます。

チェーンコレクターはリクエストに応じて動作することが可能です。Bネットワーク上のアカウントがAネットワーク上のトランザクションに関する情報を必要とする場合、そのアカウントはチェーンコレクターにリクエストを送信し、特定の高さのブロックヘッダーを要求します。その情報と引き換えに、アカウントはチェーンコレクターに手数料を支払います。

バリデーター間の共謀を防ぐため、KYC手続きを行う必要があります。チェーンコレクターが誤ったデータを提供した場合、バリデーターはその責任を負うことになります。

今後数週間にわたって、Wavesの進化するエコシステムのさらなる側面について詳しく説明していきます。