# ビットコインプロトコルのタイムワープ攻撃の脆弱性2025年3月26日、ビットコイン開発者はビットコインプロトコルに長年存在する複数の脆弱性と弱点を修正することを目的とした新しいソフトフォーク提案を提出しました。その中で比較的深刻な脆弱性は「時間の歪み攻撃」と呼ばれ、この記事ではこれについて詳しく探討します。## ビットコインのタイムスタンプ保護メカニズム時間歪曲攻撃について議論する前に、ビットコインの現在の時間操作保護ルールを理解する必要があります:1. 中位過去時間(MPT)ルール:ブロックのタイムスタンプは前の11ブロックの中央値の時間よりも後でなければなりません。2. 未来のブロック時間ルール:ブロックのタイムスタンプは、ノードのピアの中央値の時間よりも2時間以上進んではいけません。これらのルールは、ブロックのタイムスタンプが実際の時間から大きく逸脱するのを防ぐことを目的としていますが、いくつかの抜け穴が依然として存在します。! [ビットコインセキュリティ侵害:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-aa8abf74d491995c6a26218fdae94a29)## 中本聡の計算ミスビットコインの難易度調整周期は2016個のブロックを含み、約2週間の時間です。マイニング難易度調整を計算する際、プロトコルは関連する2016ブロックウィンドウ内の最初と最後のブロックのタイムスタンプの差を計算します。しかし、中本聡が設計した際に小さな間違いを犯しました:彼は目標時間を計算するために2016を使用し、2015ではなく、結果として目標時間が実際に必要な時間よりも0.05%長くなってしまいました。このエラーにより、ビットコインの目標ブロック生成時間は実際には10分0.3秒となり、正確な10分ではありません。この誤差は一見無視できるように見えますが、時間歪曲攻撃の可能性を生み出します。! [ビットコインセキュリティ侵害:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-84e76f095ac839f76d2ca1240f644337)## タイムワープアタックの仕組み時間歪曲攻撃は、中本聡の難易度計算における誤りを利用します。攻撃者はブロックのタイムスタンプを操作することで、ブロックチェーンが時間的に遅く進むようにし、同時にMPTルールに適合させます。具体的な手順は以下の通りです:1. 大多数ブロックについて、タイムスタンプを前のブロックの1秒前に設定します。2. 6つのブロックごとに同じタイムスタンプを保持し、その後次のブロックで1秒を追加します。3. 各難易度調整サイクルの最後のブロックで、タイムスタンプを実世界の時間に設定します。4. 次の周期の最初のブロックのタイムスタンプが再び過去に戻ります。この攻撃は、ブロックチェーンが実際の時間からますます遅れる原因となり、難易度も増加し続ける。しかし、2回目の調整サイクルの後、難易度は下向きに調整され始め、攻撃者は非常に速い速度でブロックを作成でき、potentially大量のビットコインを生成することができる。! [ビットコインセキュリティ侵害:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-21f436beb58cee5eac9817dfd8cf127a)## 攻撃の実現可能性と制限理論的にはこの攻撃は壊滅的ですが、実際に実施するには多くの課題があります:1. 大部分の計算力を制御する必要があります。2. 正直なマイナーの存在は攻撃の難易度を増加させる。3. MTPルールと誠実なマイナーのタイムスタンプは、悪意のあるタイムスタンプの遡及程度を制限します。4. 攻撃プロセスは公開されており、コミュニティが緊急修復を行うための十分な時間を提供する可能性があります。! [ビットコインセキュリティ侵害:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-3768d663a24114915f45612fb4754fef)## ソリューション時間の歪み攻撃の脆弱性を修正するために、開発者は比較的簡単な解決策を提案しました:新しい難易度周期の最初のブロックの時間が、前の周期の最後のブロックの特定の時間よりも早くないことを要求します。現在議論されている時間範囲は10分から2時間までさまざまです。最新の提案では、この時間制限を2時間に設定することが提案されており、これは難易度調整周期の目標時間の0.6%に過ぎず、難易度を下方に操作する能力を効果的に制限できます。二つの時間制限プランの比較:- 10分制限: - 利点:"差一"エラーの影響を相殺し、偶発的な無効ブロックのリスクを最小化できます。 - 欠点:無効なブロックのリスクを増加させる可能性があり、より重要なプロトコルの変更です。- 2時間制限: - 利点:予期しない無効ブロックのリスクを最大限に低減し、将来のブロックタイムスタンプルールと一致している、比較的保守的な変化です。 - 欠点:攻撃者は依然として各サイクルで難易度を約0.6%下方操作することが許可されているが、これは一度きりの変化であり、複合的ではない。これらのセキュリティ対策を実施することにより、ビットコインネットワークは時間の歪み攻撃に対してより良く抵抗できるようになり、その安全性と安定性をさらに強化します。! [ビットコインセキュリティの脆弱性:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-ceb4c636ad7cdbe85d7dd25709ca2dd6)
ビットコインプロトコル修復時間の歪み攻撃の脆弱性 新しいソフトフォーク提案がマイニング難易度ルールを変更する可能性
ビットコインプロトコルのタイムワープ攻撃の脆弱性
2025年3月26日、ビットコイン開発者はビットコインプロトコルに長年存在する複数の脆弱性と弱点を修正することを目的とした新しいソフトフォーク提案を提出しました。その中で比較的深刻な脆弱性は「時間の歪み攻撃」と呼ばれ、この記事ではこれについて詳しく探討します。
ビットコインのタイムスタンプ保護メカニズム
時間歪曲攻撃について議論する前に、ビットコインの現在の時間操作保護ルールを理解する必要があります:
中位過去時間(MPT)ルール:ブロックのタイムスタンプは前の11ブロックの中央値の時間よりも後でなければなりません。
未来のブロック時間ルール:ブロックのタイムスタンプは、ノードのピアの中央値の時間よりも2時間以上進んではいけません。
これらのルールは、ブロックのタイムスタンプが実際の時間から大きく逸脱するのを防ぐことを目的としていますが、いくつかの抜け穴が依然として存在します。
! ビットコインセキュリティ侵害:タイムワープ攻撃
中本聡の計算ミス
ビットコインの難易度調整周期は2016個のブロックを含み、約2週間の時間です。マイニング難易度調整を計算する際、プロトコルは関連する2016ブロックウィンドウ内の最初と最後のブロックのタイムスタンプの差を計算します。しかし、中本聡が設計した際に小さな間違いを犯しました:彼は目標時間を計算するために2016を使用し、2015ではなく、結果として目標時間が実際に必要な時間よりも0.05%長くなってしまいました。
このエラーにより、ビットコインの目標ブロック生成時間は実際には10分0.3秒となり、正確な10分ではありません。この誤差は一見無視できるように見えますが、時間歪曲攻撃の可能性を生み出します。
! ビットコインセキュリティ侵害:タイムワープ攻撃
タイムワープアタックの仕組み
時間歪曲攻撃は、中本聡の難易度計算における誤りを利用します。攻撃者はブロックのタイムスタンプを操作することで、ブロックチェーンが時間的に遅く進むようにし、同時にMPTルールに適合させます。具体的な手順は以下の通りです:
この攻撃は、ブロックチェーンが実際の時間からますます遅れる原因となり、難易度も増加し続ける。しかし、2回目の調整サイクルの後、難易度は下向きに調整され始め、攻撃者は非常に速い速度でブロックを作成でき、potentially大量のビットコインを生成することができる。
! ビットコインセキュリティ侵害:タイムワープ攻撃
攻撃の実現可能性と制限
理論的にはこの攻撃は壊滅的ですが、実際に実施するには多くの課題があります:
! ビットコインセキュリティ侵害:タイムワープ攻撃
ソリューション
時間の歪み攻撃の脆弱性を修正するために、開発者は比較的簡単な解決策を提案しました:新しい難易度周期の最初のブロックの時間が、前の周期の最後のブロックの特定の時間よりも早くないことを要求します。現在議論されている時間範囲は10分から2時間までさまざまです。
最新の提案では、この時間制限を2時間に設定することが提案されており、これは難易度調整周期の目標時間の0.6%に過ぎず、難易度を下方に操作する能力を効果的に制限できます。
二つの時間制限プランの比較:
10分制限:
2時間制限:
これらのセキュリティ対策を実施することにより、ビットコインネットワークは時間の歪み攻撃に対してより良く抵抗できるようになり、その安全性と安定性をさらに強化します。
! ビットコインセキュリティの脆弱性:タイムワープ攻撃