# ビットコインの時間歪曲攻撃:潜在的なセキュリティリスク2025年3月26日、ビットコイン開発者は「大共識清理」と呼ばれるソフトフォーク提案を提出しました。この提案は、ビットコインプロトコルに長年存在しているいくつかの脆弱性と弱点を修正することを目的としており、以前に議論した重複取引の問題も含まれています。もう一つより深刻な脆弱性は「時間歪み攻撃」と呼ばれ、これが本記事で深く掘り下げるテーマです。! [ビットコインセキュリティ侵害:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-aa8abf74d491995c6a26218fdae94a29)## ビットコインブロックタイムスタンプ保護メカニズム時間の歪み攻撃について議論する前に、現在の時間操作保護ルールを理解する必要があります:1. 中位過去時間(MPT)ルール:ブロックのタイムスタンプは、最近の11ブロックの中央値の時間よりも遅くなければなりません。2. 未来のブロック時間ルール:MAX_FUTURE_BLOCK_TIME定数に基づき、ブロックのタイムスタンプはネットワークの中央値の時間を2時間以上先行してはならない。ノードの時間とローカルシステムの時計との間に許容される最大の差は90分であり、これはもう一つの保障である。MPTルールはブロックがあまりにも「過去に戻る」ことを防ぎ、未来のブロックルールはそれらが「未来を超える」ことを防ぎます。注目すべきは、ブロックが過去のタイムスタンプを持つことを防ぐために未来のブロックルールのようなものを実施できないことです。これは初期のブロックチェーン同期プロセスに影響を与える可能性があります。時間の歪み攻撃は、まさに過去に遡るタイムスタンプを偽造することによって実現されます。! [ビットコインセキュリティ侵害:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-84e76f095ac839f76d2ca1240f644337)## サトシ・ナカモトの「1人足りない」ミスビットコインの難易度調整周期は2016個のブロックを含み、10分のブロック目標時間で計算すると、おおよそ2週間です。マイニング難易度調整を計算するため、プロトコルは関連する2016ブロックウィンドウ内の最初と最後のブロック間のタイムスタンプ差を計算します。この2016ブロックのウィンドウには実際に2015個のブロック間隔(つまり2016から1を引いたもの)が含まれています。したがって、使用される関連目標時間は60秒 × 10分 × 2015個の間隔で、1,209,000秒に相当します。しかし、ビットコインプロトコルは目標を計算するために2016という数字を使用しています。60秒 × 10分 × 2016 = 1,209,600秒です。これは「差一」エラーであり、ブロック数とブロック間隔数の混乱によるものかもしれません。このエラーは、目標時間が本来の長さより0.05%長くなる原因となっています。実際、ビットコインの目標ブロック間隔は10分ではなく、10分と0.3秒です。この微小な差異は、2009年以降、算力の持続的な増加により、実際の平均ブロック間隔が常に10分未満であることを考慮すると、日常の運用においてほとんど関係ありません。! [ビットコインセキュリティ侵害:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-21f436beb58cee5eac9817dfd8cf127a)## タイムワープアタックの仕組み時間の歪曲攻撃は2011年頃に初めて発見され、中本聡の難易度計算におけるこの誤りを利用しました。攻撃の核心思想は:1. 大多数のブロックに対して、タイムスタンプを前のブロックよりも1秒だけ進めて設定します。2. 6つのブロックごとにタイムスタンプを1秒前に進めて、MPTルールに従います。3. 各難易度調整周期の最後のブロックでは、タイムスタンプを現実世界の時間に設定します。4. 次の周期の最初のブロックのタイムスタンプが再び過去に設定されました。この操作により、ブロックチェーンの時間が実際の時間に対してますます遅れてしまい、難易度が不断に増加しています。しかし、各サイクルの最後のブロックが実際のタイムスタンプを使用するため、難易度計算は実際よりも時間が遅れていると見なすことになり、2回目の調整サイクル後に難易度が大幅に低下し始めます。## 攻撃の潜在的な影響成功に実施されると、この攻撃は以下を引き起こす可能性があります:1. 難易度が急激に下がる2. ブロック生成速度が大幅に向上3. 短時間内に大量のビットコインを生成する4. 市場の混乱を引き起こす可能性があるしかし、この攻撃を実施するには多くの課題がある。1. 大部分のネットワークの計算力を制御する必要があります2. 正直なマイナーの存在は難易度を上げる。3. 攻撃プロセスは迅速に発見され、対策が講じられる可能性があります。! [ビットコインセキュリティ侵害:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-3768d663a24114915f45612fb4754fef)## ソリューションこの脆弱性を修正するために、いくつかの可能な方法があります:1. 難易度調整アルゴリズムを修正し、「差一」エラーを完全に修正しました。2. MPTルールをキャンセルし、各ブロック内の時間が常に前に進むように要求します。3. 新しい制限ルールの設定:新しい難易度サイクルの最初のブロックの時間は、前のサイクルの最後のブロックの特定の時間(例えば2時間)よりも早くないことが要求されます。現在の「大共識クリア」提案は第三の方法を採用し、2時間の制限を設けることを提案しています。この方案は、時間の歪み攻撃を効果的に防ぎ、無効なブロックが意図せず生成されるリスクを最小限に抑えることができます。ビットコインコミュニティは、ネットワークの長期的な安全性と安定性を確保するために、これらの提案を積極的に議論し、改善しています。技術の進歩に伴い、私たちはビットコインネットワークがより強力で信頼性のあるものになると信じる理由があります。! [ビットコインセキュリティの脆弱性:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-ceb4c636ad7cdbe85d7dd25709ca2dd6)
ビットコイン時間歪曲攻撃:隠れた脆弱性と修正策の解析
ビットコインの時間歪曲攻撃:潜在的なセキュリティリスク
2025年3月26日、ビットコイン開発者は「大共識清理」と呼ばれるソフトフォーク提案を提出しました。この提案は、ビットコインプロトコルに長年存在しているいくつかの脆弱性と弱点を修正することを目的としており、以前に議論した重複取引の問題も含まれています。もう一つより深刻な脆弱性は「時間歪み攻撃」と呼ばれ、これが本記事で深く掘り下げるテーマです。
! ビットコインセキュリティ侵害:タイムワープ攻撃
ビットコインブロックタイムスタンプ保護メカニズム
時間の歪み攻撃について議論する前に、現在の時間操作保護ルールを理解する必要があります:
中位過去時間(MPT)ルール:ブロックのタイムスタンプは、最近の11ブロックの中央値の時間よりも遅くなければなりません。
未来のブロック時間ルール:MAX_FUTURE_BLOCK_TIME定数に基づき、ブロックのタイムスタンプはネットワークの中央値の時間を2時間以上先行してはならない。ノードの時間とローカルシステムの時計との間に許容される最大の差は90分であり、これはもう一つの保障である。
MPTルールはブロックがあまりにも「過去に戻る」ことを防ぎ、未来のブロックルールはそれらが「未来を超える」ことを防ぎます。注目すべきは、ブロックが過去のタイムスタンプを持つことを防ぐために未来のブロックルールのようなものを実施できないことです。これは初期のブロックチェーン同期プロセスに影響を与える可能性があります。時間の歪み攻撃は、まさに過去に遡るタイムスタンプを偽造することによって実現されます。
! ビットコインセキュリティ侵害:タイムワープ攻撃
サトシ・ナカモトの「1人足りない」ミス
ビットコインの難易度調整周期は2016個のブロックを含み、10分のブロック目標時間で計算すると、おおよそ2週間です。マイニング難易度調整を計算するため、プロトコルは関連する2016ブロックウィンドウ内の最初と最後のブロック間のタイムスタンプ差を計算します。この2016ブロックのウィンドウには実際に2015個のブロック間隔(つまり2016から1を引いたもの)が含まれています。したがって、使用される関連目標時間は60秒 × 10分 × 2015個の間隔で、1,209,000秒に相当します。しかし、ビットコインプロトコルは目標を計算するために2016という数字を使用しています。60秒 × 10分 × 2016 = 1,209,600秒です。これは「差一」エラーであり、ブロック数とブロック間隔数の混乱によるものかもしれません。
このエラーは、目標時間が本来の長さより0.05%長くなる原因となっています。実際、ビットコインの目標ブロック間隔は10分ではなく、10分と0.3秒です。この微小な差異は、2009年以降、算力の持続的な増加により、実際の平均ブロック間隔が常に10分未満であることを考慮すると、日常の運用においてほとんど関係ありません。
! ビットコインセキュリティ侵害:タイムワープ攻撃
タイムワープアタックの仕組み
時間の歪曲攻撃は2011年頃に初めて発見され、中本聡の難易度計算におけるこの誤りを利用しました。攻撃の核心思想は:
この操作により、ブロックチェーンの時間が実際の時間に対してますます遅れてしまい、難易度が不断に増加しています。しかし、各サイクルの最後のブロックが実際のタイムスタンプを使用するため、難易度計算は実際よりも時間が遅れていると見なすことになり、2回目の調整サイクル後に難易度が大幅に低下し始めます。
攻撃の潜在的な影響
成功に実施されると、この攻撃は以下を引き起こす可能性があります:
しかし、この攻撃を実施するには多くの課題がある。
! ビットコインセキュリティ侵害:タイムワープ攻撃
ソリューション
この脆弱性を修正するために、いくつかの可能な方法があります:
現在の「大共識クリア」提案は第三の方法を採用し、2時間の制限を設けることを提案しています。この方案は、時間の歪み攻撃を効果的に防ぎ、無効なブロックが意図せず生成されるリスクを最小限に抑えることができます。
ビットコインコミュニティは、ネットワークの長期的な安全性と安定性を確保するために、これらの提案を積極的に議論し、改善しています。技術の進歩に伴い、私たちはビットコインネットワークがより強力で信頼性のあるものになると信じる理由があります。
! ビットコインセキュリティの脆弱性:タイムワープ攻撃