Overview
Bitcoin Core 0.15.1のリリースをお知らせします。
このリリースでは、将来のネットワークフォークの可能性に対する予防策としてP2Pネットワークの安全性に重点を置くとともに、0.15.xシリーズにバグフィックスや最適化及び改善を行っています。
主な変更点
ネットワークフォークの安全性強化
ブロックチェーンのフォークや異なる動作をするピアに対する安全対策として、Bitcoin Coreのピア接続と無効ブロックを処理する方法がいくつか変更されています。
-
minimum-chain-workより作業量の少ない不要なブロックは、tipより多くの作業があっても処理されなくなりました(tipが低作業量である場合のIBDの潜在的な問題)。 これによりピアがノードのリソースを無駄にするのを防ぎます。
-
IBD中にminimum-chain-workより少ない作業量を提供するピアはすぐに切断されます。
-
アウトバウンドピアに対しては、そのピアのベストブロックが少なくとも私達のピアのtipど同じくらいの作業をしているかどうかチェックします。 同様の作業量がなく20分のタイムアウト後も充分な作業をしているブロックが見当たらない場合、1つのgetheadersメッセージを送信し、さらに2分待ちます。 2分後にまたそのベストブロックの作業が不十分な場合、そのピアとの接続を切断します。このアルゴリズムの結果、過剰なネットワークトポロジーの変更が発生しないよう、 このロジックによって切断されない4つのアウトバウンドピアを確保し、偽のチェーン上にはない合理的なノードの数を確保します。
-
(BIP 152ではブロックの完全な検証が終わる前にCompact Blockを中継することが明示的に許可されているため、Compact Block以外のアナウンスにおいて) アウトバウンドピアが既に無効であることが分かっているブロックヘッダを提供した場合、接続が切断されます。
-
チェーンのtipが30分以上前進していない場合、tipが古いとみなし、追加のアウトバウンドピアに接続しようとします。 定期的なチェックにより、この追加のピア接続がされている場合、直近で新しいブロックのアナウンスが少ないピアとの接続を切断します。
-
全ての既知の無効なブロック(チェーンに繋ごうとしたが無効であると判明したブロック)のセットは追跡され、 新しいヘッダが無効なチェーン上に構築されているかどうかチェックするのに使われます。これにより無効なブロックの子孫が全て同様にマークされます。
RPCの変更
-
getmininginfo
のcurrentblocksize
の値は削除されました。 -
dumpwallet
でファイルの上書きが許可されなくなりました。これは危険なユーザーの間違いを防ぐ安全策です。 -
backupwallet
はウォレットを破壊することがないよう、元の同じファイルにバックアップしようとすると失敗するようになりました。 -
listsinceblock
は未知のblockhash
引数が渡された際に、ジェネシスブロックから全てのウォレットのトランザクションのリストを返すのではなく エラーを投げるようになりました。空の文字列が指定された場合もこの振る舞いは変わりません。
マイナーのブロックサイズ制限の廃止
0.13.0以降、getblocktemplateが返すブロックのサイズを制限するのにblockmaxweightの使用が推奨されるようになりましたが、 ブロックサイズを直接制限したいと思っていた人にとってはblockmaxsizeがオプションとして利用できました。 このオプションを使うといくつかのUIの問題と最適でない手数料の選択、わずかながらパフォーマンスの悪化が発生するため廃止されました。 さらにblockmaxsizeオプションは、ブロックサイズを直接制限するのではなく、暗黙的なblockmaxweightの計算にのみ使用されるようになりました。 weightではなくサイズでブロックを制限したいマイナーは、ブロックテンプレートから直接トランザクションを削除して手動で制限する必要があります。
リセット時のGUIの設定のバックアップ
GUIの設定は-resetguisettings
引数が使われた際、設定が消去される前にdataディレクトリ内のguisettings.ini.bak
に書き込まれるようになりました。
これはGUIの設定による問題の遡及的なトラブルシュートに使用できます。
重複ウォレットの禁止
以前は、ウォレットファイルを手動でコピーすることで同じウォレットを2回開くことができましたが、両方同時に開くと問題が発生しました。 このため同じウォレットのコピーを開くことはできなくなりました。
-minimumchainwork デバッグ引数の追加
隠れデバッグ引数-minimumchainwork
が追加され、チェーンの検証時にカスタマイズしたminimum workの値を使用できるようになりました。
最後に
詳細についてはリリースノートを参照ください。ダウンロードはダウンロードページからできます。
ご不明な点がありましたら、IRCのチャットルームまでご連絡ください。