主页 > imtoken安卓版 > 比特币软件获得历史上最大的升级

比特币软件获得历史上最大的升级

imtoken安卓版 2023-01-18 13:09:29

北京时间2月23日晚,0.12.0版本。 比特币核心软件正式发布。 此更新可能是迄今为止对比特币软件最重要的改进。

以下是此版本的主要改进,如果您将节点升级到 0.12 版本,您将享受:

签名验证将快7倍;

能够限制上传流量;

通过内存池限制防止碰撞;

发送交易时,您可以选择提高手续费,加快交易处理速度;

改进交易中继规则;

它可以在 Tor 运行时自动使用;

能够通过ZeroMQ的通知订阅APP;

显着减少钱包占用的磁盘空间;

矿工在组装区块时可以变得更快;

除了这些,还有 13 个其他的改进没有进入这个列表,但它们仍然非常有价值。 您可以在本文末尾找到它们的完整列表。

下面,让我们仔细看看这些改进中的每一项。

签名验证将快7倍

在 Bitcoin Core 中,之前使用 OpenSSL 来验证比特币交易的 ECDSA 签名。 就其功能而言,OpenSSL 非常全面(它不仅可以简单地验证 ECDSA 签名),但庞大的功能集意味着它的攻击面也非常广泛。 这也威胁到比特币的安全,从 Bitcoin Core 中替换 OpenSSL 已成为更高优先级的改进,并用更简单、更中心化的替代方案取而代之。

为了解决这个问题,Bitcoin Core 团队开发了一个名为 libsecp256k1 的新 ECDSA 签名验证库来替代 OpenSSL。 这是开发人员花费近 3 年时间进行的复杂工程研究的结果。 当这被纳入比特币核心时,签名验证码的攻击面就大大减少了。

此外,libsecp256k1 的签名验证比 OpenSSL 的实现快得多。 在 64 位架构环境下,签名验证最多可加速 7 倍,原来的索引和区块验证现在可以在不到原来一半的时间内完成。 这是比特币交易验证过程向前迈出的一大步。 一大步。

感谢:Pieter Wuille、Greg Maxwell 和 Cory Fields

能够限制上传流量

节点上传流量对于部分用户来说可能是一种负担,因此限制流量的能力是比特币急需的改进。 节点用户现在可以对他们可以上传的流量设置软限制。 用户可以设置一个参数来指定某些目标节点可以传输多少数据。 它会尽量保持在限制以下而不是达到这个值,如果流量达到这个限制,它只会服务于上周内请求的数据块。

致谢:乔纳斯·施奈利

通过内存池限制防止碰撞

旧版本的比特币软件对允许进入节点内存池的交易数量没有限制。 即使节点只接受具有一定最低中继费用的交易,有时满足这些要求的交易仍然会不堪重负,并导致 RAM 相对较低的节点崩溃。 尤其是考虑到攻击者可以利用这个特性来攻击具有泛洪交易的比特币网络,导致部分节点崩溃。

在这个新版本中,节点可以设置他们的内存池大小限制,运营商可以配置他们想要提交到内存池的交易数量。 当达到此内存限制时,仍会接受新交易,但交易费用最低的交易将从内存池中移除。 这个新的内存限制可确保防止内存池意外崩溃,因为可以进行的事务数量是可管理的。

感谢:Matt Corallo 和 Suhas Daftuar

发送交易时,您可以选择提高交易费用以加快交易处理速度

如果用户发送交易费用过低的交易,这些交易往往会卡住(矿工不会考虑处理它们),这可能会导致问题比特币 app,因为这些交易中未花费的输出(UTXO)可能难以处理使用可能会导致在冻结资金方面。 适当的交易费用很难计算,因为它们在很大程度上取决于交易的规模和给定的时间。 因此,用户通常会低估交易手续费,导致很多交易卡住比特币 app,或者高估交易手续费,导致大量不必要的多付。

一项称为“选择加入费用替换”的新功能使交易发送者能够配置他们的交易。 发件人可以从较低的费用开始,看看他们的交易是否会被接受,如果不接受,他们可以增加费用直到被接受。 这允许发件人最大限度地减少他们的支付费用,并最大限度地提高他们的交易被包含在一个区块中的机会。 (译者注:这个方案争议比较大,主要是对零确认影响很大)

感谢:Peter Todd 和 Suhas Daftuar

改进交易中继规则

截至目前,已预留一定量的中继带宽用于低费用(甚至零费用)交易(也称为免费交易)。 这种设置的问题是所有其他交易(那些具有中等和高费用的交易)必须竞争有限的可用中继空间。

为了更好地服务于交易发送者,节点将不再继续中继一定数量的免费交易。

感谢:Alex Morcos 和 Suhas Daftuar

它可以在 Tor 运行时自动使用

节点现在可以检测 Tor 是否正在运行,如果是,它们会自动为 Tor 创建隐藏服务并通过 Tor 网络连接到其他节点。 无需手动配置。

致谢:Wladimir van der Laan

通过ZeroMQ,APP可以订阅通知

截至目前,对外部服务订阅新区块和新交易通知的支持是有限的,但是现在因为集成了ZeroMQ,所以具备了这个能力。

归功于:约翰森·科根

显着减少钱包占用的磁盘空间

使用 Bitcoin Core 钱包的用户经常会很头疼。 允许全节点意味着数据存储负担高(目前已经达到60GB,还会继续增加)。 对于那些想运行全节点,又不想加重数据存储负担的人来说,新版本的 Bitcoin Core 可以实现剪枝模式的能力,这意味着节点只需要跟踪未花费的输出(unspent outputs),忘记之前处理过的块和花费的输出。 反过来,这意味着用户在运行一个全节点时只需要存储大约 2GB 的数据,这与之前的 60GB 相比大大降低了要求。

感谢:Jonas Schnelli、Greg Maxwell 和 Adam Weiss

矿工在组装区块时可以变得更快

以前,区块模板的创建对矿工来说非常昂贵,需要大量的计算时间和大量内存。 所谓高计算时间,是指矿工在组装区块时需要进行区块验证的共识关键计算。 内存需求高是因为节点内存池中的每笔交易都需要在块组装时将其输入放入内存缓存中进行各种计算。

在0.12版本中,共识关键计算不再是出块过程中的一次性执行过程,而是一旦这些交易全部进入内存池,这些交易就会被预先计算并缓存起来。 这意味着在组装期间,大部分计算已经执行,并且可以非常快速地生成块模板。 具体来说,这个组装时间会从之前的几秒缩短到几十毫秒。

这种预计算意味着某个节点内存池中所有交易的输入不再一次性进入缓存,从而减少了对内存的需求。

致谢:Alex Morcos

结论:

0.12 版本的发布将是 Bitcoin Core 客户端的重大进步。 然而,目前的开发团队还有很多工作要做,Bitcoin Core 一直在寻找更多的贡献者。 有关详细信息,请参阅 Bitcoin Core 的贡献页面,尤其是 CONTRIBUTING.md。 下载0.12版本访问:

下载自