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

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


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

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

図1.ワンホップの送金

図1では Bank A の ILP Ledger から Bank B の ILP Ledger にコネクターを介して送金しています。このようにコネクターは複数のレジャーをまたぐ送金の仲介をします。ここで言うコネクターとはインターレジャーのプロトコルスタックにおけるILPコネクターです。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 と ILPコネクターという2つのコンポーネントが一体になったものを広義の意味でのコネクターと呼んでいることになります。

次に2つの銀行間で直接送金ができない場合を考えてみます。その場合、送金元の銀行は仲介者となる別の銀行を介して送金を中継してもらうことになります。

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

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

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

仲介者を利用する送金には、サードパーティーの流動性プロバイダーを利用するパターンも存在します。それは、コネクターとなる銀行が送金元と送金先の両方の銀行に口座を開設する方法です。

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

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

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

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

なぜワンホップが良いのか
ワンホップのメリットは為替スプレッドの縮小にあります。じつは私たちが普段テレビで見ている為替レートはTTM(中値)と呼ばれるレートで、実際に私たちが国際送金をするときにはTTS(電信売り相場)と呼ばれるTTMより高いレートが適用されます。このTTMとTTSの差は銀行の利益となり、これを為替売買益と呼びます。ワンホップであればTTMとTTSのスプレッドによる損失は最小限に抑えられますが、複数回の両替を伴うマルチホップの送金では送金者は大きな損失を被ります。これに加え、仲介者の数だけ手数料が請求されます。

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

図6.xRapid は XRP Ledgerを統合した単一のコネクターとして振舞う

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

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

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

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

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

リップル社のプロダクト副社長のアシーシ・バーラは、xRapidがILPコネクターであるかどうかの質問について次のように回答しています。

アシーシ・バーラ:
xRapidはILPコネクターとして機能しますが、現時点では厳密に言えばILPコネクターではありません。それは我々が来年の早い時期に検討したいことですが、目下のところ我々はxRapidの顧客のことで手一杯なため、そこに焦点を当てています。

このように、xRapidのコネクター・モジュールはILPコネクターとして機能していることが分かります。しかし、「現時点では厳密に言えばILPコネクターではない」とも発言しています。これについてはデイビッド・シュワルツがxRapidに実装されたILPのバージョンの互換性の問題であり、アシーシ・バーラと同様に近いうちにアップデートされる見込みだと説明しています。

デイビッド・シュワルツ:
ILPは、RippleNetプロトコルをロックダウンする必要があるときに、プロダクションコードを構築できるほど安定していませんでした。そのため、RippleNetはその時点で利用可能だった古いバージョンを使用しています。ユースケースが出てきたときにコンバージェンスが可能になります。私の直感ではそれは少なくとも1年先ですが、それは誰にも分かりません。

 

FX Ticker は ILPコネクター?

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

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

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

図9.xCurrent と xRapid の統合を予想してみる(非公式の図解です)

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

 

おまけ

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

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

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

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

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

コインチェック