# ビットコインにおける重複取引:興味深く低リスクな欠陥## 概要ビットコイン取引は通常、前の取引のIDを参照して未使用の出力を使用します。これらの出力は一度しか使用できず、さもなければ二重支払いの問題を引き起こします。しかし、ビットコインの歴史の中で、完全に同じ取引が二組存在したことがあります。この状況が発生する可能性があるのは、コインベース取引には入力がなく、直接新しい通貨が生成されるためです。したがって、異なる二つのコインベース取引が同じ数量を同じアドレスに送信し、構築方法が完全に同じであれば、同じ取引IDを生成する可能性があります。この2つのグループの重複取引は2010年11月14日から15日までの間に発生し、時間の幅は約16時間です。最初のグループの重複取引IDはd5d2....8599で、他の重複取引e3bf....b468がブロックチェーン上に初めて現れた時間よりも遅いにもかかわらずです。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-2846f47605c9192f211e3a6b36c04d0d)## 重複するトランザクションの詳細この2つの重複トランザクションは、それぞれ4つの異なるブロックに現れます。ブロックエクスプローラーは、これらのトランザクションを表示する際に異なるデフォルトの動作を持ち、一部は古いブロックを表示し、一部は新しいブロックを表示します。この4つの関連ブロックの中で、1つのブロック(91,812)だけが他の取引を含んでおり、1 BTCと19 BTCを統合して20 BTCの出力を作成しました。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-edcc2e884cd4273116606ff15afa6e15)## これらの出力は使用できますか?各繰り返し取引の価値は50 BTCで、合計で200 BTC(または100 BTCが関与しており、理解の仕方によります)。現時点では、この200 BTCは未使用です。理論的には、関連する秘密鍵を持っている人がこれらのビットコインを使用できるが、一度使用されると、繰り返しの50 BTCは再び使用できなくなり、失われるため、実際には100 BTCのみが回収可能です。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-9e956bcc28b2786c805e8c59bc4aee37)## 重複トランザクションの問題繰り返しの取引は、ウォレットやブロックエクスプローラーに混乱をもたらし、ビットコインの出所が不明確になる可能性があります。また、取引所に対する欺瞞的な入金など、一部の攻撃や脆弱性の悪用に利用されることもあります。## ソリューション重複取引の問題を解決するために、2012年3月にBIP30ソフトフォークが実施され、前の取引が使用されていない限り、重複取引IDの使用が禁止されました。同年9月、このルールはさらに修正され、すべてのブロックに適用されることになりました。2013年3月、BIP34ソフトフォークはコインベース取引にブロック高を含めることを要求し、これは実際に重複取引の問題を解決しました。その後、ビットコインコアソフトウェアはBIP30チェックを停止しました。なぜなら、それはもはや必要ではなかったからです。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-e19f04bf763b8df0cd361e2927ccaaba)## 将来の潜在的な問題BIP34は多くの問題を解決しましたが、BIP34が有効化される前のいくつかのブロックでは、coinbaseトランザクションのscriptSigの最初のバイトが将来の有効なブロック高とちょうど一致しています。これは、将来の特定のブロック高で、依然として重複トランザクションが発生する可能性があることを意味します。次に重複取引が発生する可能性のあるブロックは1,983,702で、2046年1月頃に生成されると予想されています。しかし、この脆弱性を利用するコストは非常に高く、大量のビットコインを焼却する必要があり、攻撃者にはほとんど実際的な利益がありません。! [ビットコイン重複トランザクション:リスクの少ない興味深いバグ](https://img-cdn.gateio.im/social/moments-0076e239e15e09665bdc3aaa08391cef)## まとめ取引のコピーの難しさ、コスト、および機会の希少性を考慮すると、この脆弱性はビットコインの主要なセキュリティ脅威とは見なされません。しかし、その独自性と長期的な存在の可能性から、依然として興味深い技術的問題です。開発者たちは2046年以前にこの問題を徹底的に解決しようとするかもしれず、ソフトフォークを通じて実現する可能性があります。潜在的な解決策の一つは、SegWitのコミットメントを強制することです。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-fb0734843d00c4922acda3f85fd02126)
ビットコイン歴史上の繰り返し取引の脆弱性:原因、影響と将来のリスク分析
ビットコインにおける重複取引:興味深く低リスクな欠陥
概要
ビットコイン取引は通常、前の取引のIDを参照して未使用の出力を使用します。これらの出力は一度しか使用できず、さもなければ二重支払いの問題を引き起こします。しかし、ビットコインの歴史の中で、完全に同じ取引が二組存在したことがあります。この状況が発生する可能性があるのは、コインベース取引には入力がなく、直接新しい通貨が生成されるためです。したがって、異なる二つのコインベース取引が同じ数量を同じアドレスに送信し、構築方法が完全に同じであれば、同じ取引IDを生成する可能性があります。
この2つのグループの重複取引は2010年11月14日から15日までの間に発生し、時間の幅は約16時間です。最初のグループの重複取引IDはd5d2....8599で、他の重複取引e3bf....b468がブロックチェーン上に初めて現れた時間よりも遅いにもかかわらずです。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
重複するトランザクションの詳細
この2つの重複トランザクションは、それぞれ4つの異なるブロックに現れます。ブロックエクスプローラーは、これらのトランザクションを表示する際に異なるデフォルトの動作を持ち、一部は古いブロックを表示し、一部は新しいブロックを表示します。
この4つの関連ブロックの中で、1つのブロック(91,812)だけが他の取引を含んでおり、1 BTCと19 BTCを統合して20 BTCの出力を作成しました。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
これらの出力は使用できますか?
各繰り返し取引の価値は50 BTCで、合計で200 BTC(または100 BTCが関与しており、理解の仕方によります)。現時点では、この200 BTCは未使用です。理論的には、関連する秘密鍵を持っている人がこれらのビットコインを使用できるが、一度使用されると、繰り返しの50 BTCは再び使用できなくなり、失われるため、実際には100 BTCのみが回収可能です。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
重複トランザクションの問題
繰り返しの取引は、ウォレットやブロックエクスプローラーに混乱をもたらし、ビットコインの出所が不明確になる可能性があります。また、取引所に対する欺瞞的な入金など、一部の攻撃や脆弱性の悪用に利用されることもあります。
ソリューション
重複取引の問題を解決するために、2012年3月にBIP30ソフトフォークが実施され、前の取引が使用されていない限り、重複取引IDの使用が禁止されました。同年9月、このルールはさらに修正され、すべてのブロックに適用されることになりました。
2013年3月、BIP34ソフトフォークはコインベース取引にブロック高を含めることを要求し、これは実際に重複取引の問題を解決しました。その後、ビットコインコアソフトウェアはBIP30チェックを停止しました。なぜなら、それはもはや必要ではなかったからです。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
将来の潜在的な問題
BIP34は多くの問題を解決しましたが、BIP34が有効化される前のいくつかのブロックでは、coinbaseトランザクションのscriptSigの最初のバイトが将来の有効なブロック高とちょうど一致しています。これは、将来の特定のブロック高で、依然として重複トランザクションが発生する可能性があることを意味します。
次に重複取引が発生する可能性のあるブロックは1,983,702で、2046年1月頃に生成されると予想されています。しかし、この脆弱性を利用するコストは非常に高く、大量のビットコインを焼却する必要があり、攻撃者にはほとんど実際的な利益がありません。
! ビットコイン重複トランザクション:リスクの少ない興味深いバグ
まとめ
取引のコピーの難しさ、コスト、および機会の希少性を考慮すると、この脆弱性はビットコインの主要なセキュリティ脅威とは見なされません。しかし、その独自性と長期的な存在の可能性から、依然として興味深い技術的問題です。開発者たちは2046年以前にこの問題を徹底的に解決しようとするかもしれず、ソフトフォークを通じて実現する可能性があります。潜在的な解決策の一つは、SegWitのコミットメントを強制することです。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ