1万ビットコインの二重支出の成功

ご存知のように、数日前、ビットコイン決済ネットワークで、スプリットトランザクションチェーンで障害が発生しました。 失敗は、古いバージョンのBitcoin 0.7クライアントソフトウェアの完全にマイナーなエラーが原因で発生しました。 このバージョンは、トランザクションの確認に同時に関与している多くのビットコインマイナーによってまだ使用されています。 バグのため、Bitcoin 0.8ユーザーが生成した並列トランザクションチェーンが生成されました。



歴史を技術的な観点からではなく、経済的で犯罪的な観点から見ると、この小さなバグは交換局の強盗に使用できます! 数日間、トランザクションは別々に2つのチェーンに入力されました。つまり、最初に1つのトランザクションチェーンでビットコインを使用し、次に別のチェーンで使用できます。



このような「強盗」や「詐欺」は最小限の労力で可能です。二重のトランザクションを引き起こすことはまったく複雑ではないからです。 どうやら、ビットコイン決済システムで最も重要な脆弱性が発見されたようです。これらはソフトウェア、つまりビットコインクライアントのバグです。



交換局の強盗は、単なる理論上の可能性ではありません。 昨日、ビットコインフォーラムのユーザーの1人が、コインを2回正常に使用した方法についての本当の話をしました(https://bitcointalk.org/index.php?topic=152348)



イベントの簡単な年表を以下に示します。時間はタイムゾーンUTC +8:00で示されます。



08:08-ユーザーがバグを発見する前に、彼はOKPAYを介してBTC-eエクスチェンジャーに10,000ドルのビットコインを転送しました。



09:30-トランザクションはチェーンバージョン0.8のブロック225446に含まれています。



10:08-入金、9800ドルがBTC-eアカウントに送金されました。



12:53-チェーンを調べた後、ユーザーはトランザクションがfork 0.8に含まれていることを発見しましたが、fork 0.7では確認されなかったため、実験して、OKPAYコマンドを送信してAPIを介してトランザクションを実行しました。手数料は0.001 BTCです。



13:01-同じビットコインの2番目のトランザクションは、フォーク0.7、ブロック225446に含まれています。

ご存知のように、後で0.7が「本物」にされることが決定されたのはフォーク0.7で、0.8は破棄されました。



したがって、ユーザーは、Bitcoin 0.7およびBitcoin 0.8の支店からのクライアントからのトランザクションの2つのチェーンを使用して、ビットコインを2回ドルに交換しました。 このようなバグにより、BTCの市場レートがすぐに25%低下したことは驚くことではありません。 プログラムの新しいバグにより、チェーンが再び分割されないことを誰が保証できますか? もしそうなら、高速の支払いを維持しながらトランザクションの不可逆性を保証する方法は?



All Articles