# ビットコインの重複取引:興味深いがリスクが非常に小さい脆弱性ビットコイン取引は通常、前の取引のIDを参照して未使用の出力を使用します。これらの出力は一度だけ使用でき、さもなければ二重支払いを引き起こし、ビットコインの価値を失うことになります。しかし、ビットコインの歴史において、完全に同じ取引が二組存在したことがあります。このような状況が発生する可能性があるのは、コインベース取引には取引入力がなく、新しい通貨を生成するためです。したがって、異なる二つのコインベース取引が同じアドレスに同じ数量の通貨を送信し、構築方法が完全に一致することによって、同じ取引IDが生成される可能性があります。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-2846f47605c9192f211e3a6b36c04d0d)この2つのグループの重複取引は2010年11月14日から15日にかけて発生し、時間の幅は約16時間です。最初のグループの重複取引は、2番目のグループの間に挟まれています。取引IDがd5d2で始まるものを最初の重複取引として分類しますが、それはブロックチェーン上で他の重複取引の後に初めて現れました。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-edcc2e884cd4273116606ff15afa6e15)重複取引の発生は、ウォレットやブロックエクスプローラーに混乱をもたらし、ビットコインの出所を特定するのが難しくなります。また、攻撃や脆弱性のリスクをもたらす可能性もあります。例えば、二回の重複取引を使って誰かに二回支払うことができますが、実際に使用できる資金は半分しかありません。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-9e956bcc28b2786c805e8c59bc4aee37)この問題を解決するために、2012年3月にBIP30ソフトフォークが実施され、前の取引が消費されていない限り、重複した取引IDの使用が禁止されました。同年9月、このルールはすべてのブロックに適用されるように修正され、最初の2組の重複取引のみが除外されました。2013年3月、BIP34ソフトフォークにより、コインベース取引にブロック高を含めることが求められ、重複取引の問題は完全に解決されたようです。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-e19f04bf763b8df0cd361e2927ccaaba)しかし、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時間です。最初のグループの重複取引は、2番目のグループの間に挟まれています。取引IDがd5d2で始まるものを最初の重複取引として分類しますが、それはブロックチェーン上で他の重複取引の後に初めて現れました。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
重複取引の発生は、ウォレットやブロックエクスプローラーに混乱をもたらし、ビットコインの出所を特定するのが難しくなります。また、攻撃や脆弱性のリスクをもたらす可能性もあります。例えば、二回の重複取引を使って誰かに二回支払うことができますが、実際に使用できる資金は半分しかありません。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
この問題を解決するために、2012年3月にBIP30ソフトフォークが実施され、前の取引が消費されていない限り、重複した取引IDの使用が禁止されました。同年9月、このルールはすべてのブロックに適用されるように修正され、最初の2組の重複取引のみが除外されました。2013年3月、BIP34ソフトフォークにより、コインベース取引にブロック高を含めることが求められ、重複取引の問題は完全に解決されたようです。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
しかし、BIP34が有効化される前のいくつかのブロックにおいて、coinbaseトランザクションのscriptSigの最初のバイトが、将来的に有効なブロック高とちょうど一致します。これは、非常に少数のケースにおいて、トランザクションの重複が発生する可能性があることを意味します。次に重複トランザクションが発生する可能性のあるブロックは1,983,702で、2046年1月頃に生成されると予想されています。しかし、この脆弱性を利用するコストは非常に高く、大量のビットコインを焼却する必要があり、攻撃者にはほとんど役に立たないでしょう。
! ビットコイン重複トランザクション:リスクの少ない興味深いバグ
コピー取引の難しさとコスト、そして機会の利用が極めて稀であることを考慮すると、この脆弱性はビットコインの主要なセキュリティ脅威とはなりません。しかし、長期的には、開発者は2046年までにこの問題の根本的な修正を求める可能性があり、ソフトフォークを通じて実現する必要があるかもしれません。修正方法の一つは、SegWitのコミットメントを強制することです。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ