Bitcoin Unlimitedにバグ見つかる13.2BTCの採掘報酬が無効に

研究所レポート「クラウドマイニング入門」(19ページ)を配信しました。レポートへ

研究所レポート「ラズベリーパイによるビットコインフルノードの立て方」(23ページ)を配信しました。レポートへ

研究所レポート「仮想通貨交換業者に関する内閣府令(案)の公表について」」(24ページ)を配信しました。レポートへ

詳細日本語マニュアル付きTrezorの購入はコインギフトから

46P96yY昨日リリースされたBitcoin Unlimited V1.0にバグがあった模様だ。

このバグの影響で、ブロック発見により採掘者が得られるはずだった新規コインと手数料、合計で13.2BTCが無効になった。

ビットコインUnlimitedは、ブロックサイズを固定とせず、マイナーの投票によってダイナミックに可変させる仕様を取り込んだバージョン。現在のビットコイン・Coreチームとは別の開発者によって開発されているもので、ハードフォークによる採用が提案されていた。

redditの掲示板によれば、Unilimtedのバグは、ブロック450529で起きた。Unlimitedのソフトウェアは、規定の1Mを僅かに超えるサイズのブロックを作成し、マイニングしてしまった。

このブロックはネットワークに伝播されたものの、1Mを超えるため、「無効」と判断されることとなった。

このため、このブロックはブロックチェーンに追加されることなく、捨てられることになった。

ブロック発見の新コインとして、12.5BTC、加えて手数料が0.7BTCの合計13.2BTCが、採掘の報酬として得られるはずであったが、無効になった。(これに費やした電気代は戻ってこない)

もっとも、このブロックを採掘したのは、Unlimited 推進派によるBitcoin.comのプールであるため、自身のバグによりコインの報酬を逃したという結果になった。

バグの原因は、Coinbaseトランザクションのサイズの仮定ミスというものだ。

ブロックを1M以内に収めるためには、そのブロックに取り込む取引のほかに、自分自身への報酬として発行する新規コイン(Coinbase トランザクションという)の情報も合わせて書き込む。

Unlimitedは、このコインベーストランザクションの書き込みの計算にバグがあり、実際に仮定していたサイズより大きなCoinbase トランザクションを作成した模様だ。これにより、ブロックの合計が、わずかながら1Mバイトを超えてしまった。

回避方法として、ブロックに取り込む取引の量を僅かに引き下げ、

bitcoin-cli setminingmaxblock 999000

として、起動することによりこのバグを当座は回避できるとしている。

なお、一般のユーザーには特になんの影響もない。このブロックで確認されるはずだった取引は無効にはならず、他のブロックに取り込まれて確認さる(されている)はずである。

 

「よくわかるビットコインスクリプト入門」を配信しました。レポートへ

「ライトニングネットワークの衝撃~ビットコインによる本当のマイクロペイメントがもたらすもの」を配信しました。レポートへ

「ビットコインデビットカード3種比較と裏話:レート、日本で利用可能か?紛失対応まで 」を配信しました。レポートへ

Donate with IndieSquare

このブログでは読者の皆さんとのつながりを作る実験としてトークンを配布しています。
※記事が役に立った場合は、寄付ボタンをクリックして、ぜひ寄付をお願いします。寄付額相当のDOUBLEHASHコイン(詳細説明)を送付いたします。
コインを受け取るには、IndieSquare Walletからお送りください。