今週、比較的ポピュラーなノンカストディアルライトニングウォレットの1つであるZeusがバージョン0.8をリリースし、様々な機能が追加されました。
Our embedded node, LSP, and self-custodial lightning addresses are now available for everyone to test.https://t.co/3BwkXmM4bM pic.twitter.com/TeEalTjRkR
— ZEUS (@ZeusLN) October 23, 2023
その中に非同期ペイメントの受け取りという機能があり、賛否両論を呼んでいます。非同期ペイメントとは送金者・宛先のどちらかがオフラインでも送金が可能になる(オンライン復帰するまで仮決済状態になる)という機能で、ライトニングのUXを改善するものですが、なぜ否定的な意見があるのでしょうか?
それには非同期ペイメントを実現する方法が関係しています。否定派の1人、Matt Corallo氏は以下の指摘をしています:
Don’t use this.
— Matt Corallo (@TheBlueMatt) October 24, 2023
Holding HTLCs for 24 hours is incredibly toxic to the network and relying on that hurts routing nodes. https://t.co/AyKN4loqYu
「最大24時間もの間、未決済のHTLCがネットワークに滞留する機能が広く使われるとライトニング送金のルーティングに悪影響を与える恐れがある」という指摘です。これに対して、最近輝いているSuper Testnet氏は以下のように反論しています:
It's fine to use long-duration htlcs with nodes that *want* to. My node intentionally charges extra for long-duration htlcs, precisely to provide this service. If you don't want yours to do this, you can lower your max-cltv-expiry in LND's config file. https://t.co/SkmXEFLvUw
— Super Testnet (@super_testnet) October 24, 2023
「資金の拘束時間を加味して手数料を課したいノードがそうすることは別に問題ないではないか」という意見で、こちらもごもっともに感じます。
今日はこの議論を理解するための背景知識としてZeusが非同期ペイメントに使うLSPと"Hodl Invoice"と呼ばれる技術について、かつて日本国内でライトニングの非同期支払いを活用したプロダクトを開発した経験から解説します。
・ライトニング送金と非同期支払いの難しさ
・Hodl InvoiceとLSPによる非同期支払いのアーキテクチャ
・膨大な数のHTLCはネットワークを詰まらせる可能性がある
・Hodl Invoice自体のUXもあまり良くない
・まとめ