# ビットコインの重複取引:興味深くリスクの少ないシステムの脆弱性ビットコインネットワークには独特の現象が存在します:二つの完全に同じ取引。この状況が起こる理由は、coinbase取引が取引入力を必要とせず、直接新しいビットコインを生成するからです。したがって、二つの異なるcoinbase取引が同じ数量のビットコインを同じアドレスに送り、完全に同じ方法で構築される可能性があり、その結果、完全に同じ取引が発生します。これらの取引内容が同じであるため、それらの取引ID(TXID)も一致します。TXIDは取引データのハッシュ摘要だからです。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-2846f47605c9192f211e3a6b36c04d0d)この2つのグループの重複取引は、2010年11月14日から15日の間に発生し、約16時間の時間幅があります。最初のグループの重複取引は、2番目のグループの間に挟まれています。私たちはd5d2....8599を最初の重複取引として分類します。なぜなら、それが最初に複製になったからです。尽管それはブロックチェーン上で最初に別の重複取引e3bf....b468の後に現れました。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-edcc2e884cd4273116606ff15afa6e15)興味深いことに、異なるブロックエクスプローラーは、これらの重複取引を表示する際に異なる動作をします。一部のエクスプローラーはデフォルトで古いブロックを表示し、他のエクスプローラーは新しいブロックを表示します。これらの重複取引に関与するビットコインの総量は200 BTC、または100 BTCとも理解できます。現時点では、これらのビットコインはまだ使用されていません。理論的には、これらの出力に関連する秘密鍵を持っている人がいれば、彼らはこれらのビットコインを使用することができるかもしれません。しかし、一度使用されると、重複した50 BTCは再び使用できなくなり、失われるため、実際には100 BTCのみが回収される可能性があります。重複取引は明らかにいくつかの問題を引き起こします。それらはウォレットやブロックエクスプローラーに混乱をもたらし、ビットコインの真の出所を特定するのを難しくする可能性があります。さらに、それは攻撃や脆弱性の悪用にも利用される可能性があります。この問題を解決するために、ビットコインの開発者は2012年にBIP30ソフトフォーク案を提案し、前のTXIDが使用されていない限り、重複TXIDを使用した取引を禁止しました。その後、このルールは2012年3月15日以降のブロックだけでなく、すべてのブロックに適用されるように変更されました。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-9e956bcc28b2786c805e8c59bc4aee37)2012年7月、BIP34ソフトフォーク案が提案され、2013年3月にアクティブ化された。この変更はcoinbase取引がブロック高を含むことを要求し、これにより重複取引の問題が完全に解決されたように見えた。しかし、実際にはBIP34がアクティブ化される前のブロックの中にも、scriptSigsの最初のバイトがちょうど将来有効なブロック高と一致するいくつかのcoinbase取引が存在していた。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-e19f04bf763b8df0cd361e2927ccaaba)次に重複取引が発生する可能性のあるブロックは1,983,702で、2046年1月頃に生成されると予想されています。マイナーがこのような攻撃を行いたい場合、彼らはこのブロックを見つけるために十分な運が必要であるだけでなく、巨額のコストもかかります。現在のビットコインの価格に基づくと、これには1500万ドル以上の費用がかかります。! [ビットコイン重複トランザクション:リスクの少ない興味深いバグ](https://img-cdn.gateio.im/social/moments-0076e239e15e09665bdc3aaa08391cef)コピー取引の難しさとコスト、そしてそれを利用する機会が非常に稀であることを考慮すると、この脆弱性はビットコインの主要なセキュリティ問題とは言えない。しかしながら、開発者たちは何年にもわたってこの問題に多くの時間を費やしてきた。2046年という日は、一部の開発者にとってこの問題を修正するための最終期限かもしれない。このバグを修正する方法はいくつもあり、ソフトフォークが必要になる可能性がある。修正方法の一つは、SegWitの約束を強制することです。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-fb0734843d00c4922acda3f85fd02126)
ビットコイン歴史の繰り返し取引解読:システムの稀な脆弱性と2046年の潜在的な課題
ビットコインの重複取引:興味深くリスクの少ないシステムの脆弱性
ビットコインネットワークには独特の現象が存在します:二つの完全に同じ取引。この状況が起こる理由は、coinbase取引が取引入力を必要とせず、直接新しいビットコインを生成するからです。したがって、二つの異なるcoinbase取引が同じ数量のビットコインを同じアドレスに送り、完全に同じ方法で構築される可能性があり、その結果、完全に同じ取引が発生します。これらの取引内容が同じであるため、それらの取引ID(TXID)も一致します。TXIDは取引データのハッシュ摘要だからです。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
この2つのグループの重複取引は、2010年11月14日から15日の間に発生し、約16時間の時間幅があります。最初のグループの重複取引は、2番目のグループの間に挟まれています。私たちはd5d2....8599を最初の重複取引として分類します。なぜなら、それが最初に複製になったからです。尽管それはブロックチェーン上で最初に別の重複取引e3bf....b468の後に現れました。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
興味深いことに、異なるブロックエクスプローラーは、これらの重複取引を表示する際に異なる動作をします。一部のエクスプローラーはデフォルトで古いブロックを表示し、他のエクスプローラーは新しいブロックを表示します。
これらの重複取引に関与するビットコインの総量は200 BTC、または100 BTCとも理解できます。現時点では、これらのビットコインはまだ使用されていません。理論的には、これらの出力に関連する秘密鍵を持っている人がいれば、彼らはこれらのビットコインを使用することができるかもしれません。しかし、一度使用されると、重複した50 BTCは再び使用できなくなり、失われるため、実際には100 BTCのみが回収される可能性があります。
重複取引は明らかにいくつかの問題を引き起こします。それらはウォレットやブロックエクスプローラーに混乱をもたらし、ビットコインの真の出所を特定するのを難しくする可能性があります。さらに、それは攻撃や脆弱性の悪用にも利用される可能性があります。
この問題を解決するために、ビットコインの開発者は2012年にBIP30ソフトフォーク案を提案し、前のTXIDが使用されていない限り、重複TXIDを使用した取引を禁止しました。その後、このルールは2012年3月15日以降のブロックだけでなく、すべてのブロックに適用されるように変更されました。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
2012年7月、BIP34ソフトフォーク案が提案され、2013年3月にアクティブ化された。この変更はcoinbase取引がブロック高を含むことを要求し、これにより重複取引の問題が完全に解決されたように見えた。しかし、実際にはBIP34がアクティブ化される前のブロックの中にも、scriptSigsの最初のバイトがちょうど将来有効なブロック高と一致するいくつかのcoinbase取引が存在していた。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
次に重複取引が発生する可能性のあるブロックは1,983,702で、2046年1月頃に生成されると予想されています。マイナーがこのような攻撃を行いたい場合、彼らはこのブロックを見つけるために十分な運が必要であるだけでなく、巨額のコストもかかります。現在のビットコインの価格に基づくと、これには1500万ドル以上の費用がかかります。
! ビットコイン重複トランザクション:リスクの少ない興味深いバグ
コピー取引の難しさとコスト、そしてそれを利用する機会が非常に稀であることを考慮すると、この脆弱性はビットコインの主要なセキュリティ問題とは言えない。しかしながら、開発者たちは何年にもわたってこの問題に多くの時間を費やしてきた。2046年という日は、一部の開発者にとってこの問題を修正するための最終期限かもしれない。このバグを修正する方法はいくつもあり、ソフトフォークが必要になる可能性がある。修正方法の一つは、SegWitの約束を強制することです。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ