まずはじめに、ペイメントチャネル(Payment Channel)について紹介していきます。
ペイメントチャネルは、送金者と受領者がオフチェーンで取引を行うための手段です。概念としてはチェーンを問わず存在するものとなります。
ペイメントチャネルは本来、1トランザクションあたりの取引手数料が高いチェーンでこそより効果が高い手法となりますが、
XRP Ledgerでは、3~5秒で取引が完了し、支払い手数料も低いため、通常であれば支払いトランザクションで問題ありません。
ただし、特定の条件ではペイメントチャネルを使用するメリットがあり、必要性が出てきます。
ユースケース
- 秒間数千〜数万件の送金処理を行い場合
- マイクロペイメント(drop単位で支払いを行う場合)
- 最終的な支払い金額が未確定の場合
基本的にはこのあたりで必要になってくると思いますが、アイデア次第では様々なユースケースに対応できる可能性があるでしょう。
ライフサイクル
XRPLのペイメントチャネルには、独自のライフサイクルが存在します。
実際に触れていく中で理解していけば良いかと思いますが、ここで取引のイメージはつけておきましょう。
出典:xrpl.org
基本的なステップ
ペイメントチャネルを利用するための基本的な手順は以下の通りです。
※実際には、channelId
を確認する処理や署名・検証などが必要ですが、ここでは割愛しています。
このガイドではアリス
が受領者
、ボブ
が送金人
という設定で説明します。
チャネルの作成
まずはじめに、送金者がペイメントチャネルを作成し、初期資金をデポジットする必要があります。
以下は、送金者(ボブ)がペイメントチャネルを作成する例です。
チャネルへの資金追加
作成したチャネルには、新たに資金を追加することができます。
以下は、送金者(ボブ)がペイメントチャネルに追加する例です。
チャネルのクローズ
取引が完了したら、チャネルを閉鎖して最終的な残高をオンチェーンに記録します。
以下は、送金者(ボブ)がペイメントチャネルを閉じる例です。
まとめ
ペイメントチャネル(Payment Channel)は、迅速で低コストなマイクロペイメントを実現するための強力な機能です。
これにより、オフチェーンでの効率的な取引が可能になり、オンチェーンのトランザクション手数料を最小限に抑えることができます。
ペイメントチャネルの作成〜クローズ、資金追加方法などを理解することで、より柔軟な取引を実現できます。