# ビットコインの繰り返し取引:興味深いがリスクが少ない脆弱性ビットコイン取引は通常、前の取引のIDを参照して未使用の出力を使用します。これらの出力は一度だけ使用でき、それ以外の場合は二重支払いを引き起こし、ビットコインの価値を失わせます。しかし、ビットコインの歴史には、完全に同じ取引が2つ発生したことがあります。この状況が可能である理由は、コインベース取引には入力がなく、新しい通貨を直接生成するからです。したがって、2つの異なるコインベース取引が同じアドレスに同じ数量の通貨を送信する可能性があり、構築方法が完全に一致することで同じ取引IDが生成されることがあります。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-2846f47605c9192f211e3a6b36c04d0d)この2つの重複取引は2010年11月14日から15日の間に発生し、時間の幅は約16時間です。最初の重複取引(d5d2....8599)は、2番目のグループ(e3bf....b468)の間に挟まれています。興味深いことに、d5d2....8599は先に重複取引となったものの、ブロックチェーン上ではe3bf....b468の後に現れました。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-edcc2e884cd4273116606ff15afa6e15)これらの繰り返し取引はそれぞれ50 BTCの価値があり、合計で200 BTCまたは100 BTC(に関わるかは理解の仕方によります)。現時点で、これらの通貨はまだ使用されていません。理論的には、秘密鍵を持つ人がこれらのビットコインを使うことができますが、実際に回収できるのは100 BTCだけです。これらの通貨がどのブロックから来たのかは特定できない可能性があります。繰り返しの取引は、ウォレットやブロックブラウザに混乱をもたらし、攻撃に利用される可能性もあります。例えば、攻撃者は2つの繰り返し取引を用いて取引所に2回支払い、その後迅速に資金を引き出し、取引所を破産させようとすることができます。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-9e956bcc28b2786c805e8c59bc4aee37)この問題を解決するために、2012年3月にBIP30ソフトフォークが実施され、重複TXIDを使用した取引が禁止されました。2012年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)それにもかかわらず、この脆弱性を利用するコストと難易度は非常に高い。マイナーは特定のブロックを掘り当てるために十分な運が必要であり、大量の費用を支払う必要がある。現在のビットコインの価格で計算すると、この攻撃には1500万ドル以上が必要であり、実質的な用途はほとんどない。コピー取引の難易度、コスト、そして機会の希少性を考慮すると、この脆弱性はビットコインの主要なセキュリティ脅威を構成しません。しかし、関与する時間スケールと繰り返し取引の独自性を考慮すると、この問題は依然として考えさせられます。ビットコインの開発者たちは、この問題に数年にわたって多くの時間を費やしてきました。2046年はこの脆弱性を根本的に修正するための最終期限となる可能性があります。修正方法はソフトフォークを必要とし、その一つの可能な方案はSegWitのコミットメントを強制することです。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-fb0734843d00c4922acda3f85fd02126)
ビットコインの繰り返し取引の脆弱性:2046年に最終修正が行われる可能性
ビットコインの繰り返し取引:興味深いがリスクが少ない脆弱性
ビットコイン取引は通常、前の取引のIDを参照して未使用の出力を使用します。これらの出力は一度だけ使用でき、それ以外の場合は二重支払いを引き起こし、ビットコインの価値を失わせます。しかし、ビットコインの歴史には、完全に同じ取引が2つ発生したことがあります。この状況が可能である理由は、コインベース取引には入力がなく、新しい通貨を直接生成するからです。したがって、2つの異なるコインベース取引が同じアドレスに同じ数量の通貨を送信する可能性があり、構築方法が完全に一致することで同じ取引IDが生成されることがあります。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
この2つの重複取引は2010年11月14日から15日の間に発生し、時間の幅は約16時間です。最初の重複取引(d5d2....8599)は、2番目のグループ(e3bf....b468)の間に挟まれています。興味深いことに、d5d2....8599は先に重複取引となったものの、ブロックチェーン上ではe3bf....b468の後に現れました。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
これらの繰り返し取引はそれぞれ50 BTCの価値があり、合計で200 BTCまたは100 BTC(に関わるかは理解の仕方によります)。現時点で、これらの通貨はまだ使用されていません。理論的には、秘密鍵を持つ人がこれらのビットコインを使うことができますが、実際に回収できるのは100 BTCだけです。これらの通貨がどのブロックから来たのかは特定できない可能性があります。
繰り返しの取引は、ウォレットやブロックブラウザに混乱をもたらし、攻撃に利用される可能性もあります。例えば、攻撃者は2つの繰り返し取引を用いて取引所に2回支払い、その後迅速に資金を引き出し、取引所を破産させようとすることができます。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
この問題を解決するために、2012年3月にBIP30ソフトフォークが実施され、重複TXIDを使用した取引が禁止されました。2012年9月、このルールはさらに修正され、前述の2組の重複取引(を除くすべてのブロック)に適用されることになりました。2013年3月にアクティブ化されたBIP34は、コインベース取引にブロック高を含めることを要求し、これは重複取引の問題を根本的に解決したようです。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
しかし、BIP34がアクティブになる前のいくつかのcoinbase取引のscriptSigの最初のバイトは、ちょうど将来有効なブロック高と一致します。これは、特定のブロック高で、重複取引が発生する可能性がまだあることを意味します。次に重複取引が発生する可能性のあるブロックは1,983,702で、2046年1月頃に生成されると予想されています。
! ビットコイン重複トランザクション:リスクの少ない興味深いバグ
それにもかかわらず、この脆弱性を利用するコストと難易度は非常に高い。マイナーは特定のブロックを掘り当てるために十分な運が必要であり、大量の費用を支払う必要がある。現在のビットコインの価格で計算すると、この攻撃には1500万ドル以上が必要であり、実質的な用途はほとんどない。
コピー取引の難易度、コスト、そして機会の希少性を考慮すると、この脆弱性はビットコインの主要なセキュリティ脅威を構成しません。しかし、関与する時間スケールと繰り返し取引の独自性を考慮すると、この問題は依然として考えさせられます。ビットコインの開発者たちは、この問題に数年にわたって多くの時間を費やしてきました。2046年はこの脆弱性を根本的に修正するための最終期限となる可能性があります。修正方法はソフトフォークを必要とし、その一つの可能な方案はSegWitのコミットメントを強制することです。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ