This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
BTCプロトコルのタイムワープ攻撃の脆弱性:開発者が防御計画を提案
ビットコインプロトコルにおける時間歪み攻撃の脆弱性
ビットコイン開発者Antoine Poinsotは2025年3月26日に新しい改善提案を提出しました。この提案は、ビットコインプロトコルに長年存在する複数の脆弱性や弱点を修正することを目的としています。この"大共識清理"と呼ばれるソフトフォーク提案は、以前に議論した重複取引の問題を解決するだけでなく、より深刻な脆弱性である"時間歪み攻撃"に対する解決策も提案しています。
! ビットコインセキュリティ侵害:タイムワープ攻撃
ビットコインブロックタイムスタンプ保護メカニズム
時間の歪み攻撃を検討する前に、現在のビットコインプロトコルにおける時間操作保護ルールを理解する必要があります:
中位過去時間(MPT)ルール:ブロックのタイムスタンプは、前の11個のブロックの中央値の時間よりも遅くなければなりません。
将来のブロック時間規則:ブロックのタイムスタンプはノードのピアの中央値の時間を2時間以上超えてはならず、ノードの時間とローカルシステムクロックの最大許容差は90分である。
これらのルールの目的は、ブロックのタイムスタンプが実際の時間から大きく逸脱するのを防ぐことですが、初期のブロックチェーンの同期を考慮する必要があるため、過去のタイムスタンプを完全に禁止することはできません。
! ビットコインセキュリティ侵害:タイムワープ攻撃
サトシ・ナカモトの計算誤差
ビットコインの難易度調整周期は2016個のブロックを含み、理論的には約2週間の時間です。しかし、マイニング難易度調整を計算する際、プロトコルはあまり正確ではない方法を使用しました。それは2016ブロックウィンドウの最初と最後のブロックの間のタイムスタンプの差を計算しますが、実際には2015個のブロック間隔を計算すべきです。これにより、目標時間が本来の0.05%長くなり、ビットコインの実際の目標間隔は10分0.3秒となり、正確な10分ではありません。
この微小な誤差は実際の運用ではそれほど顕著ではありません。ビットコインの誕生以来、平均ブロック間隔は常に10分未満であり、これは主にハッシュレートの持続的な増加によるものです。
! ビットコインセキュリティ侵害:タイムワープ攻撃
タイムワープ攻撃の原理
時間歪曲攻撃は、中本聡の難易度計算におけるこの誤りを利用します。攻撃者はブロックのタイムスタンプを操作することで、プロトコルルールに従った状態で、ブロックチェーンの時間を徐々に実時間よりも遅らせることができます。具体的には、攻撃者は次のようにします:
この操作は、2回目の調整サイクル後に難易度が下降し始める原因となり、攻撃者が非常に速い速度でブロックを生成し、大量のビットコインを獲得できるようになります。
! ビットコインセキュリティ侵害:タイムワープ攻撃
攻撃の影響と実現可能性
理論的には、この攻撃は深刻な結果をもたらす可能性がありますが、実施には多くの課題があります:
ソリューション
この脆弱性を修正するために、ポワンソの提案は、新しい難易度調整周期が始まるたびに、最初のブロックのタイムスタンプが前の周期の最後のブロックのタイムスタンプから2時間以内であることを要求することを提案しています。このシンプルなルールは、難易度が操作される程度を効果的に制限しつつ、正常なネットワークの変動に適応するための十分な柔軟性を保持します。
この修正案は、他の可能な解決策(例えば、難易度調整アルゴリズムの完全な改訂やMTPルールの廃止)に比べて、よりシンプルで保守的であり、意図しない無効ブロックのリスクを最小限に抑えつつ、時間歪み攻撃を効果的に防ぐことができます。
! ビットコインセキュリティの脆弱性:タイムワープ攻撃