【LN】channel.backup (SCB) が使えないパターンでチャンネル資金を回収する方法

【LN】channel.backup (SCB) が使えないパターンでチャンネル資金を回収する方法

Bitcoinを自分のウォレットで管理する際に最も重要なことと言えばニーモニック/秘密鍵のバックアップです。これさえあればウォレットをインストールしていたデバイスが物理的に壊れたり無くなったりしても、新しいデバイスで自分のウォレットを元通りに復元できます(Bitcoinすごい!)。

ところがLNノードでチャンネルを開くのに使ったBitcoinとなるとそうはいきません。チャンネルの実態は2つのノードが署名した2of2マルチシグアドレスであり、チャンネルを開くのに使った資金はこのアドレスにロックされています。

双方のノードがオンラインであればチャンネル閉鎖の手続きを行うことでロックを解除し、資金はチャンネルのキャパシティバランスで按分されて自分のウォレットに戻ります。相手がオフラインで自分がオンラインの場合はチャンネル強制閉鎖によって(通常の閉鎖よりも時間がかかりますが)資金を回収できます。

自分のノードが故障や紛失により操作不能となった場合はchannel.backup (Static Channel Backup: SCB) を使用することで相手のノードに強制閉鎖を依頼することができます。この性質上、channel.backupはチャンネルの開閉によって更新されるためその都度バックアップが必要です。手動でやるのはなかなか手間なので、いろんな方法で自動化する試みがありますね(私はBoSのTelegram連携で自動バックアップを取得しています)。

ではchannel.backupが無い場合はどうなってしまうのでしょうか。チャンネルに使ったBitcoinはGOX確定か…というとそんなことはありません。まだ望みはあります。

一つ目はチャンネルを繋いでいた相手に連絡を取り、強制閉鎖を依頼する方法です。channel.backupが自動的にやっていたことを人力でやるというわけです。人力でやるからには相手と何らかの方法でコミュニケーションをとる必要がありますが、相手が匿名ノードだったら…なかなか苦労しそうですね。ただ相手も常にオフラインなチャンネルを維持するインセンティブは無いですから、コミュニケーションさえ取れれば話は早そうです。

二つ目はUmbrel限定の方法となりますが、Umbrel開発者がクラウドに保存しているchannel.backupを送ってもらう方法です。この方法の体験記が既に投稿されています。

三つ目は相手に強制閉鎖されることを祈って待つ、です。とはいえ真面目なノード運用者であれば1週間もオフラインが続くようなパブリックチャンネルは強制閉鎖すると思われるので、あながち馬鹿にできない方法です。常日頃からちゃんと運用しているノードを見極めてチャンネルを張る必要があることがわかりますね。逆に自分のノードにオフラインが続くチャンネルがあるようならば遠慮なく強制閉鎖を検討しましょう。救われる人がいるかもしれません。

さて、ここからが本題です。上記の方法のいずれも相手のノードがチャンネルを強制閉鎖できることを前提とした方法です。したがって下記のパターンに当てはまる場合は資金を回収できないことを意味します。

  • 双方のノードが故障し、どちらもチャンネル情報(channel.db)を喪失した
  • 双方のノードは正常で資金はロックされているが、チャンネルが確認できない

このような状態のチャンネルはゾンビチャンネル(Zombie Channel)と呼ばれており、資金の回収には特殊な方法が必要です。

私はひょんなことから上記のパターンのうち後者に当てはまる事象に遭遇してしまい(その顛末はとても長くなるので別記事で公開予定です)、一時はGOXを覚悟しましたが無事に資金を回収できました。もしもの時のため、回収方法をシェアしておきます。

回収にはchantoolszombierecoveryというコマンドを使用します。この機能は利用者が少ないせいか2022年6月現在、公式のドキュメントもあまり整っていません。

chantoolsのインストール方法については既にYuya氏が記事にしていますのでこちらを参照してください(余談ですがこの記事を事前に読んでいたおかげでこの方法にたどり着けました、感謝です)。

Remaining : 3300 characters / 0 images
1,000

Sign up / Continue after login

Related stories

Writer

暗号資産エンジョイ勢。UmbrelでBTCノード運用中。

Share

Popular stories

【LN】 ルーティング手数料の概要と戦略

893

UmbrelでAliasを設定する

660

【LN】TunnelSatsでお手軽Hybridモード運用

303