HODL Invoiceの逆襲
みなさんビットコインHODLしてますか?
今年はさらにATHを更新しそうな予感がするビットコインですが、レイヤー2のライトニングネットワークにはHODLインボイスと呼ばれる送金方法があります。以前の記事で紹介したことがありますが、HODLインボイスはビットコインの送金時に受取り側が受理するかを選択できるという特殊なインボイスです。通常のライトニング決済ではインボイスに対して送金すると自動的に決済が完了します。しかし、HODLインボイスの場合は受取り側がアクション(受理か拒否)を起こすまで送金がペンディング状態となります。
この仕組みを活用したサービスには、最近ローンチしたPaddleやRedditのlntipbotがあります。lntipbotは最近初めて知ったのですが、テレグラムのlntxbotに近いカストディアル型のウォレットです。ただしHODLインボイスを取り入れていることがユニークだと思い今回紹介してみます。
lntipbotでは、投げ銭をしたいユーザーへ対して、!hodltip とコメントをすると、以下の流れで送金が行われます(送金者をアリス、受信者をボブ、lntipbotをbotとする)。
- アリスはボブへ !hodltip <amount> とコメントすると、HODLインボイスが生成される
- アリスはそのインボイスへ送金する(この時の送金は保留状態)
- botはボブへ<amount>以下のインボイス生成を要求する
- ボブは外部ウォレットでインボイスを生成し、botへ返信する
- botはボブのインボイスへ送金し、2.でペンディングされている送金を受理する
上記の流れでは、botが送金を仲介していて、5でのエスクローに信用が必要です。しかし、特筆すべきことは、残高管理をしなくてもよいという所です。残高管理って結構大変なんですよね。できればしたくないです。このHODLインボイスを活用すれば残高管理のない投げ銭サービスが作れそうですね。ただし、この仕組みでは、いちいちボブがインボイスを生成しないといけないので面倒です。
もしウォレットではなくLNノードを運用しているユーザーであれば、3のインボイス生成の要求に対して自動でインボイスを生成するスクリプトかBotを作れば自動化はできそうですね。それでもアリスは投げ銭ごとにウォレットを使う必要があるので、UX的にはやはりカストディアルな残高管理があるほうがシームレスです。
Spotlightでもこのような仕組みを取り入れようかなと思いましたが、それよりかは日次バッチ処理で当日貯まった残高をオンチェーン送金するほうが個人的にはうまく機能するかなと思っています(それはカストディアルだ、と言われれば終わりですが...)
以上、HODLインボイスを活用したlntipbotの紹介でした。