LNDgでルーティング情報を探す
BTCのフルノードを建てLNのルーティングに参加すると初期のうちはルーティングが全然発生しなくて困った状況になりやすかった記憶があります。しかもそれに対してどう対策をとったら良いのか分からず、例えばフルノード管理アプリのRide The Lightning(LN)はルーティングした場合の結果は出ますが、ルーティングが発生しなかったら何も起こりません。空気のように何も見えないのです
LNDgには手軽にルーティング情報を見る方法があります。LNDgについては以前自動リバランスの簡単な使い方を紹介しました。自動リバランスはアウトバウンドキャパシティを補充する上で有用なアプリです。
今回はLNDgにある機能のFailed HTLCsを元にルーティングを発生させる手がかりを探す方法を紹介します。ただしこれは私個人の見解で、これで余裕でルーティングが発生するとは限りませんことをご理解ください。
Failed HTLCs
これがLNDgのFailed HTLCsです。ルーティングを試してみたけど失敗しました、という結果を表示しています。
見方を簡単に説明すると、
①のノードから流れてきて、
②のノードへ流れていく。
③はその際の送金額
④はその時の②の残っていたアウトバウンドキャパシティ
⑤はその時にルーティングしていたら得られたはずの手数料
⑥は失敗の詳細
オレンジ色の枠で囲まれた失敗ルーティングは単純にzero fee routingノードのアウトバウンドキャパシティ不足だというのが分かります。リバランスすればルーティングする可能性大
inmarket.comからnu.jpへのルーティングが失敗したのが手数料不足です。これは送金者がケチだったのか私のfee rateが高かったのか、はたまた後続のノードが山賊並の通行料を取ろうとしていたのか。。(この辺の判断がよく分かりません)
赤枠の失敗例は少し面白く、送金額が94,594satsです。この時のzero fee routingの残っているアウトバウンドキャパシティは126,614sats。これなら送金に足るアウトバウンドキャパシティがあるように見えます。この時のチャネル一覧を見ると、
一番上のチャネルがzero fee routingでアウトバウンドキャパシティは有るには有ります。
2021年のDHのテレグラムで時々話題になっていた1%リザーブのためにルーティングに関与することができなくなっていたという訳です。
1%リザーブとはチャネルを開いたらそのキャパシティは全部使われず、1%分は残される仕組みです。ここでのzero fee routingを例にとると1000万satsでチャネルを開いているので10万satsは使わないようにロックされます。(ルーティングに使えない)
結論としてzero fee routingをリバランスすればルーティング発生の可能性大ということを示唆してると思います。
Failed HTLCsはキャパシティ不足によるルーティング不可を教えてくれるのが本来の用途だと思いますが、見方を変えればルーティングのきっかけを探す手がかりにもなれるはずです。
送金額とチャネルの大きさについて
ルーティングで流れている送金額を見ると100,000sats未満もあれば100万satsくらいの送金もあります。大きいチャネルを開けば全ての送金を中継して手数料を得ることができますが。大きいチャネルを開くためにはBTCも多く用意する必要があり、手軽に気軽にルーティングを楽しむことが難しくなります。
ただこのような少数量の送金もあり、プライバシーとかあるので難しいですけどLNDgが出した結果をシェアできれば面白そうな気が。。
おまけ
LNDgには現在開いているチャネルに合わせて「あなたへのおすすめ」ノードを提案してくるNew Peersというものがあります。このおすすめノードを開いたらルーティングが増えるかもよ?、とちょっと怪しいですがルーティングの前後から割り出して提案しているような気がします。
とりあえず現在のチャネル構成に対してのNew Peersを見てみると、
5つ提案されています。各パラメータには意味があるんだと思いますがあまり深く考えたことがなく、Successful Payments Routedの数値が大きいやつがいいんだな程度にしか見ていません。
この提案ではナイスハッシュの数値が一番大きいのでたぶんナイスハッシュなのでしょう。ただナイスハッシュはくせのあるノードなのでちょっと難しいと最近思ってます
参考までに
ルーティングの失敗例を深く考え込むのなら過去にMarimoxさんが出していた記事が勉強になります。
fee insufficientは送金者が持ってるfeeの情報と実際のfeeに乖離があった時に起きますね。
fee設定を変えた直後で、その設定変更がネットワーク中に伝播しきってない時に起きる印象です。