# ビットコインのセキュリティ脆弱性:時間の歪み攻撃について探る最近、あるビットコイン開発者が「大共識清理」というソフトフォーク提案を提出しました。これは、ビットコインプロトコルに長年存在しているいくつかの脆弱性や弱点を修正することを目的としています。その中で、特に深刻な脆弱性は「時間の歪み攻撃」と呼ばれており、この記事ではこれについて詳しく探ります。## ビットコインブロックタイムスタンプ保護メカニズム時間歪曲攻撃について議論する前に、現在の時間操作保護ルールを振り返ってみましょう:1. 中位過去時間(MPT)ルール:ブロックのタイムスタンプは前の11のブロックの中位時間よりも後でなければなりません。2. 未来のブロック時間ルール:ブロックのタイムスタンプはノードのピアの中央値を2時間以上先行してはならない。ノードの時間とローカルシステムクロックの最大許容差は90分である。これらのルールは、ブロックのタイムスタンプが実際の時間から大きく逸脱するのを防ぐことを目的としています。しかし、タイムディストーション攻撃は、タイムスタンプを偽造して大幅に過去に戻すことを含みます。! [ビットコインセキュリティ侵害:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-aa8abf74d491995c6a26218fdae94a29)## サトシ・ナカモトの「1人足りない」ミスビットコインの難易度調整周期は2016個のブロックを含み、約2週間の時間です。マイニングの難易度調整を計算する際、プロトコルは関連する2016ブロックウィンドウの最初と最後のブロックのタイムスタンプの差を比較します。しかし、このウィンドウには実際には2015個のブロック間隔が含まれています。したがって、正しい目標時間は1,209,000秒であるべきですが、ビットコインプロトコルは1,209,600秒を使用しています。この0.05%の誤差により、実際の目標間隔時間は10分0.3秒となります。この誤差自体は大きな影響を及ぼさないが、より深刻な問題を引き起こす。難易度の計算は、各2016ブロックのウィンドウ内の最初と最後のブロックに基づいており、前のウィンドウの最後のブロックと現在のウィンドウの最後のブロックの間の差異ではない。この計算方法は、時間操作攻撃の可能性を生む。! [ビットコインセキュリティ侵害:タイムワープ攻撃](https://img-cdn.gateio.im/social/moments-84e76f095ac839f76d2ca1240f644337)## タイムワープアタックの原理タイムワープ攻撃は2011年に初めて発見されました。この攻撃では、マイニングが完全に中央集権化されていると仮定し、マイナーはプロトコルが許可する範囲内の任意のタイムスタンプを設定できます。攻撃者は、ほとんどすべてのブロックのタイムスタンプを前のブロックよりもわずかに1秒進めて設定し、MTPルールを遵守します。できるだけ時間を遅く進めるために、マイナーは連続して6つのブロックのタイムスタンプを同じに保ち、その後のブロックで1秒を追加することができます。この操作はブロックチェーンの時間が実際の時間に対してますます遅れる原因となります。しかし、攻撃効果を高めるために、マイナーは各難易度調整周期の最後のブロックで現実世界のタイムスタンプを使用します。次の周期の最初のブロックは過去に設定され、前の周期の倒数第二のブロックよりもわずか1秒早くなります。この攻撃方法は、2回目の調整サイクルの後に難易度が下降し始める原因となります。マイナーはその後、非常に迅速にブロックを作成し、大量のビットコインを生成し、販売することで利益を得る可能性があります。! [ビットコインセキュリティ侵害:タイムワープ攻撃](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)
ビットコイン時間歪曲攻撃:潜在的リスクと修正策の考察
ビットコインのセキュリティ脆弱性:時間の歪み攻撃について探る
最近、あるビットコイン開発者が「大共識清理」というソフトフォーク提案を提出しました。これは、ビットコインプロトコルに長年存在しているいくつかの脆弱性や弱点を修正することを目的としています。その中で、特に深刻な脆弱性は「時間の歪み攻撃」と呼ばれており、この記事ではこれについて詳しく探ります。
ビットコインブロックタイムスタンプ保護メカニズム
時間歪曲攻撃について議論する前に、現在の時間操作保護ルールを振り返ってみましょう:
中位過去時間(MPT)ルール:ブロックのタイムスタンプは前の11のブロックの中位時間よりも後でなければなりません。
未来のブロック時間ルール:ブロックのタイムスタンプはノードのピアの中央値を2時間以上先行してはならない。ノードの時間とローカルシステムクロックの最大許容差は90分である。
これらのルールは、ブロックのタイムスタンプが実際の時間から大きく逸脱するのを防ぐことを目的としています。しかし、タイムディストーション攻撃は、タイムスタンプを偽造して大幅に過去に戻すことを含みます。
! ビットコインセキュリティ侵害:タイムワープ攻撃
サトシ・ナカモトの「1人足りない」ミス
ビットコインの難易度調整周期は2016個のブロックを含み、約2週間の時間です。マイニングの難易度調整を計算する際、プロトコルは関連する2016ブロックウィンドウの最初と最後のブロックのタイムスタンプの差を比較します。しかし、このウィンドウには実際には2015個のブロック間隔が含まれています。したがって、正しい目標時間は1,209,000秒であるべきですが、ビットコインプロトコルは1,209,600秒を使用しています。この0.05%の誤差により、実際の目標間隔時間は10分0.3秒となります。
この誤差自体は大きな影響を及ぼさないが、より深刻な問題を引き起こす。難易度の計算は、各2016ブロックのウィンドウ内の最初と最後のブロックに基づいており、前のウィンドウの最後のブロックと現在のウィンドウの最後のブロックの間の差異ではない。この計算方法は、時間操作攻撃の可能性を生む。
! ビットコインセキュリティ侵害:タイムワープ攻撃
タイムワープアタックの原理
タイムワープ攻撃は2011年に初めて発見されました。この攻撃では、マイニングが完全に中央集権化されていると仮定し、マイナーはプロトコルが許可する範囲内の任意のタイムスタンプを設定できます。攻撃者は、ほとんどすべてのブロックのタイムスタンプを前のブロックよりもわずかに1秒進めて設定し、MTPルールを遵守します。できるだけ時間を遅く進めるために、マイナーは連続して6つのブロックのタイムスタンプを同じに保ち、その後のブロックで1秒を追加することができます。
この操作はブロックチェーンの時間が実際の時間に対してますます遅れる原因となります。しかし、攻撃効果を高めるために、マイナーは各難易度調整周期の最後のブロックで現実世界のタイムスタンプを使用します。次の周期の最初のブロックは過去に設定され、前の周期の倒数第二のブロックよりもわずか1秒早くなります。
この攻撃方法は、2回目の調整サイクルの後に難易度が下降し始める原因となります。マイナーはその後、非常に迅速にブロックを作成し、大量のビットコインを生成し、販売することで利益を得る可能性があります。
! ビットコインセキュリティ侵害:タイムワープ攻撃
攻撃実現可能性分析
理論的にはこの攻撃は壊滅的なものですが、実行するにはいくつかの課題があります:
! ビットコインセキュリティ侵害:タイムワープ攻撃
ソリューション
この脆弱性を修正する方法はいくつかあります:
現在、大共識クリーンアップ提案では第三の方法が採用され、時間制限は2時間に設定されています。この案は時間歪曲攻撃を効果的に緩和することができ、予期しない無効ブロックのリスクを最小限に抑えることができます。
全体として、時間歪曲攻撃は理論上深刻な脅威が存在しますが、実際に実行するのは難しいです。適切なプロトコルの更新を通じて、この潜在的なリスクを完全に排除し、ビットコインネットワークの安全性と安定性をさらに強化できることを期待しています。
! ビットコインセキュリティの脆弱性:タイムワープ攻撃