Lightning node の運用まとめ
約1年間umbrelでノードの運用をやってきましたが、DHメソッドをきっかけにそこそこ健全なノード運用ができるようになったので、この数か月やってきたことをまとめました。ノード運用に行き詰っている人の参考になれば幸いです。
ノード名:katana🗡の紹介(2022/7/5時点)
- katana🗡 | 03328dba4e263835416d35b14a2f0298f567c6bb5dad7e3d33d671de30d542b4c1
- Public Capacity: 123,000,026 | Active Channels: 33 / 33 | Peers: 36 | DB Size: 2.668 GB
- 7-Day Routed: 138 | Value: 19,385,179 | Fees Earned: 612 [31] | Onchain Fees: 154 | Offchain Fees: 61 [6] | Percent Cost: 35% | Profit/Outbound: 12 [8] | Outbound Utilization: 43%
DHメソッドを2022年2月ごろから始めました。今年のルーティングはこんな感じです。
DHメソッドの効果、一目瞭然ですね。
事前準備
Umbrel にインストールしたソフト
- [必須]LNDg (Umbrel App Store)
- ThunderHub (Umbrel App Store)
- RTL (Umbrel App Store)
- [必須]charge-lnd
- BalanceOfSatoshi (Telegram bot)
-
- 手軽に状況確認できることはモチベーション維持に大事。
方針
- DHメソッドをメインに、ルーティングが流れるノードにする。
- LNBIGやWalletOfSatoshi、bfx-lnd0など、キャパシティがインバウンドに偏りがちなノードはfeeを500ppm程度に上げたうえで、200ppm程度でリバランスをしてアウトバウンドを確保する。
(DHメソッドではキャパシティが偏るノードはそもそも推奨されないので、閉じちゃえという話もあるのだが、LNBIGなどは費用を支払って開設していることもあり……。) - Failed HTLCs の Insufficient Balance を無くし、ノードを健全に保つ。
作業に必要なスキル
- Lightning node に関する基本的な知識。
- sshで自分のumbrelにログインできる。
- その他ごく基本的なlinuxの知識。ディレクトリやテキストエディタ、cronなど。
ノードに対して行った設定・対応
DHメソッド
- charge-lnd で適切なfee設定。
- https://github.com/diamondhands-dev/fee-policy
- Whitelist Blacklist でチャネルを吟味。
-
- https://docs.google.com/spreadsheets/d/1M-611-Qom-B7kyCY7JeJCanvaHAV1KXTrAP39_2k5r8/edit#gid=0
- ルーティング用の予算を0.1BTC以上用意し、WhiteListノードにチャネルを開設する。
- DHメソッドテスター間にトライアングルを作成する。
zerofeerouting max htlc setting
- zerofeerouting/charge.config
- https://gist.github.com/zerofeerouting/48082266eb05a183c8eeb22b3d9f983d
- メインのセッティングはDHメソッドなので、zerofee の htlcセッティングを、Non-final policies として設定ファイルの上の方に追加。
- https://github.com/katanaln/fee-policy/blob/main/charge.config
リバランス
- 各チャネルのfeeをcharge-lndで500ppmに設定。
- bfx-lnd0
- LNBIG.com [lnd-01]
- LNBIG.com [lnd-32]
- feeを500ppmにしたチャネルのリバランスをLNDgで設定。
-
- AR-MaxFeeRate:200ppm。200ppmでリバランス。
ノードを健全に保つ
- LNDg の Failed HTLCs で、 Insufficient Balance がないことを確認。
- Insufficient Balanceがある場合は、以下の方法で予防する。
- feeを上げる。(charge-lndで設定)
- max htlc settingを設定。(charge-lndで設定/zerofeeroutingの項目)
- Insufficient Balanceがある場合は、以下の方法で予防する。
インバウンドキャパシティを得る
- インバウンドキャパシティを買う。
- zerofeerouting
- LNBIG (もうお勧めではない。)
- amboss magma
- ライトニングトライアングル
- https://lightningnetwork.plus/
- DHトライアングル(DHメソッド)
- 有名ノードになってみんなからチャネルを開設してもらう。
DHメソッドをまだ試していない人は是非一度挑戦してみてください。私よりもっとうまく運用出来ている人もいますよ。
基本はcharge-lndでやって、偏るのだけLNDgのリバランス機能で面倒を見るっていいですね。
マネしよ。