# ビットコイン取引の重複現象:興味深いがリスクの非常に小さいバグ## 概要ビットコイン取引は通常、前の取引のIDを参照することで未使用の出力を使用します。これらの出力は一度だけ使用でき、そうでない場合は二重支払いの問題が発生します。しかし、ビットコインの歴史には完全に同じ取引が二組存在することが確かにあります。この状況が発生する理由は、coinbase取引が入力を持たず、新しい通貨を生成するためです。したがって、異なる二つのcoinbase取引が完全に同じ方法で構築される可能性があり、それによって取引IDも同じになります。それに加えて、ハッシュ衝突が発生しない限り、重複する取引IDは発生しえませんが、これは暗号的に安全なハッシュ関数ではほぼ発生しません。この2つの重複取引は2010年11月14日から15日までの間に発生し、約16時間の間隔があります。d5d2....8599はブロックチェーン上でe3bf....b468の後に登場しましたが、それでも私たちはこれを最初の重複取引として分類します。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-2846f47605c9192f211e3a6b36c04d0d)## 重複するトランザクションの詳細mempool.spaceブロックチェーンエクスプローラーは、最初の重複取引が異なる2つのブロックに繰り返し出現する状況を示しています。興味深いことに、異なるブロックエクスプローラーは、重複取引を表示する際に異なるデフォルトの動作を持っている可能性があります。関与する4つのブロックの中で、1つのブロックだけが他の取引を含んでおり、1ビットコインと19ビットコインを統合して20ビットコインの出力を作成しました。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-edcc2e884cd4273116606ff15afa6e15)## 繰り返し出力される消費性各取引の価値は50 BTCで、合計で200 BTCまたは100 BTCが関与しており、理解の仕方によって異なります。現時点では、これらのビットコインは未使用です。理論的には、関連する秘密鍵を持つ人がこれらのビットコインを使用できるが、実際に回収可能なのは100 BTCだけで、重複する50 BTCは使用できません。これらの通貨が使用される際にどのブロックから支出されるかは、定義されていない可能性があります。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-9e956bcc28b2786c805e8c59bc4aee37)## 取引の繰り返しに関する問題繰り返しの取引は、ウォレットやブロックエクスプローラーに混乱をもたらし、潜在的な攻撃リスクを引き起こす可能性があります。例えば、重複支払いを引き起こしたり、取引所への攻撃を引き起こす可能性があります。## 回避策重複取引の問題を解決するために、ビットコインコミュニティは以下の対策を講じました。1. BIP30:2012年に提案され実施された、前のTXIDが消費されていない限り、重複TXIDを使用して取引することを禁止します。2. BIP34:2013年にアクティブ化され、コインベース取引にブロック高を含めることを要求し、すべての取引がユニークであるべきである。3. BIP30チェックの停止: 2015年、BIP34の実施により、ノードは高価なBIP30チェックを停止しました。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-e19f04bf763b8df0cd361e2927ccaaba)## 潜在リスクBIP34はほとんどの問題を解決しましたが、BIP34がアクティブ化される前のいくつかのブロックでは、coinbaseトランザクションのscriptSigsが将来のブロック高と一致する可能性があり、依然として潜在的な重複リスクが存在します。次に重複トランザクションが発生する可能性のあるブロックは1,983,702で、2046年1月頃に生成されると予想されています。! [ビットコイン重複トランザクション:リスクの少ない興味深いバグ](https://img-cdn.gateio.im/social/moments-0076e239e15e09665bdc3aaa08391cef)## まとめコピー取引の難しさ、コスト、および機会の希少性を考慮すると、この脆弱性はビットコインの主要なセキュリティ脅威を構成するものではありません。しかし、その特異性と長期的な影響のため、依然として注目すべき興味深い問題です。将来的には、ソフトフォークなどの方法でこの問題を根本的に修正する必要があるかもしれません。! [ビットコイン重複トランザクション:最小限のリスクで興味深いバグ](https://img-cdn.gateio.im/social/moments-fb0734843d00c4922acda3f85fd02126)
ビットコインの重複取引の謎:稀な脆弱性と未来の課題
ビットコイン取引の重複現象:興味深いがリスクの非常に小さいバグ
概要
ビットコイン取引は通常、前の取引のIDを参照することで未使用の出力を使用します。これらの出力は一度だけ使用でき、そうでない場合は二重支払いの問題が発生します。しかし、ビットコインの歴史には完全に同じ取引が二組存在することが確かにあります。この状況が発生する理由は、coinbase取引が入力を持たず、新しい通貨を生成するためです。したがって、異なる二つのcoinbase取引が完全に同じ方法で構築される可能性があり、それによって取引IDも同じになります。それに加えて、ハッシュ衝突が発生しない限り、重複する取引IDは発生しえませんが、これは暗号的に安全なハッシュ関数ではほぼ発生しません。
この2つの重複取引は2010年11月14日から15日までの間に発生し、約16時間の間隔があります。d5d2....8599はブロックチェーン上でe3bf....b468の後に登場しましたが、それでも私たちはこれを最初の重複取引として分類します。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
重複するトランザクションの詳細
mempool.spaceブロックチェーンエクスプローラーは、最初の重複取引が異なる2つのブロックに繰り返し出現する状況を示しています。興味深いことに、異なるブロックエクスプローラーは、重複取引を表示する際に異なるデフォルトの動作を持っている可能性があります。
関与する4つのブロックの中で、1つのブロックだけが他の取引を含んでおり、1ビットコインと19ビットコインを統合して20ビットコインの出力を作成しました。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
繰り返し出力される消費性
各取引の価値は50 BTCで、合計で200 BTCまたは100 BTCが関与しており、理解の仕方によって異なります。現時点では、これらのビットコインは未使用です。理論的には、関連する秘密鍵を持つ人がこれらのビットコインを使用できるが、実際に回収可能なのは100 BTCだけで、重複する50 BTCは使用できません。これらの通貨が使用される際にどのブロックから支出されるかは、定義されていない可能性があります。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
取引の繰り返しに関する問題
繰り返しの取引は、ウォレットやブロックエクスプローラーに混乱をもたらし、潜在的な攻撃リスクを引き起こす可能性があります。例えば、重複支払いを引き起こしたり、取引所への攻撃を引き起こす可能性があります。
回避策
重複取引の問題を解決するために、ビットコインコミュニティは以下の対策を講じました。
BIP30:2012年に提案され実施された、前のTXIDが消費されていない限り、重複TXIDを使用して取引することを禁止します。
BIP34:2013年にアクティブ化され、コインベース取引にブロック高を含めることを要求し、すべての取引がユニークであるべきである。
BIP30チェックの停止: 2015年、BIP34の実施により、ノードは高価なBIP30チェックを停止しました。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ
潜在リスク
BIP34はほとんどの問題を解決しましたが、BIP34がアクティブ化される前のいくつかのブロックでは、coinbaseトランザクションのscriptSigsが将来のブロック高と一致する可能性があり、依然として潜在的な重複リスクが存在します。次に重複トランザクションが発生する可能性のあるブロックは1,983,702で、2046年1月頃に生成されると予想されています。
! ビットコイン重複トランザクション:リスクの少ない興味深いバグ
まとめ
コピー取引の難しさ、コスト、および機会の希少性を考慮すると、この脆弱性はビットコインの主要なセキュリティ脅威を構成するものではありません。しかし、その特異性と長期的な影響のため、依然として注目すべき興味深い問題です。将来的には、ソフトフォークなどの方法でこの問題を根本的に修正する必要があるかもしれません。
! ビットコイン重複トランザクション:最小限のリスクで興味深いバグ