2021年10月21日 2 min read

Package Relayの導入がライトニングの弱点を改善

Package Relayの導入がライトニングの弱点を改善
Photo by Aron Visuals / Unsplash

ビットコインのソフトウェアは常にアップデートされています。目立つのはコンセンサスに関わる変更-ハードフォークやソフトフォークと呼ばれるもの-ですが、その頻度は非常に低いためあまり積極的に開発されているイメージは強くないかもしれません。しかしながら、それ以外の部分でも重要な改善が加えられています。

たとえばBitcoin Coreのフルノードの同期はサイズの割に高速ですが、これもノードの挙動をアップデートし最適化し続けている成果です。また、ポリシールールという、コンセンサスには影響しないがノードの挙動を決めるルールがあり、ネットワーク関連の機能に使われることが多いです。

今日はポリシールールとして近い将来に導入されるであろう"Package Relay"というトランザクションの伝播に関わる新しい仕様と、それがライトニングやDLCにとってどのような問題を解決するのかについて説明します。

メモリプールとトランザクションのリレー

ビットコインの手数料を意識したことのある方にとってメモリプールというものは馴染み深いものかもしれません。一応説明すると、フルノードが他のノードからまだブロックに取り込まれていないトランザクションを受け取った際、一時的にメモリに保有しているのがメモリプールです。

メモリプールには大量の安価なトランザクションを送りつけられてメモリを食いつぶされるというDoS攻撃を防ぐために容量の上限があり、既定値として300MBが一般的です。ではメモリプールが一杯になった場合にその後受信したトランザクションがどうなるかというと、メモリプールと比較して一番手数料の低いものが削除されます。

したがって、送金が詰まって満杯になったメモリプールに残った一番安いトランザクション手数料が10 sat/vbyteだった場合、手数料がそれ未満のトランザクションはたとえ伝播されてきても無視されます。

ライトニングやDLCに共通の弱点:時間制限

昔ならこれはそれほど問題のあることではありませんでした。せいぜい手数料が低すぎて承認されなかったトランザクションがネットワークから消えてしまうくらいで、それ以前でもより高い手数料を設定すればメモリプールに入れることができるからです。

しかし、今のビットコインにとって無視できない新しい種類のトランザクションがあります:ライトニングチャネルに関連するトランザクションです。

特にライトニングチャネルに関して問題になるのが、チャネルごとに更新しながら保持しているいくつかの(未公開の)ビットコイントランザクションの手数料水準です。ライトニングのセキュリティモデル上、これらのトランザクションを互いに持ち合っているのみならず、「相手の裏切りへの対応として公開する必要があった場合、制限時間以内にブロックに取り込まれること」が必須となっています。しかし、オンチェーンの手数料水準が急騰した場合にこれらのトランザクションを作成したとき指定した手数料が不十分となることがあります。

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.