LNDでLoutingNode
Lightning Networkでlouting nodeをやろうと思ったら、ハードルは高くなる。
ルーティングの概要と、いくつかの基本的なlndオプションとパラメーター、およびそれらがルーティングノードオペレーターに適用される方法をまとめる。
ルーティングノードになると、少しはお金が稼げたりする。かなり複雑なオペレーションを必要とするので、まだまだ参入障壁は高い。
ルーティングノードとはなにか
lightning networkにおいて、bitcoinを資本として、支払いのroutingを担当できるnodeのことだ。
たくさんのbitcoinを保持して多数のチャンネルを設定するノードと、少額のbitcoinしか保持しないノードがあるが、いづれにしても高い可用性が必要となる。
だからGKEを使うのが現実的だと書いた。
必要なもの
これが多い。列挙する
1. 資本力(Bitcoin)
2. 高い可用性を実現できるインフラ
3. 一般的なbitcoinセキュリティを操作の知識
4. lightningのshellによる操作スキル
しかも、上記をすべてクリアしても、適切なチャネル配置が必要で、それをクリアしても収益性は見込めない。5重苦だな。
追加オプション
LNDの立ち上げかたの記事はわりとある。それらに加えて、louting nodeでは必要なオプションがいくつか増える。
-externalip-
ルーティングノードは、外部のインターネットから接続できないといけないので、このオプションが必要になる。
重要な点は、ポート9735(Lightning NetworkのデフォルトのP2Pポート)に外部からアクセスできる必要があること。
GUIDE TO NETWORKING FOR LNDが詳しいので、後ほど和訳する。
-minchansize -
最小の接続先nodeのBTC保有率を指定することができる。最初は20$程度が推奨される。
–lnddir -
-lndがデータベース、ログ、マカロン、およびノードに関連するその他のデータを保存する場所を決定するlndベースディレクトリを指定する。
-tlsextradomain、-tlsextraip-
デフォルトのTLS証明書はlnd、localhostからのRPCおよびREST接続のみ許可する。
他のマシンからの接続を許可する場合は、これらのフラグを使用して、lndノードへの接続を許可する追加のドメインまたはIPアドレスを指定する必要がある。
-profile-
プロファイリングを有効にする。
これは、ノードが正常に実行されていない場合のパフォーマンスのボトルネックを特定するのに役立ちます。引数は、メトリックをサーバープロファイルするポートにする必要がある。
-unsafe-disconnect-
デフォルトでは、LNDはチャンネルの切断を許可しない。切断と再接続によりバグが解消されることもあるので、これを有効にすると良い。
運用
ノードを立ち上げたら動作確認が必要だ。まず、チャンネルが動くこと、次に、ハードウェアとネットワークが正常なこと、双方を確認しなければいけない。
updatechanpolicy-
チャンネルの設定を色々行うことができる。time_lock_delta
でnode間裏切りがあった場合のしめきり時間を設定でき、base_fee_msat
はfee rateを決定できる。しょっちゅうこのパラメータを更新すべきではない。それをやりすぎるとnodeのscoringが下がる。
describegraph-
ネットワークに存在するnodeをリスト表示することができる。接続すべきnodeを発見したり、現在存在するnetworkの課題を発見したりするのに役立つ。
listchannels
チャネルの状態とバランスを確認するために使用する。
feereport-
獲得した料金を表示する。一番おもしろいやつ。
一旦ここまで。routing nodeを運用しようとすると、lightning networkの全容が見えてくる。