2022年10月14日 3 min read

ライトニングノードの大半がチェーンを参照できない事案が発生

ライトニングノードの大半がチェーンを参照できない事案が発生
Photo by Ryoji Iwata / Unsplash

今週月曜日、突然Lndがビットコイン・ブロックチェーンの最先端を参照できなくなる事案が発生しました。今回は事件の概要、ライトニングノードへの影響、そして今後のライトニングノード運用方法への影響について見ていきます。

当問題はlnd v0.15.2へのアップデートで解決します。

事件の概要

とあるビットコインユーザーが、テストネットおよびメインネットにおいてTaprootの仕様例として998-of-999マルチシグトランザクションを配信しました。

あまりに近頃の手数料が安すぎて、25kvBあるトランザクションも数百円なんですね

TaprootのUTXOには使用時に所謂「通常の送金」と区別できないkeySpendという使用方法と、複数のスクリプトを埋め込むことができて使用したもののみ公開するscriptSpendという使用方法があります。今回はtaptreeに998-of-999マルチシグで使用できるスクリプトが含まれており、これを利用したscriptSpendトランザクションが発行されました。ちなみにTaprootにおけるscriptでは従来のBitcoin scriptにある10,000バイトまでというスクリプトサイズの上限は撤廃されています。

ところが、Lndが使用していたbtcd由来のライブラリの1つがこのスクリプトサイズ上限のTaproot対応を怠っていたため、上記のトランザクションを受信するとそのブロックを不正と判定してしまい、Lndから見たビットコイン・ブロックチェーンが進まない状態となりました。

もちろん、Lndのみのバグだったため、大半のビットコインユーザーは影響を受けていませんが、ライトニングノードのシェアで9割を超えるLndの不具合にライトニングネットワークには多少なり影響が出ました。

具体的な影響

ライトニングノードから見たチェーンが停止すると、次のような影響があります:

Great! You’ve successfully signed up.
Welcome back! You've successfully signed in.
You've successfully subscribed to ビットコイン研究所.
Your link has expired.
Success! Check your email for magic link to sign-in.
Success! Your billing info has been updated.
Your billing was not updated.