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の変更

  • getmininginfocurrentblocksizeの値は削除されました。

  • 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のチャットルームまでご連絡ください。

検証用のハッシュ

d64d2e27cad78bbd2a0268bdaa9efa3f1eca670a4fab462b5e851699c780e3a0  bitcoin-0.15.1-aarch64-linux-gnu.tar.gz
ceba092c9a390082ff184c8d82a24bc34d7f9b421dc5c1e6847fcf769541f305  bitcoin-0.15.1-arm-linux-gnueabihf.tar.gz
231e4c9f5cf4ba977dbaf118bf38b0fde4d50ab7b9efd65bee6647fb14035a2c  bitcoin-0.15.1-i686-pc-linux-gnu.tar.gz
b6771c5d67fb6b9c4882cc351e579470a008211d76407155e544b28b00fcd711  bitcoin-0.15.1-osx64.tar.gz
0ce5ca1ba424603526d8a40d9321f1f735797a7205a7fbbe39561c078f2a0858  bitcoin-0.15.1-osx.dmg
34de2dbe058c1f8b6464494468ebe2ff0422614203d292da1c6458d6f87342b4  bitcoin-0.15.1.tar.gz
cc7a31d8fece1462955bddef87945420721e42cfe6af589a36547b0940851765  bitcoin-0.15.1-win32-setup.exe
4d2ad1371df1904367955d3f250212d0edd9f338c26d5cd60d7d8ce3f1733f5a  bitcoin-0.15.1-win32.zip
905a5999fb52b083d7e3bedb2dc6704ca641823f81865db58a55a6a20b454d8c  bitcoin-0.15.1-win64-setup.exe
b858521496c0d7699a6916c20767cdb123eb39be70ffc544d6876b08af3b696a  bitcoin-0.15.1-win64.zip
387c2e12c67250892b0814f26a5a38f837ca8ab68c86af517f975a2a2710225b  bitcoin-0.15.1-x86_64-linux-gnu.tar.gz