今天标志着的正式发布 比特币核心0.17.0, 中本聪(Satoshi Nakamoto)在大约10年前推出的第17代比特币原始软件客户端,至今仍是网络上占主导地位的比特币实施。监督者 比特币核心 首席维护者Wladimir van der Laan,这个最新的主要版本是由135个贡献者在大约七个月的时间内开发的.

超过700个合并的合并请求的结果,Bitcoin Core 0.17.0包括一系列性能改进和错误修复以及其他更改.

以下是其中一些更改的概述.

改进硬币选择

钱包中的硬币有效地存储为单独的块(“交易输出”)。通常,每个收到的付款都有一个大块;因此,大多数块代表不同的数量。从钱包付款时,会将不同的部分加在一起,以构成足以支付的大笔金额,再加上费用。不同的块通常未加总到所需的确切数量,但是,在这种情况下,将“更改地址”添加到交易中,将所有剩余资金退回同一钱包.

到目前为止,Bitcoin Core钱包将不同的区块加在一起。只有这样,它才能计算并添加支付交易所需的费用。但是在某些情况下,向交易中添加费用意味着添加的块不再构成足够大的金额,在这种情况下,必须包括一个额外的块.

比特币核心0.17.0引入了由 比特币 工程师Mark Erhardt。这提供了两个具体的改进。首先,在避免将每个大块的费用选择为交易的一部分之前计算费用,以避免以后必须添加新的大块。其次,该算法尝试匹配不同的块,以使它们加起来达到所需的确切数量,并尽可能避免使用“更改地址”(发送剩余的“更改”的地方)。 (具有大块的大钱包,例如由交易所或其他高流量实体操作的大钱包,比其他钱包更不需要更改地址。)

此外,Bitcoin Core 0.17.0中的硬币选择算法还包括一项可选的隐私改进措施.

虽然违反最佳做法,但有可能收到同一位比特币地址的多笔付款。 (例如,捐赠地址经常发生这种情况。)重复使用地址本身就不利于隐私,因为很明显该地址上的所有硬币和从该地址进行的所有付款均来自同一用户。但是,如果在不同的交易中使用绑定到同一地址的不同数据块,并将它们链接到最初与该地址不相关的数据块,则情况更糟。.

为了解决最后一个问题,Bitcoin Core 0.17.0为用户提供了一个选项,可以让他们优先考虑在交易中添加与同一地址绑定的块,并在可能的情况下将其他任何块都排除在交易之外.

轻松创建和使用新钱包

从Bitcoin Core 0.15.0开始,可以创建多个彼此独立运行的钱包。这些钱包都有各自独立的比特币地址,私钥和资金。用户可以将不同的钱包用于不同的目的;例如,一个钱包可以用于个人日常购买,另一个可以用于与业务相关的交易,而另一个则可以用于交易。由于不同的钱包无法通过区块链分析相互链接,这可以使记帐更加容易和便捷,并且用户可以更轻松地从增加的隐私中受益。.

但是,到目前为止,只能在启动节点时创建新的钱包,并且它不适用于Bitcoin Core钱包(GUI)用户。这两个限制现在都已解决。 Bitcoin Core 0.17.0允许用户随时创建新的钱包,并且在GUI中提供了此功能.

另外一个好处是,Bitcoin Core 0.17.0引入了一项称为“ Scantxoutset”的功能。这使用户可以通过检查未使用的交易输出(UTXO)设置而不是重新扫描整个交易历史记录,来快速验证其新钱包是否已包含硬币(例如,因为私钥是从另一个钱包导入的)。.

非高清到高清钱包升级

早于0.13.0的比特币核心版本仍要求用户备份其所有私钥,而自那时起,所有比特币核心版本均提供了分层确定性(HD)钱包。 HD钱包用户只需要存储一个种子短语(单词列表)作为备份.

但是,比特币核心用户谁 已升级 他们的系统使用的比特币核心0.13.0及更高版本无法创建新的高清钱包。非HD钱包和HD钱包之间的不兼容性意味着这些用户仍然无法备份其所有私钥.

现在,Bitcoin Core 0.17.0允许这些用户也升级到HD格式。此外,已经拥有高清钱包的比特币核心钱包用户现在可以选择生成或导入新的高清种子。.

仅观看-钱包

比特币钱包通常存储私钥,允许用户花费其硬币。但是,比特币核心现在也支持“仅监视”地址已有一段时间了。这些地址的私钥未存储在钱包中,但附加到这些地址的硬币仍在钱包中可见。这使用户可以轻松地接受付款并跟踪其资金,例如,离线存储其私钥.

Bitcoin Core 0.17.0更进一步,使用户可以创建特定的“仅监视”钱包,其中每个地址都是“仅监视”地址。作为一个具体的例子,这将使使用Bitcoin Core更加容易地以HD种子的形式跟踪硬件钱包或纸质钱包中的资金.

部分签署的比特币交易

虽然许多交易很简单-一个用户支付另一笔费用-比特币也允许更复杂的交易类型。这些包括,例如,多个用户需要签名的多签名(multisig)交易,以及不同用户将其独立交易合并为一项大交易的增强隐私的CoinJoin交易。.

为了更好地促进这些类型的交易,Bitcoin Core 0.17.0引入了 BIP 174 由Andrew Chow设计的部分签署的比特币交易(PSBT)框架。该框架使比特币核心用户可以部分签署交易,也可以将元数据添加到这种部分签署的交易中。其他人可以使用此元数据来完成交易.

如果其他钱包采用该标准,则PSBT将特别有用。作为一种潜在的用例,例如,它可以让用户通过将其锁定到一个多重签名帐户中来保护自己的资金,在该帐户中,交易需要从Bitcoin Core钱包创建的签名以及从硬件钱包创建的签名。或者,它可以让比特币核心用户与(其他)保护隐私的钱包用户一起参与CoinJoin计划.

目前,部分签名交易功能仅适用于通过命令行或通过连接的应用程序操作Bitcoin Core的用户.

从用户界面修剪

存储曾经发生的所有(链上)比特币交易,比特币区块链目前已超过180 GB,并且每天都在增长。新的比特币核心用户必须下载并验证所有这些数据.

但是,由于有一个称为“区块链修剪”的技巧,这些用户不一定需要存储所有这些数据。在修剪模式下,节点将自动忽略较旧的交易数据,仅保留安全操作所需的内容。到目前为止,只能通过命令行启用修剪模式.

首次,Bitcoin Core 0.17.0提供了一个方便的GUI切换,以启用从钱包中进行修剪,从而使希望运行完整节点以实现最佳安全性的临时非技术性Bitcoin用户更加方便地使用它.

有关此最新版本的Bitcoin Core的新功能的更多详细信息,请参阅 Bitcoin Core 0.17.0发行说明 或看 链码实验室 工程师和比特币核心贡献者约翰·纽伯里(John Newberry) 介绍 在伦敦比特币开发者聚会.