チャネルクローズでルール違反するとどうなるか試した2
チャネルクローズでルール違反するとどうなるか試したの続きです。
この記事では、「2-1. 相手がオフラインでWatch Towerを使っていない時」をやってみました。
2-1. 相手がオフラインでWatch Towerを使っていない時
ノードAがルール違反する側、ノードBがされる側です。
チャネルオープン
ノードAから50,000satsでオープンしました。
funding tx
LN送金
ノードAからノードBに30,000sats送金しました。
ここで、ノードBがオフラインになります。
ルール違反
ここでノードAがチャネルオープン直後の古い状態(状態1)でチャネルを強制クローズしました。
closing tx
ルール違反直後に各ノードでオンチェーンの残高を確認してみると、どちらのノードも残高が増えていませんでした。
しばらくして再度オンチェーン残高を確認すると、ルール違反したノードAに50,000sats(からオンチェーン手数料を引いた額)が返ってきていました。ノードBはLN送金で30,000sats受け取ったはずなのに、1satも回収できませんでした。
今回のパターンでは、ノードBがオフラインだったのでルール違反を見つけられず、チャネルの全資金を没収するためのjustice txはパブリッシュできなかったようです。
justice txがパブリッシュされないまま一定期間経過した後、closing txから資金が取り出されて、ノードAが状態1の残高をオンチェーンに回収できてしまったようです。
sweep tx
closing txから資金が取り出せるようになるまでの一定期間というのは、指定がない場合はチャネルサイズで決まるようです。yuyaさんの記事にありました。
https://spotlight.soy/detail?article_id=nt8ayxkbs
今回は、チャネルサイズが50,000satsで144ブロックでした。
node manegement アプリの表示
node manegement アプリ(Ride The Lightning, Torq, ThunderHub)で表示を確認したところ、該当のチャネルは消えていて、トランザクションの履歴もなく、ルール違反で資金を取られた痕跡は見つけられませんでした。
これだと知らない間に被害にあっている可能性もあるので心配ですね…
23年1月に確認した結果なので、今は改善されているかもせれません。
ライトニングネットワークでルール違反するとどうなるか試した、の記事はここまでです。
おまけ
今回の実験中に面白いトランザクションを見つけたので、有料部分で紹介したいと思います。
有料部分面白い! この作業コスト回収できるんですかねえ