♻️

XRPLのClawback機能

2023/06/05に公開

XRPレジャー とは

XRPレジャーはBitcoinやEthereumなどと同じ分散型のパブリックブロックチェーンです。ビットコインの初期コントリビュータを含む3人の開発者により2012年に開発され、PoWやPoSとは異なる独自のコンセンサスアルゴリズムが用いられています。

XRPレジャーではコントラクトの開発の必要なくトークンを発行することができ、トークンの発行者は自身が発行したトークンに対して一定の権限を持つことができます。

トークンの管理

トークンの発行者は以下のような機能を利用することで規制に準拠した形でトークンを発行することができます。

保有者制限機能

認可トラストライン機能を使用することで発行者が許可したアカウントのみがトークンを保有することが可能となります。

https://xrpl.org/ja/authorized-trust-lines.html

凍結機能

不正なアカウントなどが判明した場合、そのアカウントと別の第三者との発行トークンを利用した個別取引を凍結することが可能です。また、発行トークンを利用したすべての取引を凍結することも可能です。
凍結は解除することが可能です。

凍結されている場合でも、発行者からのトークンの送金、または発行者へのトークンの送金は可能です。

発行者は凍結機能を完全に放棄することができ、放棄後は凍結機能を利用することはできなくなります。

https://xrpl.org/ja/freezes.html

入金制限機能

DepositAuth機能を使用することで発行者が事前に許可したアカウントのみがアカウントへ入金することが可能となります。
この機能はトークンの発行者専用という機能ではなく、任意のアカウントが利用することが可能です。
トークンだけでなくXRPに対しても利用することが可能です。

https://xrpl.org/ja/depositauth.html#deposit-authorization

回収機能

次のセクションで説明します。

Clawback

Clawback機能は現在コミュニティより提案されている、トークンを保有しているアカウントからトークンの発行者がトークンを回収する機能です。

https://github.com/XRPLF/XRPL-Standards/blob/master/XLS-39d-clawback/README.md

https://github.com/XRPLF/rippled/pull/4553

Clawback機能の有効化

Clawback機能はデフォルトでは無効となっています。既にトークンを発行していたり、他アカウントからトラストラインを設定されている場合などは有効化できません。
そのため規制に準拠する発行者は事前にこの機能を有効化する必要があります。

また、凍結機能を放棄している場合にもこの機能は有効化することはできず、この機能が有効となっている場合に凍結機能を放棄することもできません。

AccountSetトランザクションを利用し、lsfAllowClawbackを有効化することでClawback機能が有効になります。

Clawback機能の利用

新しく追加されるトランザクションタイプであるClawbackを利用することでトークンの回収を行うことができます。

トランザクションのJSONは以下のようになります。

{
  "TransactionType": "Clawback",
  "Account": "rp6abvbTbjoce8ZDJkT6snvxTZSYMBCC9S",
  "Amount": {
    "currency": "FOO",
    "issuer": "rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW",
    "value": "314.159"
  },
  "Fee": 10,
}

回収する額はAmountフィールドで指定しますが、ここでのissuerはトークンの発行者アドレスではなく、保有者アドレスであることがポイントです。

まとめ

Callback機能によりXRPレジャーのトークン発行者はより規制に準拠した形でトークンを発行することができるようになります。

国内ではステーブルコインなども話題に上がるようになっていますが、XRPレジャーのトークンを利用することでコントラクトの開発を行う必要なく、より安全にステーブルコインを発行することができるようになります。

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

Discussion