ビットコインのライトニングウォレットBreezを使っていましたが、先月の初めにチャネルがクローズしていることに気づきました。
この記事では、Breezウォレットのチャネルが強制閉鎖された場合に、残高をオンチェーンのビットコインウォレットに取り戻す方法についてまとめています。
同じくチャネルの強制閉鎖で困っている方は、まずは「2 Breez公式ヘルプに記載の手順」を試してみてください。
解決しない場合、「3 Breezサポートチームより指示された手順」を試していただくと、うまくいく可能性があります(「3」の手順はより時間がかかります)。
チャネル閉鎖までの経緯
実はチャネル閉鎖に気づく1〜2ヶ月前から、Breezから資金を引き上げるために出金を試していました。
しかし、44,000Satsほどの残高があるにもかかわらず、送金画面ではなぜか残高不足(数百Satsしか出金できない)と表示されるのです。
流動性不足だったのでしょうか?数週間おきに出金を試そうとするも状況は変わらず、ついにチャネルが閉鎖されてしまいました…
アプリ内の残高は「0」となり、「Pending」部分をクリックすると次の案内が。
Pending Closed Channel:Waiting for closed channel funds to be transferred to your local wallet.
(閉鎖された資金をローカルウォレットに移動中です)
うーん・・・これはもう、待つしかない感じ?
Breez公式ヘルプに記載の手順
Breezのチャネル閉鎖とその後の流れに関しては、公式ページに記載があります。
Channel Closures|Breez Knowledge Base
ヘルプによれば、チャネルが強制的に閉鎖された場合でもユーザーは資金を失うことはなく、通常は約24時間で資金はオンチェーンウォレットに移行されるとのこと。
移行が完了すると、ウォレットの画面右上に警告アイコン(⚠️)が表示され、クリックすると任意のビットコインアドレスに送金するための画面が表示されます。
もし数日経過しても警告アイコン(⚠️)が現れない場合、処理が失敗して進んでいないことが考えられるため、以下を試します。
最新の履歴の「Pending」をタップ
最新の履歴「Closed Channel」部分の「Pending」も文字をタップします。

「Refresh Information」をタップ
次の画面で、しばらくグルグルと回転する表示が現れます。
それが消えると「Refresh Information」の文字が現れるので、タップします。

「EXIT BREEZ」をタップ
「EXIT BREEZ」をタップします。これで一度、アプリが閉じます。

Breezを再起動
Breezアプリを再度起動します。
最低15分間アプリを起動しておく
その後、アプリを最低15分間起動したままにしておき、ビットコンネットワークと同期させます。
この時の注意事項として、「アプリを全面に出した状態で」「画面がスリープしないように」しておかなければなりません。
通常は上記の手順で同期が進み、資金が戻るはずです。
画面右上に警告マーク(⚠️)が表示されていたらうまくいっている証拠です。警告マークをタップして、任意のビットコインアドレスに残高を送金しましょう。
この手順を試しても資金が戻らない場合は、サポートにメールで問い合わせることになります。
Breezサポートチームより指示された手順
私の場合、上記の手順を2回ほど試しましたが資金は戻りませんでした。
そのまま1ヶ月近くが経過… 44,000Satsは「大金」というほどではないものの、諦めるには惜しい額です。そこで昨日、ようやく重い腰を上げてサポートに問い合わせました。
問い合わせ先のメールアドレスは以下のページに記載があります。
Channel Closures|Breez Knowledge Base
チャネルが閉鎖されたことと、その時点の残高がわかるスクリーンショットを添付して問い合わせるとスムーズです。
Breez公式ヘルプページの手順を試しても資金が戻らない旨を伝えたところ、次の手順を教えてもらいました。
Preferencesをタップ
画面左上のウォレットマークより進み、メニュー一番下の「Preferences」をタップします。

Developersを選択
「{ } Developers」をタップします。

右上のドットをタップ
画面右上のドットをタップします。

Recover Chain Informationを選択
表示されるメニューより、「Recover Chain Information」を選択します。

EXIT BREEZをタップ
「EXIT BREEZ」をタップして、一旦アプリを閉じます。

Breezを再起動、同期完了を待つ
再度Breezアプリを起動し、稼働させたままネットワークとの同期完了を待ちます。
画面右上、くるくる回る表示をタップすると進捗がパーセンテージで表示されます。

同期中は必ず、アプリを前面に表示したままにしておく必要があります。
バックグラウンドになるとプロセスが中断され、最初からやり直しとなってしまうため気をつけましょう!

さらに同期が100%に達した後も、画面右上に警告マーク(⚠️)が表示されるまで、アプリを閉じてはいけません。全面に表示したまま待機します。
Androidユーザーの場合、端末がスリープしないよう「Stay Awake」系のアプリをインストールしてください。iOSユーザーの場合は、設定から「自動スリープ」をオフにしてください。
画面右上の警告アイコンをタップ
処理が完了すると、画面右上に警告アイコン(⚠️)が表示されます。

このアイコンをタップすると「Unexpected Funds」画面に遷移し、残高を任意のBTCアドレスに送信することができます。
任意のビットコインアドレスを入力
資金を移行させたいオンチェーンのビットコインアドレスを入力し、「NEXT」ボタンをタップします。

手数料を選択して確定
最後に手数料を選択し、「CONFIRM」ボタンをタップすると出金できます。

以上でBreezからの送金作業は完了です!
指定のウォレットに着金するのを待ちましょう。
おわりに
実際にメールで指示された復旧作業をやってみたところ、同期開始から送金作業まで、合計で2時間半程度かかりました。
同期中はアプリを前面で開きっぱなしにする必要があり、その間はスマホを使えない(全く使えないわけではないが、同期が止まってしまう可能性があるため使わない方が良い)ため、時間に余裕のある時に作業するのがおすすめです。

また、アプリを開きっぱなしにしていても同期に失敗することはあるようです。
実は昨夜、寝る前に20%まで同期した状態で、画面がスリープにならないよう設定した上で眠りにつきました。寝ている間に同期が完了していれば楽でいいやと思ったのですが、朝起きて確認したところ… なんと、同期は20%のまま止まっていました…
あまりに同期が進まない場合は失敗している可能性があるため、一旦停止して最初からやり直した方が良いでしょう。
私の場合、最終的に成功した際の所要時間は、同期完了に1時間強、警告マーク(⚠️)が表示されるまでに1時間強、といった感じでした。
ただしサポートから受け取ったメールには、「同期完了後も一晩中、充電したままアプリを開きっぱなしにしておくように」と書かれており、もっと時間がかかる場合もあるのかもしれません。
参考になれば幸いです。

