HodlインボイスがLNを舞台裏で支える | カストディを防ぐライトニング随一の「裏ワザ」とは
ちょうど今日、AlbyからSatoshi's Auction HouseというHodlインボイスを使ったノンカストディアルなオークションサイトのローンチがアナウンスされました。Hodlインボイスはクレジットカードでいう「仮決済」のような状態で一定期間留め置かれるライトニング送金のことをいいます。
このコンセプトにピンときた読者もいらっしゃるかもしれません。そう、私が2021年の初めに公開したオークションサイトpaddle.bidと同じコンセプト、そして仕組みになっているようです。

Paddleの開発・運営を通してHodlインボイスの短所について考えることが多々あり、結果的には継続する意味がないと判断し閉鎖に至りました。
長時間のHodlインボイスは多くの問題を抱えている反面、短時間のHodlインボイスはライトニングネットワークにとってなくてはならない存在になりました。Boltzなどのアトミックスワップ系のサービスで広く利用されています。
今日はそんなHodlインボイスについて、基本的な仕組みからネットワークでの使われ方まで説明し、ライトニングの技術がどのように応用されているか紹介させていただきます。
・Hodlインボイスの仕組みと特長
・短時間のHodlインボイスはスワップサービスなどで活用され、ノンカストディアルなライトニング利用に貢献している
・長時間のHodlインボイスはデメリットが上回り、滅多に使われない
Hodlインボイスの仕組みと特長
Hodlインボイスについては2019年に本稿で解説しています。当時は「ライトニング送金をオフラインのユーザーも受信できるようにする」方法の1つとして、中間ノードが送金の中継を一定期間保留する「Lightning Rod」という技術が提案されていました。
Lightning Rodが提案されたときの記事
結果的にこの後、いわゆるLSP型のライトニングウォレットにおいてHodlインボイスを使ったオフライン受金ができるものが多くなりました。例えばPhoenix WalletやBreez、Zeusなどが該当します。
ライトニング送金において、すべての送金は最初に「送金を受け取るユーザー」がプリイメージ(Preimage)と呼ばれる秘密データを生成し、そのハッシュ値を含めたインボイスを送金者に伝達します。送金者は受金者までの経路を選択し、実際の送金はバケツリレーのようにこの経路を伝って受金者までたどり着きます。

受金者にたどり着くまでの送金はすべて先述の「Preimage」によってロックされているため、最終的に受金者がビットコインを受け取るにはPreimageを直前のノードに伝える必要があります。このようにPreimageが最終的に送金者まで伝わったら、送金者にとって送金が完了します。

このとき、受金者がすぐさまPreimageを伝えて送金を決済せず、例えば在庫を確認したり、何らかの行動を取る間一時的に決済を保留すること(あるいは、その目的で発行されたインボイス自体)を「Hodlインボイス」と呼びます。実はLNの正式な仕様ではなく、発想の転換、あるいはハックとも呼ぶべき工夫です。
大きなメリットとしては、もし何らかの理由で決済したくない場合は受金者はそのまま「キャンセル」して送金者に返金することができます。Preimageではなくキャンセルが返ってきた場合は、中継ノードもキャンセルを伝達し、送金がすべて巻き戻されます。このとき、一切手数料がかからないという特徴もあります。
短時間のHodlインボイスはスワップサービスなどで活用され、ノンカストディアルなライトニング利用に貢献している
私たちは普段意識していませんが、Hodlインボイスは年々使用される頻度が高まっていると思われます。なぜなら、近年増加している「ライトニングウォレットだが、ユーザーの資産はLiquid NetworkやSpark、Arkなどライトニングチャネルではない場所に存在する」形のウォレットがほぼ例外なく採用しているBoltzというスワップサービスが利用しているためです。
Breez Nodeless, Wallet of Satoshi - Self Custody Wallet, AQUA, ArkadeなどのウォレットでLN経由で受け取るとき、Hodlインボイスが使われているのです。
ユーザー資産はLiquid Network上にあるライトニングウォレットについての記事
その大きな理由として、プリイメージとそのハッシュ値を使ってロックされる仕組みがアトミックスワップを行う上で非常に扱いやすいことと、Hodlインボイスをキャンセルした場合は即時、手数料無料で返金ができることが挙げられます。
今後も多くのウォレットでLNとの接点がいわゆるSubmarine Swap(LN↔チェーンのスワップ)になっていくにつれ、この傾向はますます強化されるでしょう。Hodlインボイスはカストディ型のウォレットを使うよりは自己主権性が守られるビットコインの使い方を多くの人に広げています。
長時間のHodlインボイスはデメリットが上回り、滅多に使われない
一方で、長時間滞留するHodlインボイスはネットワークにとって害になります。Hodlインボイスが決済またはキャンセルされるまで、その送金が経由するチャネルすべてで送金の中継に使える流動性は減少し、また偶発的なチャネル閉鎖につながる可能性も送金にかかる時間が長い分だけ上がってしまいます。
実際に、ライトニングウォレットのZeusと(今はなき)Mutiny Walletの間の送金の多くが、ZeusのHodlインボイスの扱いとMutinyの仕様の相性の悪さによってチャネル閉鎖につながった事件があり、オンラインで論争を巻き起こしました。
その当時も、本稿でHodlインボイスのデメリットについて解説しています。
Hodlインボイスのデメリットについて解説した記事
まとめ
このように、Hodlインボイスは非常に便利なテクニックとして使われていますが、長時間のものほど負の側面が大きくなってしまう特徴があります。Paddleでは最長で数日のHodlインボイスも扱っていましたが、冒頭で紹介したSatoshi's Auction Houseは今のところオークションの開催期間を数時間に限定しているようです。
送金者のウォレット側でHodlインボイスが意図的なものなのか、それとも普通の送金が途中で引っかかっているのか判断できないこともUX面での課題になっており、中継ネットワークへの負の影響とあわせて、Hodlインボイスは数秒程度でなければ事実上使わないほうがいいと私は考えています。
ライトニングならではの取り組みなので、Satoshi's Auction Houseがどんなアイデアを仕掛けてくるかは興味を持って見ていきたいと思います。ノンカストディアルな形で入札できることは、オークションサイトに求められる価値としては3番手以下なのが実情だとは思いますが…。(多数の入札者がいること、出品者が信用できることが圧倒的な1位2位なのではないかと思います)
オークションというテーマに関連して、PSBTを使ったOrdinal Inscriptionsのオークションについての記事も合わせてご覧ください。
次の記事
読者になる
一緒に新しい世界を探求していきましょう。

ディスカッション