ワンホップとマルチホップ

BITPOINT

※このページの資料はリップラー座談会で意見を交換をするために私が独自に作ったもので、リップル社の公式見解ではありません。説明の内容が正しいかどうかも分かりません。


ワンホップとマルチホップ

ホップ(Hop)とは Ripple の送金において主に経路探索で使われてきた用語です。ワンホップ(1 hop)は一回の両替を意味し、マルチホップ(Multi-Hop)は複数の両替を伴う送金です。最初に xCurrent を利用したワンホップの送金モデルを見てみます。

図1.ワンホップの送金

図1では Bank A の ILP Ledger から Bank B の ILP Ledger にコネクターを介して送金しています。このようにコネクターは複数のレジャーをまたぐ送金の仲介をします。ここで言うコネクターとはインターレジャーのプロトコルスタックにおけるコネクターです。xCurrent にはメッセンジャー、ILP Ledger、コネクター(FX Ticker)、バリデーターの4つのコンポーネントがあり、上の図は ILP Ledger とコネクターの2つのコンポーネントだけを抜き出しています。

図2.インターレジャーにおけるコネクターの概念

それでは図1に描かれたコネクターとはいったい誰なのかというと、それは Bank A ということになります。

図3.コネクターの役割をするBank A

つまり Bank A は国際送金を行うためにアメリカの Bank B の口座にあらかじめ USD を流動性資産として保有しておいて、送金相手の口座に振り替えを行うのが xCurrent の基本的な仕組みです。だから Bank A をコネクターと呼ぶときは、システム的にはコネクターと ILP Ledger という2つのコンポーネントが一体になったものを広義の意味でのコネクターと呼んでいることになります。

次に2つの銀行間で直接送金ができない場合を考えてみます。その場合、送金元の銀行はサードパーティー(第三者)のコネクター(銀行)を介して送金を中継してもらうことになります。

図4.マルチホップの送金

サードパーティーのコネクターを介する送金では両替は2回行われます。つまり、『マルチホップ』の送金です。図4ではアメリカの銀行(USD)を経由して中国の銀行(CNY)に送金が行われています。もちろん、Bank A と Bank B が同じ法人の日本支店とアメリカ支店の場合もあります。このように一言で『コネクター』と言う場合、それが法人としての広義のコネクターなのかシステムとしてのコネクターなのかで意味合いが少し変わってきます。

ボブはコネクター?
簡単な例として、アリス=>ボブ=>クロエという送金で、ボブが『コネクター』になるとします。ボブはレジャーでしょうか?それともコネクターでしょうか?答えは人間です。つまり、プロトコルスタックの中で考えるレジャーとコネクターの所有者が誰なのかが問題です。図4の Bank B をボブ銀行だと考えれば分かり易いでしょう。ボブ銀行はコネクターですが、システムとしては ILP のレジャーとコネクターの両方を持ちます。

サードパーティーのコネクターを利用する送金には、他のパターンも存在します。それは、コネクターとなる銀行が送金元と送金先の両方の銀行に口座を開設する方法です。

図5.サードパーティーの銀行が各国の銀行に口座を開設する場合

この方法では、サードパーティーの銀行を経由しても両替はワンホップになります。この場合、コネクターとなる銀行が xCurrent のコネクター・コンポーネントを運用していることになります。ですから、3つの金融機関が一連の送金に関わっているからといって、それがマルチホップの送金であるとは一概に言うことは出来ません。このモデルにはいくつかの利点があります。

  1. Bank AとBank Bがカウンターパーティーリスクを負わない
  2. Bank AとBank Bが為替リスクを負わない
  3. Bank AとBankBにコルレス関係が必要ない
  4. ワンホップの送金のため為替スプレッドと手数料が縮小できる

xCurrent は、前述したようなコルレス関係モデルの送金を ILP に準拠させることが可能であるとともに、このような新しいサードパーティーの流動性プロバイダーに対応した送金モデル(流動性アレンジメント)にも対応できるのが特徴です。但し、このモデルではコネクターになる機関がカウンターパーティーリスクと為替リスクを負うことになります。

次に xRapid をコネクターに利用する場合を考えてみます。

図6.xRapidを使った送金

インターレジャーのプロトコルスタックを基準に、インターレジャー層以下で何が行われているかを考えると、おおよそこのようなことが行われていると推察できます(詳しいことは知りません)。ここで、Connector 1 と Connector 2 として法定通貨と XRP の両替を行うシステムが xRapid です。xRapid のコアは取引所の中で動く bot のようなシステムだと思われます。ここで、xRapid は下図のように複数の取引所で動いている単一のコネクターと解釈することができます。xRapid が コネクターとして Exchange A と Exchange B のレジャー間で資産の振替をしていることが分かります。

図7.xRapidはXRP Ledgerを統合した単一のコネクターと解釈できる

XRP Ledger が ILP v4 に移行する場合は、レジャー内でのXRPの送金(振替)には暗号エスクローではなくペイメントチャネルが利用される可能性があります。上記の説明で各ILP Ledger内の処理をエスクローに統一しているのは説明を単純化するためです。XRP Ledger がより高速な処理方式を採用すれば、ILPの仕様もそれに伴って変更される可能性があります。旧ILPとILP v4のレジャーの仕様が異なる理由はそれでしょう(私見です)。旧ILP と ILP v4 にどの程度の互換性があるかは知りませんが、プロトコルを統一する本来の意義はそこにあると考えます。

最後に xCurrent と xRapid の両方が利用されるケースを見てみます。

図8.xCurrentとxRapidが利用されるパターン

このように見ると、xCurrent と xRapid のコアとなるのは、インターレジャー層のILPコネクターとして動作するプログラムであると推察できます。xCurrent と xRapid はともにリップル社の商用製品であるため、実際にはどのような実装になっているかを正確に知ることはできません。おそらく両製品とも複数のコンポーネントをパッケージングした一つのソリューションとして提供されると思われます。しかし、このように見ると、xCurrent と xRapid に共通するのは、複数のレジャー間で資産の振替を行う『コネクター』としての性質(またはコンポーネント)であることが分かります。

それでは、ここでリップル社のソリューションの説明を見てみましょう。

図9.xCurrentの主要なコンポーネント 出典:ripple.com

リップル社は xCurrent の説明の中で Messenger、ILP Ledger、FX Ticker、Validator という4つの主要なコンポーネントの説明をしています。この図の中には先ほどまで説明してきたコネクターの記載がありません。しかし、図をよく観察すると、Bank A と Bank B の ILP Ledger を FX Ticker と呼ばれるコンポーネントが接続していることが分かります。そして、FX Ticker のアイコンにはコネクターのアイコンが利用されています。2つのレジャー間で異なる種類の通貨の振替を行う際に、為替レート(FXレート)を把握することができるのはコネクターしか存在しません。そのことからも、FX Tickerと呼ばれるコンポーネントがコネクターであることはほぼ間違いないでしょう。そして、ここまでの説明のとおり Bank A から Bank B への xCurrent を利用した送金で流動性を提供するのは Bank A であるため、リップル社の説明の中でもコネクター(FX Ticker)は Bank A に属しています。

この基本的なシステムの構成は xRapid でもほとんど変わらないのではないかというのが私の個人的な推察です。xCurrent には ILP v1 のアトミックモードが利用されるため、Validator(バリデーター)が存在します。先ほども述べたように、xRapid でエスクローが利用されるかどうかなどの詳しいことは私には分かりません(知りません)。しかし、2つのシステムの明確な違いは ILP Ledger 間の接続に xCurrent(のコネクター)が利用されるか、または xRapid(のコネクター)が利用されるかでしょう。もちろん、すべて私の推測でしかありません。

 

おまけ

デイビッド・シュワルツは、国際送金をしたい銀行や企業に XRP を直接保有してもらうのがリップル社が目指している最終的なシナリオだと説明しています。そして、リップル社は現在公開している公式ドキュメントの中で次のように国際送金のフローを説明しています。

図10.RippleNetの送金の仕組み 出典:ripple.com

この図の中で、xCurrent を統合した真ん中の Receiving Correnspondent Bank と Beneficiary Bank の間が XRP Ledger で接続されています。このモデルの一つのケースとして次のようなことが考えられます。

図11.xCurrentでXRPを利用する可能性

あらかじめ断っておきますが、リップル社が公式にこのようなことを行うと発表したことはありません。xRapidのことを図11のように示しただけかもしれません。ILPは柔軟なプロトコルです。図10に示したものは、ILPコネクターが ILPレジャーを介して様々な送金に対応することが出来るという一例であって、それが現実に行われるとは限りません。

BITPOINT