概述
我们很高兴地宣布发布比特币核心 0.15.1。
此版本侧重于点对点网络的安全,以防范未来可能出现的网络分叉,并为 0.15.x 系列带来错误修复、优化和改进。
显著变化
网络分叉安全增强
为了防范区块链分叉和行为不端的节点,对比特币核心处理节点连接和无效区块的方式进行了一些更改。
-
即使工作量超过尖端区块(在初始区块下载期间,尖端区块可能工作量较低),现在也不再处理工作量低于最小链工作量的未请求区块。这可以防止节点浪费资源。
-
在初始区块下载期间提供工作量低于最小链工作量的链的节点现在将断开连接。
-
对于给定的出站节点,我们现在检查其已知最佳区块的工作量是否至少与我们的尖端区块相同。如果不是,并且在 20 分钟超时后我们仍然没有收到关于具有足够工作量的区块的信息,那么我们会发送一个 getheaders 消息,并等待 2 分钟。如果 2 分钟后其已知最佳区块的工作量不足,我们将断开该节点的连接。我们保护 4 个出站节点免受此逻辑的断开连接,以防止由于该算法导致网络拓扑结构发生过多变化,同时仍确保我们有合理的数量的节点不被认为是在虚假链上。
-
为我们提供已知无效的区块头(除了紧凑区块公告,因为 BIP 152 明确允许节点在完全验证之前中继紧凑区块)的出站(非手动)节点现在将断开连接。
-
如果链尖端在 30 分钟内没有推进,我们现在假设尖端可能已过时,并将尝试连接到其他出站节点。定期检查确保如果此额外节点连接正在使用,我们将断开最近宣布新区块时间最长的节点的连接。
-
现在跟踪所有已知无效的区块(即我们尝试连接但发现无效的区块)的集合,并用于检查新区块头是否建立在无效链上。这确保了所有从无效区块派生的内容都被标记为无效。
RPC 更改
-
已删除
getmininginfo中的currentblocksize值。 -
dumpwallet不再允许覆盖文件。这是一项安全措施,也可防止用户误操作。 -
backupwallet在尝试备份到源文件时将失败,而不是销毁钱包。 -
listsinceblock如果传递了未知的blockhash参数值,现在将抛出错误,而不是返回自创世区块以来的所有钱包交易列表。当提供空字符串时,行为不变。
矿工区块大小限制已弃用
尽管自 0.13.0 以来一直首选 blockmaxweight 来限制 getblocktemplate 返回的区块大小,但 blockmaxsize 仍然是那些希望直接限制其区块大小的人的选择。使用此选项会导致一些 UI 问题以及非最佳费用选择和性能略有下降,因此现在已弃用。此外,blockmaxsize 选项现在仅用于计算隐含的 blockmaxweight,而不是直接限制区块大小。任何希望按大小而不是按权重限制其区块的矿工都必须通过直接从其区块模板中删除交易来手动执行此操作。
GUI 设置在重置时备份
当使用 -resetguisettings 参数时,GUI 设置现在将写入数据目录中的 guisettings.ini.bak,然后再将其擦除。这可用于追溯性地排除因 GUI 设置导致的问题。
不允许重复钱包
以前,可以通过手动复制钱包文件来打开同一个钱包两次,这会导致同时打开两个钱包时出现问题。现在无法再打开同一钱包的副本。
添加了调试 -minimumchainwork 参数
添加了一个隐藏的调试参数 -minimumchainwork,允许在验证链时使用自定义最小工作值。
结论
如有任何疑问,请访问我们的 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