💸

XRPLのRippling機能

2023/06/01に公開

XRPレジャー とは

XRPレジャーはBitcoinやEthereumなどと同じ分散型のパブリックブロックチェーンです。PoWやPoSとは異なる独自のコンセンサスアルゴリズムが用いられています。
EVMによるスマートコントラクトは搭載しておらず、スマートトランザクタ(プロトコルネイティブで提供されている機能)を拡張することで進化し続けています。
代表的な機能としてはトークンの発行や管理、DEX、マルチシグなどがあります。

トークンの仕組み

XRPLにおけるトークンはIOUとも呼ばれ、本来は外部の価値の債権を表すものです。

次に説明する仕組みを利用することで、XRPL上でのトークンの仕組みが理解できます。

二者間でのやりとり

AliceがBobに1000円を貸しており、BobはAliceに1000円を返済する必要があるとします。この時、BobはAliceに対する1000円の債権を1000JPYというトークンで表現することができます。

BobはAliceに対して1000JPYを送金することで、Aliceへの1000円の債務を持ちます。これはAliceによるBobへの信頼によって成り立ち、Bobが1000円の請求に応じない場合はデフォルトしたことになります。

ここでAliceが200JPYをBobへ送金し200円の請求を行った場合、Aliceの債権は800円になります。

三者間でのやりとり

これを3者に拡張してみましょう。

AliceとBob、BobとChalieは知り合いですがAliceとCharlieは知り合いではないと仮定します。

下の図ではBobがAliceとCharlieの二人から合計3000円の債務を抱えている状態です。

ここでAliceとCharlieはBobの紹介を受けて初めて会い、AliceはCharlieに800円を貸す必要が出てきました。しかし、初めて会ったばかりであるのでCharlieに対する十分な信頼はありません。
しかし共通の友人であるBobへの信頼はあるので、CharlieはBobに対する2000円の債権(2000JPY)の内、800JPYをAliceに送金することで、Charlieから800円を返済してもらう代わりにBobからその800円を返済してもらうことができます。

この一連の流れでBobの債務総額が変化していないことが重要です。

これらはAliceやBob、Charlieの間での債務・債権額や信頼関係の有無によって説明されます。

XRPLでのトークン

上記のような仕組みはXRPLのトラストライン機能によって実現されます。

https://xrpl.org/ja/trust-lines-and-issuing.html#トラストラインと発行

BobはIOUの発行者であり、AliceとCharlieはその利用者と言えるでしょう。
最後の例はAliceからCharlieへのIOUの送金であり、Bobはその中継者としての役割を果たしています。(この中継者というのはこの記事の中で重要です。覚えておきましょう)

トラストラインは二者間での通貨や債務・債権額、その上限額を表すもので、この額を調整することでIOU/トークンの送金を実現しています。

本来、トラストラインが表すオンレジャーのIOU/トークンはオフレジャーの資産との交換権とも言えるわけであり、オフレジャー資産の価値がIOU/トークンの価値に影響を与えるものです。

この仕組みが利用され、現在はオフレジャーの資産と紐付かないオンレジャーのみのトークンも発行されています。

ステーブルコイン

最近話題となっているステーブルコインは、オフレジャーの資産と紐付いたオンレジャーのトークンです。発行者はオンレジャーのトークンとオフレジャーの資産の交換を保証しています。

まさにトラストラインの一番のユースケースとも言えるでしょう!

Rippling

本題にやってきました。

まず、Rippling機能を一言で表すとトークンの中継と言えるかもしれません。
先ほどBobが中継者というお話をしましたが、CharlieからAliceへのIOUの送金時にRippling機能を用いるのです。

https://xrpl.org/ja/rippling.html#rippling

具体的には発行者からのRippling機能が有効である場合、アカウントが保有する同一通貨コードのトラストライン間での残高の移動が可能です。

発行者からのRipplingが無効の場合、アカウントは発行者以外へトークンの送信ができません。

トークン発行者となる人がトラストラインにてRipplingを許可している場合、そのトラストラインを保持するトークン保有者間での実質的なトークンのやりとりが可能となります。

実線で繋がった部分での送金が可能ということですね。

また、トークン発行者ではないユーザがトラストラインにRipplingを許可している場合、同一通貨コードのトークン間でトークンが1:1で交換されることがあります。
例えばAliceがBobが発行した100JPYとCharlieが発行した100JPYを保有している場合でそのいずれもRipplingを許可している場合、他の第三者の取引経路として利用される可能性がります。

次の例ではDave保有するAlliceのJPYトークンをEllenへCharlieが持つJPYトークンとして送金しています。

もしBobのトラストラインにRipplingを許可していない場合、DaveはAliceのトークンをEllenへ送金することはできません。

マーケットメイカーとしてのRippling

先ほどの説明ではAccount-BobAccount-AliceAccount-Charlieの間でトークンの中継を行う役割を担っていました。これはマーケットメイカーとしての役割を担っているとも言えます。デフォルトでは1:1でトークンが交換され、またトークンによっては送金手数料も発生しており、損害を被る可能性もあります。

この記事で詳しくは触れませんが、トラストラインのQuality InQuality Outを適切に設定することで、Ripplingを使ってマーケットメイカーとして収益を得ることも可能です。

https://xrpl.org/ja/trust-lines-and-issuing.html#トラストラインの設定

まとめ

XRPレジャーのトークンの一番ベースとなるトラストラインとRipplingについて説明しました。
トラストラインはトークンの残高データを保持し、Ripplingによりユーザ間のトークンの送金を可能にします。

今後ステーブルコインの発行等により、同一通貨コードのトークンが発行された場合、ユーザ間でのRipplingを利用したトークンの交換が利用されていくことも考えられるかもしれません。

興味を持たれた方はXRP Ledger開発者のDiscordチャンネルへ是非お越しください!
日本語チャンネルもありますので、英語ができなくても大丈夫です!
https://xrpldevs.org

Discussion