ビットコイン・インスティテュート

Re: ビットコインv0.1リリース — アップグレード時の​問題

二つの封筒アイコンを矢印で結び経過時間を示す時計を添えた図と、ソフトウェアのバージョンを表す二つのバッジをアップグレードの矢印でつないだ図、そして横一列に連なるブロックの本チェーンから、コインを乗せたまま薄れて消えていく点線の分岐を描いたイラスト。

前回のメールからわずか11分後に送信されたこのメールで、トランメルはv0.1.0からv0.1.3へのアップグレード時に遭遇した2つの問題を報告した。

ダスティン・トランメル(サトシ宛のメール、2009年1月13日03:40 UTC)

以前のバージョン(ヘルプには0.1.1と書かれていたが、実際には0.1.0だったと思う)を閉じたとき、プロセスが終了しなかった。UIは終了したが、プロセスは残ったままだ。バージョン0.1.3を起動できるようにするには、手動でプロセスをkillする必要があった。

より深刻だったのは、生成したコインの喪失であった。

ダスティン・トランメル

バージョン0.1.3を起動したところ、私のトランザクションエントリ4件はすべて依然としてunconfirmedと表示されているが、DescriptionがGenerated (not accepted) に変わっている。これは、他のノードが先にチェーンを延ばし、私のコインが死んだブランチで生成されたということなのかな? もしそうなら、以前のソフトウェアのインスタンスはどうして即座にそれを検知して、勝ち残ったブランチで採掘を始めなかったんだろう? 0.1.0のバグかな?

トランメルは問題を正確に診断していた。すなわち、v0.1.0の通信バグにより彼のノードはブロックをネットワークにブロードキャストできず、採掘したすべてのブロックが孤児ブロックになっていた(ブロック・チェーン設計のエントリーが、その背後にある仕組みと、孤児ブロック・失効ブロックという現代的な区別を詳述している)。サトシは次の返信でこれを確認した。8分後、別のメールで、トランメルはマイニングの中央集権化に関する質問を続けて送った。これは後にビットコインで最も根強い論争の一つとなる。

原典の外部ソース

https://en.bitcoin.it/wiki/Source:Trammell/Nakamoto_emails
2013年11月にダスティン・トランメルにより公開

他の外部ソース