首页 > 比特币 > 正文

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

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

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

描述符钱包

当硬币被发送到比特币地址时,实际发生的事情是它们被“锁定”在一个未花费的交易输出(UTXO)中,只有在隐藏的条件下才会在以后的交易中“解锁”(花费)满足 UTXO。典型情况是包含与特定公钥对应的有效签名。但条件也可以包括包含密码、时间锁失效或签名组合(多重签名)。

到目前为止,比特币核心旨在围绕其相应的私钥管理其钱包中的 UTXO——尽管私钥只是花费硬币的几个潜在条件之一。比特币核心 0.21.0 改为引入“描述符钱包”。描述符钱包让用户可以根据花费它们所需的条件类型对他们的 UTXO 进行分类。(例如:一个只需要有效签名的 UTXO 钱包,一个多签 UTXO 钱包。)

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

由于实施了描述符钱包,普通用户也可能会注意到差异。也许最值得注意的是,当新的比特币核心节点启动时,不会创建默认钱包。相反,只有当用户特别选择这样做时才会创建新钱包,从而允许他们仅创建特别需要的钱包类型。描述符钱包也更好地支持 Watch Only 钱包:即使节点没有使用它们所需的私钥,也可以跟踪某些 UTXO 的钱包。

升级到比特币核心 0.21.0 的比特币核心用户现在仍然可以使用他们的旧钱包。(传统钱包最终将被弃用,这意味着用户需要将他们的传统钱包迁移到描述符钱包,但这在未来的比特币核心版本发布之前并不是绝对必要的。)

通过对等网络为紧凑块过滤器提供服务

“轻客户端”是比特币钱包和应用程序,它们不下载和验证整个比特币区块链,而是只下载和验证与它们相关的部分区块和交易。这不是最安全的,但资源密集程度要低得多。

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

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

现有的比特币核心版本已经可以在本地创建过滤器,并通过远程过程调用 (RPC) 使它们可用于运行在节点顶部的应用程序(如钱包)。比特币核心 0.21.0 现在还包括根据请求在比特币的点对点网络上提供这些过滤器的选项。这使得现在可以运行使用布隆过滤器的独立轻客户端。

更少的重播尝试

除了布隆过滤器,窥探者还可以通过网络分析破坏比特币用户的隐私。如果他们能够找出特定交易源自哪个节点,则该节点的比特币地址可以与其 IP 地址相关联,而 IP 地址又可以与现实世界的身份相关联。

到目前为止,当比特币核心节点向比特币网络广播交易时,他们会尝试每十五分钟重新广播交易,直到交易被包含在一个区块中。这意味着,如果这些比特币核心节点连接到一个窥探对等点,对于窥探者来说,很明显,每 15 分钟尝试重新广播某个交易的比特币核心节点也是该交易的发起节点。

Bitcoin Core 0.21.0 大大降低了它尝试重新广播交易的频率:每 12 到 36 小时一次。不必频繁地重新广播使得自初始广播以来交易已被确认的可能性更大,因此节点根本不太可能需要重新广播。

在未来的比特币核心版本中,这个隐私泄露将被完全修复。然后,比特币核心节点将仅重新广播本应根据其自己的内存池和费用计算确认的交易。此外,它还会重新广播其他交易,而不仅仅是自己的交易。

TOR V3 支持

由于最近对隐私保护 Tor 协议进行了升级,新的 V3(版本 3)Tor 地址比之前的 V2(版本 2)地址更长。V2 地址仍在使用中,但将在大约一年后弃用。

V2 地址的弃用会给希望通过隐私网络使用比特币的比特币核心用户带来问题。比特币核心节点通过相互共享已知使用 Tor 的比特币节点的 Tor 地址来寻找对等点。他们通过用于共享其他节点的常规 IP 地址的相同消息来共享此信息。虽然 Tor V2 地址可以在常规 IP 地址格式 (IPV6) 中“隐藏”,但 Tor V3 地址太长了;换句话说,当前消息太有限,无法与 Tor 升级兼容。

因此,比特币核心 0.21.0 引入了一种新格式来与对等方共享 IP/Tor 地址。这些消息可以大到足以共享 Tor V3 地址。

SCHNORR/TAPROOT 代码和 SIGNET/REGTEST 部署

Schnorr / Taproot有望成为比特币自2017 年 8 月隔离见证(SegWit)以来的首次协议升级。经过两年多的开发,Schnorr 签名算法被认为是对比特币当前 ECDSA 签名算法的全面改进。与 Taproot(一种隐藏各种条件以在加密哈希树中花费硬币的巧妙技巧)相结合,升级有望以可扩展和保护隐私的方式提供更多的智能合约灵活性。

Schnorr/Taproot 代码现在包含在比特币核心 0.21.0 中。除非出现意外的发展,这意味着它不会再发生任何变化,例如,这意味着应用程序开发人员可以围绕升级开始设计软件。此外,Schnorr/Taproot 现在可以在 Signet(一种更新、更可靠的测试网变体,开发人员用来测试新的比特币软件)和 Regtests(其他本地测试网变体)上可用。

然而,Schnorr/Taproot 暂时无法在比特币的主网上使用。为此,升级首先需要激活,这需要此 Bitcoin Core 版本中尚未包含的激活逻辑。预计激活逻辑将包含在一个次要的比特币核心版本中,可能在未来几个月的某个时间。

其他…

除了上述更改之外,Bitcoin Core 0.21.0 还包括各种错误修复和性能改进,这些对于普通用户来说并不明显。例如,比特币核心钱包将从使用 Berkeley DB 切换到 SQLite 数据库,后者更适合作为应用程序数据文件,并在兼容性、支持和测试方面提供多项保证。有趣的是,比特币核心 0.21.0 包括交易请求大修:比特币节点用来了解新交易的新消息协议经过更好的测试、更好的指定并且更易于维护和审查。

猜你喜欢
发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论信息