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.
ビットコインプロトコルの修復時間の歪み攻撃の脆弱性 採掘難易度アルゴリズムが重大な更新を迎える可能性
ビットコインプロトコルにおける時間歪み攻撃の脆弱性解析
2025年3月26日、ビットコイン開発者はビットコインプロトコルに長年存在するいくつかの脆弱性と弱点を修正することを目的とした新しいソフトフォーク提案を提出しました。その中で、比較的深刻な脆弱性は「時間の歪み攻撃」と呼ばれ、これは本文で深く探討するテーマです。
ビットコインブロックタイムスタンプ保護メカニズム
時間歪曲攻撃について議論する前に、現在のビットコインネットワークにおける時間操作保護ルールを理解する必要があります:
中位過去時間(MPT)ルール:ブロックのタイムスタンプは、前の11ブロックの中央値の時間よりも遅くなければなりません。
未来のブロック時間ルール:ブロックのタイムスタンプは、ネットワークノードの中央値の時間よりも2時間以上早くなってはいけません。ノードの時間とローカルシステムクロックの最大許容差は90分です。
MPTルールはブロックのタイムスタンプが過度に遡及するのを防ぎ、将来のブロックルールはタイムスタンプが過度に先行するのを制限します。注目すべきは、過去のタイムスタンプを完全に防ぐために、将来のブロックルールに類似したメカニズムを実装することはできないということです。これは初期のブロックチェーンの同期プロセスに影響を与える可能性があります。タイムディストーション攻撃は、まさに古代のタイムスタンプを偽造する可能性を利用しています。
! ビットコインセキュリティ侵害:タイムワープ攻撃
難易度調整アルゴリズムの微小誤差
ビットコインの難易度調整周期は2016個のブロックを含み、10分の目標ブロック生成時間で計算すると約2週間です。マイニング難易度調整を計算する際、プロトコルは2016ブロックのウィンドウ内の最初と最後の2つのブロックのタイムスタンプの差を計算します。このウィンドウは実際には2015個のブロック間隔(2016から1を引いた数)を含みます。したがって、理論的に使用される目標時間は60秒 × 10分 × 2015個の間隔 = 1,209,000秒です。
しかし、ビットコインプロトコルは計算に2016という数字を使用しています。60秒 × 10分 × 2016 = 1,209,600秒。これにより、目標時間は実際に必要な時間よりも0.05%長くなります。言い換えれば、ビットコインの実際の目標ブロック間隔は10分ではなく、10分と0.3秒です。
この微小な差異は実際の運用においてはそれほど顕著ではありません。実際、ビットコインの誕生以来、平均ブロック間隔は約9分36秒に保たれており、明らかに10分を下回っています。これは主に2009年以降、ネットワークのハッシュレートが着実に増加しているためです。このため、最近の半減イベントは2024年4月に前倒しされ、元々予想されていた2025年1月ではなくなりました。
! ビットコインセキュリティ侵害:タイムワープ攻撃
タイムワープアタックの仕組み
時間歪曲攻撃は2011年頃に初めて発見され、難易度計算における一つの脆弱性を利用します。攻撃者はブロックのタイムスタンプを操作することで難易度調整に影響を与え、マイニング難易度を下げる目的を達成します。
攻撃手順は以下の通りです:
この操作はMPTルールに従っており、単一の異常値は11のブロックの中央値に影響を与えません。この方法で、ブロックチェーンの時間は徐々に実際の時間に遅れ、難易度の調整が行われます。攻撃者は難易度が大幅に下がった後に迅速に大量のブロックを作成し、大量のビットコインを獲得することができます。
! ビットコインセキュリティ侵害:タイムワープ攻撃
攻撃の実現可能性と課題
理論的にはこの攻撃は破壊的ですが、実施する際にはいくつかの課題があります。
! ビットコインセキュリティ侵害:タイムワープ攻撃
考えられる解決策
この脆弱性を修正する方法はいくつかあります:
難易度調整アルゴリズムを修正し、異なる2016ブロックウィンドウ間の時間間隔を計算し、"1不足"エラーを完全に修正します。ただし、これにはハードフォークが必要になる可能性があります。
MTPルールをキャンセルし、各ブロック内の時間が常に前進することを要求します。しかし、これにより時間が遠い未来に固定される可能性があります。
新しいルールの導入:新しい難易度サイクルの最初のブロックの時間は、前のサイクルの最後のブロックの特定の時間よりも早くないことが要求されます。現在議論されている時間範囲は10分から2時間まで様々です。
最新の提案では、開発者は2時間の制限を採用する傾向にあります。この時間帯は難易度調整周期の目標時間の0.6%に過ぎず、難易度の操作の余地を効果的に制限できます。
! ビットコインセキュリティの脆弱性:タイムワープ攻撃
まとめ
時間の歪み攻撃は、ビットコインプロトコルにおける潜在的なセキュリティホールを明らかにしました。この攻撃を現実に実行するには多くの課題があるものの、ブロックチェーン技術のセキュリティを常に注視し、改善する必要があることを私たちに思い出させます。新しいタイムスタンプルールを導入することで、ビットコインコミュニティはこの脆弱性を排除し、ネットワークの安定性とセキュリティをさらに強化するために努力しています。