# ビットコインプロトコルの時間歪み攻撃の脆弱性ビットコイン開発者Antoine Poinsotは2025年3月26日に新しい改善提案を提出しました。この提案はソフトフォークを通じてビットコインプロトコルに長年存在するいくつかの脆弱性と弱点を修正することを目的としています。この"大共識清理"と呼ばれる提案は、以前に議論された重複取引の問題を解決するだけでなく、より重大な脆弱性である"時間の歪み攻撃"に対する解決策も提案しています。! [ビットコインセキュリティ侵害:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-aa8abf74d491995c6a26218fdae94a29)## ビットコインのタイムスタンプ保護メカニズム時間歪曲攻撃について議論する前に、ビットコインの既存の時間操作保護ルールを振り返ってみましょう:1. 中位過去時間(MPT)ルール:ブロックのタイムスタンプは前の11個のブロックの中央値の時間よりも遅くなければなりません。2. 未来のブロック時間ルール:ブロックのタイムスタンプは、ノードのピアの中央値の時間を2時間以上超えてはならない。また、ノードの時間とローカルシステムクロックの最大許容差は90分である。これらのルールの目的は、ブロックのタイムスタンプが実際の時間から過度に逸脱するのを防ぐことであり、過去に対しても未来に対してもです。しかし、タイムディストーション攻撃は、実際の時間よりもはるかに早いタイムスタンプを偽造することによって行われます。! [ビットコインセキュリティ侵害:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-84e76f095ac839f76d2ca1240f644337)## サトシ・ナカモトの「1人足りない」ミスビットコインの難易度調整周期は2016個のブロックを含み、理論上約2週間の時間です。マイニングの難易度調整を計算する際、プロトコルはこの2016個のブロックの先頭と末尾の2つのブロックのタイムスタンプの差を計算します。しかし、この2016個のブロックは実際には2015個のブロック間隔しか含んでいません。正しい目標時間は60秒 × 10分 × 2015 = 1,209,000秒ですが、ビットコインプロトコルは2016という数字を使用しており、計算結果は1,209,600秒になっています。このわずかな誤差により、目標時間は実際にあるべき時間より0.05%長くなっています。この誤差は微々たるものに見えますが、より深刻な問題を引き起こしています。難易度の計算は、各2016ブロックウィンドウ内の最初と最後のブロックに基づいており、前のウィンドウの最後のブロックと現在のウィンドウの最後のブロックの間の差異ではありません。この計算方法は、時間歪み攻撃の可能性を生み出します。## タイムワープアタックの仕組み時間歪曲攻撃は2011年に初めて発見されました。この攻撃では、マイニングが完全に中央集権化されていると仮定し、マイナーはプロトコルが許可する範囲内で任意のタイムスタンプを設定できます。攻撃者は、ほとんどのブロックのタイムスタンプを前のブロックよりも1秒だけ早く設定したり、6つのブロックごとに1秒だけ進めたりして、できるだけ遅く時間を進めることができます。この操作はブロックチェーンの時間が現実の時間に対して徐々に遅れ、難易度が増加し続けることを引き起こします。攻撃効果を強化するために、各難易度調整サイクルの最後のブロックで、攻撃者はタイムスタンプをリアルワールドの時間に設定します。そして次のサイクルの最初のブロックは、前のサイクルの倒数第二のブロックよりも1秒早く過去に設定されます。この方法で、攻撃者は第二の調整周期後にマイニングの難易度を大幅に下げ、非常に速い速度でブロックを作成し、大量のビットコインを獲得することができます。! [ビットコインセキュリティ侵害:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-21f436beb58cee5eac9817dfd8cf127a)## 攻撃の実現可能性と課題理論的にはこの攻撃が深刻な結果を引き起こす可能性がありますが、実際に実行するには多くの課題があります:1. 大部分の算力を制御する必要があります。2. 正直なマイナーの存在は攻撃の難易度を上げる。3. MTPルールと誠実なタイムスタンプは、悪意のあるタイムスタンプの遡及の程度を制限します。4. 正直なマイナーが任意の難易度調整ウィンドウの最初のブロックを生成した場合、そのサイクルの攻撃は無効になります。5. 攻撃プロセスは全員に見えるため、緊急ソフトフォーク修正が発生する可能性があります。! [ビットコインセキュリティ侵害:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-3768d663a24114915f45612fb4754fef)## ソリューションこの脆弱性を修正するためのいくつかの方法があります:1. 難易度調整アルゴリズムを変更し、異なる2016ウィンドウブロック間の時間間隔を計算し、「差一」エラーを修正します。2. MTPルールをキャンセルし、各ブロックの時間を前に移動させる必要があります。3. 新しい制限ルールを設定し、新しい難易度周期の最初のブロックの時間が前の周期の最後のブロックの特定の分数よりも早くないことを要求します。ポワンソの「大共識クリーンアップ」提案は第三の方法を採用し、時間制限を2時間に設定することを提案しています。この方案は、時間歪み攻撃を効果的に緩和し、偶発的に無効なブロックが生成されるリスクを最小限に抑えることができます。総じて、ビットコインコミュニティはこの潜在的な脅威に積極的に対応しており、ソフトフォークなどの方法を通じてプロトコルを継続的に改善し、ネットワークの長期的な安全と安定した運用を確保しています。! [ビットコインセキュリティの脆弱性:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-ceb4c636ad7cdbe85d7dd25709ca2dd6)
ビットコインは時間の歪み攻撃の脆弱性を修正することを計画しており、ソフトフォークの方案が待望されている。
ビットコインプロトコルの時間歪み攻撃の脆弱性
ビットコイン開発者Antoine Poinsotは2025年3月26日に新しい改善提案を提出しました。この提案はソフトフォークを通じてビットコインプロトコルに長年存在するいくつかの脆弱性と弱点を修正することを目的としています。この"大共識清理"と呼ばれる提案は、以前に議論された重複取引の問題を解決するだけでなく、より重大な脆弱性である"時間の歪み攻撃"に対する解決策も提案しています。
! ビットコインセキュリティ侵害:タイムワープ攻撃
ビットコインのタイムスタンプ保護メカニズム
時間歪曲攻撃について議論する前に、ビットコインの既存の時間操作保護ルールを振り返ってみましょう:
中位過去時間(MPT)ルール:ブロックのタイムスタンプは前の11個のブロックの中央値の時間よりも遅くなければなりません。
未来のブロック時間ルール:ブロックのタイムスタンプは、ノードのピアの中央値の時間を2時間以上超えてはならない。また、ノードの時間とローカルシステムクロックの最大許容差は90分である。
これらのルールの目的は、ブロックのタイムスタンプが実際の時間から過度に逸脱するのを防ぐことであり、過去に対しても未来に対してもです。しかし、タイムディストーション攻撃は、実際の時間よりもはるかに早いタイムスタンプを偽造することによって行われます。
! ビットコインセキュリティ侵害:タイムワープ攻撃
サトシ・ナカモトの「1人足りない」ミス
ビットコインの難易度調整周期は2016個のブロックを含み、理論上約2週間の時間です。マイニングの難易度調整を計算する際、プロトコルはこの2016個のブロックの先頭と末尾の2つのブロックのタイムスタンプの差を計算します。しかし、この2016個のブロックは実際には2015個のブロック間隔しか含んでいません。正しい目標時間は60秒 × 10分 × 2015 = 1,209,000秒ですが、ビットコインプロトコルは2016という数字を使用しており、計算結果は1,209,600秒になっています。このわずかな誤差により、目標時間は実際にあるべき時間より0.05%長くなっています。
この誤差は微々たるものに見えますが、より深刻な問題を引き起こしています。難易度の計算は、各2016ブロックウィンドウ内の最初と最後のブロックに基づいており、前のウィンドウの最後のブロックと現在のウィンドウの最後のブロックの間の差異ではありません。この計算方法は、時間歪み攻撃の可能性を生み出します。
タイムワープアタックの仕組み
時間歪曲攻撃は2011年に初めて発見されました。この攻撃では、マイニングが完全に中央集権化されていると仮定し、マイナーはプロトコルが許可する範囲内で任意のタイムスタンプを設定できます。攻撃者は、ほとんどのブロックのタイムスタンプを前のブロックよりも1秒だけ早く設定したり、6つのブロックごとに1秒だけ進めたりして、できるだけ遅く時間を進めることができます。
この操作はブロックチェーンの時間が現実の時間に対して徐々に遅れ、難易度が増加し続けることを引き起こします。攻撃効果を強化するために、各難易度調整サイクルの最後のブロックで、攻撃者はタイムスタンプをリアルワールドの時間に設定します。そして次のサイクルの最初のブロックは、前のサイクルの倒数第二のブロックよりも1秒早く過去に設定されます。
この方法で、攻撃者は第二の調整周期後にマイニングの難易度を大幅に下げ、非常に速い速度でブロックを作成し、大量のビットコインを獲得することができます。
! ビットコインセキュリティ侵害:タイムワープ攻撃
攻撃の実現可能性と課題
理論的にはこの攻撃が深刻な結果を引き起こす可能性がありますが、実際に実行するには多くの課題があります:
! ビットコインセキュリティ侵害:タイムワープ攻撃
ソリューション
この脆弱性を修正するためのいくつかの方法があります:
ポワンソの「大共識クリーンアップ」提案は第三の方法を採用し、時間制限を2時間に設定することを提案しています。この方案は、時間歪み攻撃を効果的に緩和し、偶発的に無効なブロックが生成されるリスクを最小限に抑えることができます。
総じて、ビットコインコミュニティはこの潜在的な脅威に積極的に対応しており、ソフトフォークなどの方法を通じてプロトコルを継続的に改善し、ネットワークの長期的な安全と安定した運用を確保しています。
! ビットコインセキュリティの脆弱性:タイムワープ攻撃