科普 | 比特币核心 22.0 发布:有什么新改变

原文 | AARON VAN WIRDUM

今天是比特币核心 22.0 的正式发布,这是大约 13 年前中本聪推出的比特币原始软件客户端的第 22 个主要版本。

在比特币核心首席维护者弗拉基米尔·范德兰 (Wladimir van der Laan) 的监督下,这个最新的主要版本是在大约八个月的时间里由一百多名贡献者开发的。大约 800 个拉取请求的结果,比特币核心 22.0 是第一个支持即将到来的 Taproot 协议升级的主要比特币核心版本,同时还提供了对以前的比特币核心版本的其他一些改进。

顺便说一句,这也是第一个从版本号中删除前导 0 的比特币核心版本:它是比特币核心 22.0,而不是比特币核心 0.22.0。

以下是一些更显着的变化。


GUI 中的硬件钱包支持


硬件钱包是专为确保私钥安全而设计的专用设备,可以在私钥不离开设备的情况下签署交易。尽管如此,为了进行交易,硬件钱包通常确实需要与软件钱包结合使用。许多软件钱包都具有执行此操作所需的兼容性,但有一段时间比特币核心钱包不是其中之一。

这在几年前开始发生变化:比特币核心自 0.18.0 版以来一直与硬件钱包兼容。但是,用户最初必须使用命令行界面 (CLI) 才能使用此功能。从 Bitcoin Core 0.20.0 开始,用户也可以部分使用图形用户界面(GUI),但这仍然需要一些手动复制粘贴来签署交易。

Bitcoin Core 22.0 是第一个为硬件钱包提供完整 GUI 支持的 Bitcoin Core 版本。通过使用硬件钱包接口(HWI)软件作为一种附加组件,比特币核心用户将能够顺利地将比特币核心钱包与来自 Ledger、Trezor、BitBox、KeepKey 和 Coldcard 的设备结合使用。


来自 I2P 的支持


去匿名化比特币用户的一种方法是分析比特币网络并跟踪特定交易源自哪些节点。然后可以将与这些节点关联的 IP 地址与现实世界的身份联系起来。

为了保护他们的隐私,Bitcoin Core 用户已经可以通过匿名 Tor 网络连接到比特币网络。但 Tor 并不是唯一的匿名网络。

Invisible Internet Project (I2P) 是另一个分散的、点对点的匿名通信网络,位于常规互联网之上。与 Tor 一样,它允许用户通过网络路由消息进行通信,对传输链中的每个步骤使用不同的加密层来屏蔽消息本身以及发送方和接收方的 IP 地址。

Tor 和 I2P 之间的区别很细微,但简而言之,据说 I2P 具有更分布式的网络映射解决方案,这是消息路由所需要的。它也将更好地面向支持隐藏服务,例如仅在 I2P 网络本身上可用的网站。相比之下,Tor 据说对出口节点有更好的支持,允许用户与常规互联网进行通信。

Bitcoin Core 22.0 现在也支持通过 I2P 连接到比特币网络。在 Tor 之后,这使得 I2P 成为比特币核心用户可以用来保护他们的 IP 地址免受比特币网络上的同行访问的第二个匿名网络,使他们能够更好地保护自己的隐私。


来自 Taproot 的支持


Bitcoin Core 0.21.1 是第一个包含即将于今年 11 月激活的 Taproot 协议升级的激活逻辑的 Bitcoin Core 版本。现在,Bitcoin Core 22.0 是第一个支持升级的主要版本。

最明显的是,这意味着 Bitcoin Core 22.0 将完全验证新的 Taproot 规则。从今年 11 月升级激活的那一刻起,所有 Taproot 交易都将根据新的协议规则进行有效性检查。

此外,比特币核心钱包将支持创建基本的 Taproot 输出(“地址”)。比特币核心用户将能够接受可以使用单个私钥花费的 Taproot 输出付款,但使用 Taproot 逻辑进行保护。

当然,与之前的 Bitcoin Core 钱包软件相比,这实际上并没有提供很多好处(如果有的话);Taproot 支持的更复杂的智能合约类型可能会在未来的比特币核心版本中得到支持

在幕后,比特币核心还将支持创建特定于 Taproot 的描述符,用于识别 Taproot 输出。这种分类可以使依赖比特币核心软件的应用程序受益,例如(外部)钱包。


TESTMEMPOOL 更新


包中继是一个正在进行的项目,旨在升级交易在比特币网络上的传输方式。目前,交易只有在包含足够高的费用以包含在比特币节点的内存池(mempool)中时才会被中继。如果交易不包含足够高的费用,则不会被节点接受,也不会转发到比特币网络上的其他节点。

然而,这种逻辑与如何选择包含在新比特币区块中的交易略有不同。为了确定交易是否包含在一个区块中,交易的费用不仅要单独考虑,还要考虑该交易是否有助于确认其他交易。如果是这样,则考虑交易费用的组合。

这允许用户通过在新交易中以高费用重新花费硬币来补偿在内存池中等待的低费用交易。为了获得第二笔(更高)的费用,矿工们希望同时接受两笔交易。这个技巧称为 Child-Pays-For-Parent (CPFP),在某些第二层协议(如闪电网络)的上下文中特别有用。

在某些情况下,内存池包含和块包含之间的策略差异可能会阻碍 CPFP 解决方案。如果第一笔交易首先没有包含足够高的费用以在内存池中被接受,那么在一个区块中将不会接受重新花费更高费用的硬币的新交易,因为它需要第一笔交易在它被认为有效之前也要确认。

为了解决这个问题,包中继将使交易以包的形式通过比特币网络传输。与单独考虑交易及其费用不同,交易组合将被考虑用于内存池包含,就像区块包含一样。

Bitcoin Core 22.0 包括实现包中继的一个步骤:连接到 Bitcoin Core 的应用程序可以通过将多个交易作为一个包提交来测试交易是否包含在它们自己的内存池中。但是,此版本尚不支持通过对等网络传输或接受此类包。


更大的 SEGWIT 多信号


多重签名(multisig)输出是需要来自多个私钥的签名才能使用的硬币。例如,这可以是来自两个不同私钥的两个签名,或来自一组五个私钥的三个签名,甚至来自一组八个私钥的七个签名,等等。

多重签名可用于多种目的。一个例子是使用多台设备来保护资金,这样即使一台设备遭到破坏或丢失,货币仍然安全且可访问。类似地,多重签名可用于在几个人之间共享资金控制权,需要他们之间合作才能花费硬币。此外,在一些二层解决方案中使用了多重签名。

迄今为止,比特币核心软件支持在隔离见证 (Segwit) 输出中为最多 16 个密钥创建多重签名输出,即使比特币协议没有这样的限制。Bitcoin Core 22.0 现在将 Segwit 多重签名功能扩展到 20 个密钥。


写评论,请先登录