Bitcoin Core 0.21.0发布:新功能

2021-01-16 12:42:51

今天标志着Bitcoin Core 0.21.0的正式发布,这是中本聪(Satoshi Nakamoto)于大约12年前推出的第21个比特币原始软件客户端的主要版本。

在比特币核心首席维护者弗拉基米尔·范德兰(Wladimir van der Laan)的监督下,这个最新的主要发行版由大约一百位贡献者在大约六个月的时间内开发而成。超过600个合并的请求请求的结果,Bitcoin Core 0.21.0是近年来最大的Bitcoin Core版本之一,引入了各种新功能以及隐私和性能改进,同时朝着Schnorr / Taproot协议升级迈出了一大步。

当硬币被发送到比特币地址时,实际发生的情况是,它们被“锁定”在未花费的交易输出(UTXO)中,如果条件隐藏在后面的交易中,则仅在以后的交易中被“解锁”(花费)。满足UTXO。典型的条件是包含与特定公共密钥相对应的有效签名。但是条件还可以例如包括密码,时间锁的流逝或签名(multisig)的组合。

直到现在,Bitcoin Core仍被设计为围绕着其对应的私钥管理其钱包中的UTXO,即使私钥只是花费硬币的几种潜在条件之一。相反,Bitcoin Core 0.21.0引入了“描述符钱包”。描述符钱包使用户可以根据使用它们的条件类型对他们的UTXO进行分类。 (例如:一个仅需要有效签名的用于UTXO的钱包,一个用于多重签名UTXO的钱包。)

描述符钱包对于在Bitcoin Core之上设计软件的应用程序开发人员特别有用。现在可以轻松地将特定应用程序设计为仅使用特定类型的UTXO,例如multisig UTXO,而忽略任何非multisig UTXO。

现在,实施描述符钱包的普通用户也可能会注意到差异。也许最值得注意的是,启动新的Bitcoin Core节点时不会创建默认钱包。取而代之的是,仅当用户明确选择这样做时才创建新的钱包,从而允许他们仅创建特定所需类型的钱包。描述符钱包还更好地支持“仅观看”钱包:即使节点没有使用它们所需的私钥,该钱包仍可跟踪某些UTXO。

升级到Bitcoin Core 0.21.0的Bitcoin Core用户现在仍然可以使用其旧版钱包。 (旧版钱包最终将被弃用,这意味着用户将需要将其旧版钱包迁移到描述符钱包,但这在以后的Bitcoin Core发行版之前绝对没有必要。)

“轻量级客户”是比特币钱包和应用程序,它们不下载并验证整个比特币区块链,而是仅下载并验证与它们特别相关的部分区块和交易。这不是最佳的安全性,但是资源消耗少得多。

一种流行的方法是使用Bloom Filters。简而言之,布隆过滤器是一种加密技巧,可以从网络上或多或少的随机对等节点请求相关数据。但是,不幸的是,多年来,很明显,Bloom Filters相当不注重隐私:它们实质上将用户的所有地址透露给(或多或少随机的)对等节点,这当然可以由侵犯隐私的人来操作。窥探

布隆过滤器解决方案的一种更新且更具隐私保护性的替代方法称为“紧凑客户端块过滤”(BIP 157/158)。紧凑的客户端块过滤从本质上改变了Bloom Filter的窍门。完整的节点不是为轻钱包创建发送给完整节点的过滤器,而是为每个块创建过滤器,并根据请求将其发送给轻客户端。然后,轻量客户端使用这些过滤器来确定与它们相关的交易是否可能已包含在一个区块中。如果是这样,轻钱包将获取整个区块并从中提取任何相关交易数据。 (会有一些误报;即使过滤器提示可能,其中也没有相关交易数据的区块。)

现有的Bitcoin Core版本可能已经在本地创建了筛选器,并可以通过远程过程调用(RPC)将其用于运行在节点顶部的应用程序(例如钱包)。比特币核心0.21.0现在还包含一个选项,可以根据要求通过比特币的点对点网络提供这些过滤器。这使得现在可以操作使用布隆过滤器的独立照明客户端。

除了Bloom Filters之外,监听还可以通过网络分析破坏比特币用户的隐私。如果他们能够确定特定交易是从哪个节点发起的,则可以将该节点的比特币地址绑定到其IP地址,该IP地址又可以与真实世界的身份相关联。

直到现在,当比特币核心节点向比特币网络广播交易时,他们会尝试每十五分钟重新广播一次交易,直到将交易包含在一个区块中为止。这意味着,如果这些Bitcoin Core节点连接到侦听对等方,则对于侦听将很明显,尝试每15分钟重新广播某个交易的Bitcoin Core节点也是该交易的发起节点。

Bitcoin Core 0.21.0大大降低了它尝试重新广播交易的频率:每12到36小时仅一次。自从第一次广播以来,重新广播的频率降低了,因此交易被确认的可能性变得更大,因此该节点根本不必重新广播。

在未来的Bitcoin Core版本中,此隐私泄漏将被完全修复。 然后,比特币核心节点将仅根据其自身的内存池和费用计算来重新广播应已确认的交易。 此外,它还将重新广播其他交易,而不仅仅是其自身。 由于最近对隐私保护Tor协议的升级,新的V3(版本3)Tor地址比之前的V2(版本2)地址长。 V2地址仍在使用中,但大约从现在起将不推荐使用。