XRP Ledgerには スパムなどの悪意ある行為から守り、低い手数料で利用するための仕組み として準備金が存在します。
例えば誰も保有を望まない何万ものNFTが台帳へ存在することはノードへ不要な負担を強いることになりますが、NFTの保有に対して準備金を設定することで、所有者に対してNFTを 台帳から削除させるインセンティブ を発生させます。
準備金は次の2種類存在し、準備金の量(XRP)はバリデータの投票により決定されます。
基本準備金(Base Reserve)
アカウントアドレスを使用するために必要な準備金です。アカウントがトランザクションを送信するためには少なくともこの準備金分のXRPを保有しておかなければなりません。
執筆時点では 10XRP となっており、アカウントの削除でのみ基本準備金を取り戻すことができます。
基本準備金を取り戻す際に、その内の一部(2XRP)は償却されます。これはアカウントの作成→削除によるスパムを防ぐためです。
所有者準備金(Owner Reserve)
XRP Ledgerにはいくつかの種類のオブジェクトが存在し、アカウントがこのオブジェクトを保有/利用するために必要な準備金です。
オブジェクト毎に準備金が必要となり、執筆時点では1オブジェクトあたり 2XRP です。
準備金が課されるオブジェクトは次のようなものが存在します。
- Check (小切手)
- Deposit Preauth (事前の入金承認)
- Escrow (エスクロー)
- NFT Offer (NFTの購入/売却オファー)
- NFT Page (NFTを格納するページ)
- Offer (取引オファー)
- Payment Channel (ペイメントチャネル)
- Signer List (マルチシグのアカウントリスト)
- Ticket (アカウントのシーケンス番号の確保)
- TrustLine (トークン保有(正式なオブジェクト名はRippleState))
オブジェクトそれぞれに対応するトランザクション(OfferCancelなど)を通じてオブジェクトを削除することで所有者準備金を取り戻すことができます。
特殊なケース
上記の所有者準備金の対象となるオブジェクトのうちTrustLineはXRP Ledgerにおいて特殊で強力な機能であるため、最初の2つのTrustLineオブジェクトには準備金を課さないようになっています。
厳密にはアカウントのオブジェクトの総数が2つ以下の場合、その内のTrustlineオブジェクトについては準備金が課されません。
例えば、
- 2つのTrustLineオブジェクトのみの場合、所有者準備金は0XRP
- OfferオブジェクトとTrustlineオブジェクトの2つのみの場合の所有者準備金は2XRP
となります。
アカウントのオブジェクト数が3以上となった場合は、準備金が課されていなかったTrustlineオブジェクトを含む全てのオブジェクトに対して準備金が課されるようになります。
手数料としての利用
アカウントの準備金はトランザクション手数料として使用することが可能です。
例えばアカウントがちょうど10XRPを保有しその全額が基本準備金である場合でも、トランザクション手数料としてのみXRPを使用するトランザクションは送信可能です。XRPを送信するPaymentトランザクションや、Offerの作成などの所有者準備金を増やすようなトランザクションは送信できません。
手数料投票
基本準備金と所有者準備金はそれぞれ固定された額ではなく、バリデータの投票により調整されます。
投票が有効化されるには 80%を超えるバリデータの賛成票 が必要となっています。
直近では2021年に基本準備金が20XRPから10XRPへ、所有者準備金が5XRPから2XRPへ調整されました。
現在の投票状況は次のサイトで確認できます。
まとめ
準備金はXRP Ledgerをスパムから守り、ノードが必要とする容量を抑え、長期的に健全に運用していくために必要な仕組みです。
これにより、トランザクション手数料としてXRPを多量に消費することなく、DEX取引やNFTの発行・取引などさまざまなトランザクションの実行を可能にします。
XRP Ledgerに興味がある方は開発者Discordチャンネルへ是非お越しください!
日本語チャンネルもありますので、英語が出来なくても大丈夫です!