LNノード(c-lightning)のメモ
先程あるスポットライターさんからLN決済をしようとするとエラーとなるという連絡がありました。以前も他のスポットライターさんから同様な連絡を受けることがあり、そのたびにLNノードのメンテナンスなどの対応をしていました。
前回は、あるノード経由での支払いをしようとすると、そのノードからの応答がなくタイムアウトするというものでした。そこで、そのノードとのチャネルを閉鎖したところ支払いが成功しました。
今回の場合は、支払い時のタイムアウトを延ばすだけで支払いが成功しました。そのときのログを確認したところ、支払いにかかった時間は約1分で、さらにその支払い時には複数のチャネルを経由して送金をするMPP(Multi-part Payment)による送金でした。その時の支払いは9個に分割されて送金されていました。以下の図はMPPのイメージです。大きな支払いは少額に分割して複数経路で送金するという仕組みですね。
LNの場合、送金者が送金経路を計算して送金し、失敗したら再度別ルートで送金するというトライ&エラー方式です。ネットワーク上のノードが大きくなればなるほどこの計算量も増えてくるので効率の良い計算方法が必要になってきます。
SpotlightのLNノードはc-lightining versionv0.9.0
なのですが、v0.9.1
ではMPPの改善がされているとのこと。検証をとりつつバージョンアップしていこうと思います。c-lightningの最新はv0.10.0
ですが、安定しているかどうかの検証も必要なため、あまりバージョンはあげたくないのがSIerの性です。普段は取引所にSegwitの対応を早くしろと言っていますが、いざ自分ごととなると保守的になってしまいますね笑
なにはともあれ、Spotlightのサービス向上に努めていきます。