# ビットコインの重複取引:興味深いがリスクは極めて少ない脆弱性ビットコイン取引は通常、前の取引のIDを参照して未使用の出力を使用します。これらの出力は一度だけ使用でき、それ以外の場合は二重支払いの問題が発生します。しかし、ビットコインの歴史には完全に同じ取引が2組存在したことがあります。この状況が発生する可能性があるのは、コインベース取引には入力がなく、新しい通貨を直接生成するためです。そのため、異なる2つのコインベース取引が同じアドレスに同じ量の通貨を送信し、完全に同じ方法で構築される可能性があります。取引内容が同じであるため、それらの取引IDも同じになります。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-2846f47605c9192f211e3a6b36c04d0d)この2つのグループの重複取引は、2010年11月14日から15日までの間に発生し、時間の幅は約16時間です。最初のグループの重複取引d5d2....8599は先に複製品となりましたが、ブロックチェーン上での最初の出現は、別の重複取引e3bf....b468よりも遅くなっています。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-edcc2e884cd4273116606ff15afa6e15)興味深いことに、異なるブロックチェーンエクスプローラーは、これらの重複した取引を表示する際に異なる挙動を示します。一部はデフォルトでより古いブロックを表示し、他のものはより新しいブロックを表示します。関与する4つのブロックのうち、1つのブロックだけが他の取引を含んでおり、1ビットコインと19ビットコインの出力を結合して20ビットコインの出力にしました。これらの重複取引に関与する200 BTCは、現在まで使用されていません。理論的には関連する秘密鍵を持っている人がこれらのビットコインを使うことができますが、一度使われると重複している50 BTCは失われるため、実際に利用可能なのは100 BTCだけです。これらの通貨が使われた後、どのブロックから来るのかは現時点では不明です。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-9e956bcc28b2786c805e8c59bc4aee37)重複取引は明らかに多くの問題を引き起こします。それはウォレットやブロックブラウザに混乱をもたらし、ビットコインの出所を不明にします。さらに深刻なのは、それが取引所などの機関への攻撃に利用される可能性があることです。この問題を解決するために、2012年3月にBIP30ソフトフォークが実施され、重複した取引IDを使用した取引が禁止されました。2012年9月、このルールはすべてのブロックに適用されるように拡張されました。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-e19f04bf763b8df0cd361e2927ccaaba)2013年3月にアクティブ化されたBIP34ソフトフォークは、コインベース取引にブロック高を含めることを要求し、これにより重複取引の問題がさらに解決されました。したがって、2015年11月にビットコインコアソフトウェアはBIP30チェックを停止しました。しかし、BIP34は完璧な解決策ではありません。BIP34がアクティブになる前のいくつかのブロックにおいて、coinbaseトランザクションのscriptSigの最初のバイトがちょうど将来有効なブロック高と一致しています。これは、まだ重複トランザクションが発生する可能性があることを意味し、次に可能なブロックは1,983,702で、2046年1月頃に生成されると予想されています。! [ビットコイン重複トランザクション:リスクの少ない興味深いバグ](https://img-cdn.gateio.im/social/moments-0076e239e15e09665bdc3aaa08391cef)しかし、この脆弱性を利用するコストは非常に高いです。ブロック1,983,702の例を挙げると、マイナーは約170 BTCの費用を焼却する必要があり、現在の価格で約1500万ドルに相当します。そして、これらの資金は回収できない可能性が高いです。コピー取引の難易度とコスト、そして機会の希少性を考慮すると、この脆弱性はビットコインの主要なセキュリティ脅威を構成しません。それにもかかわらず、開発者はこの問題を根本的に修正する方法を模索し続けており、ソフトフォークを通じて実現される可能性があります。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-fb0734843d00c4922acda3f85fd02126)
ビットコインの重複取引脆弱性:歴史的事例と将来のリスク分析
ビットコインの重複取引:興味深いがリスクは極めて少ない脆弱性
ビットコイン取引は通常、前の取引のIDを参照して未使用の出力を使用します。これらの出力は一度だけ使用でき、それ以外の場合は二重支払いの問題が発生します。しかし、ビットコインの歴史には完全に同じ取引が2組存在したことがあります。この状況が発生する可能性があるのは、コインベース取引には入力がなく、新しい通貨を直接生成するためです。そのため、異なる2つのコインベース取引が同じアドレスに同じ量の通貨を送信し、完全に同じ方法で構築される可能性があります。取引内容が同じであるため、それらの取引IDも同じになります。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
この2つのグループの重複取引は、2010年11月14日から15日までの間に発生し、時間の幅は約16時間です。最初のグループの重複取引d5d2....8599は先に複製品となりましたが、ブロックチェーン上での最初の出現は、別の重複取引e3bf....b468よりも遅くなっています。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
興味深いことに、異なるブロックチェーンエクスプローラーは、これらの重複した取引を表示する際に異なる挙動を示します。一部はデフォルトでより古いブロックを表示し、他のものはより新しいブロックを表示します。
関与する4つのブロックのうち、1つのブロックだけが他の取引を含んでおり、1ビットコインと19ビットコインの出力を結合して20ビットコインの出力にしました。
これらの重複取引に関与する200 BTCは、現在まで使用されていません。理論的には関連する秘密鍵を持っている人がこれらのビットコインを使うことができますが、一度使われると重複している50 BTCは失われるため、実際に利用可能なのは100 BTCだけです。これらの通貨が使われた後、どのブロックから来るのかは現時点では不明です。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
重複取引は明らかに多くの問題を引き起こします。それはウォレットやブロックブラウザに混乱をもたらし、ビットコインの出所を不明にします。さらに深刻なのは、それが取引所などの機関への攻撃に利用される可能性があることです。
この問題を解決するために、2012年3月にBIP30ソフトフォークが実施され、重複した取引IDを使用した取引が禁止されました。2012年9月、このルールはすべてのブロックに適用されるように拡張されました。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
2013年3月にアクティブ化されたBIP34ソフトフォークは、コインベース取引にブロック高を含めることを要求し、これにより重複取引の問題がさらに解決されました。したがって、2015年11月にビットコインコアソフトウェアはBIP30チェックを停止しました。
しかし、BIP34は完璧な解決策ではありません。BIP34がアクティブになる前のいくつかのブロックにおいて、coinbaseトランザクションのscriptSigの最初のバイトがちょうど将来有効なブロック高と一致しています。これは、まだ重複トランザクションが発生する可能性があることを意味し、次に可能なブロックは1,983,702で、2046年1月頃に生成されると予想されています。
! ビットコイン重複トランザクション:リスクの少ない興味深いバグ
しかし、この脆弱性を利用するコストは非常に高いです。ブロック1,983,702の例を挙げると、マイナーは約170 BTCの費用を焼却する必要があり、現在の価格で約1500万ドルに相当します。そして、これらの資金は回収できない可能性が高いです。
コピー取引の難易度とコスト、そして機会の希少性を考慮すると、この脆弱性はビットコインの主要なセキュリティ脅威を構成しません。それにもかかわらず、開発者はこの問題を根本的に修正する方法を模索し続けており、ソフトフォークを通じて実現される可能性があります。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ