主页 > imtoken苹果下载不了 > 比特币SV节点软件升级,交易链长度限制将从25条增加到1000条

比特币SV节点软件升级,交易链长度限制将从25条增加到1000条

imtoken苹果下载不了 2023-07-01 05:47:07

本文由比特币 SV 基础设施团队技术总监 Steve Shadders 于 2020 年 12 月 24 日发表。 以下为文章全文。

比特币升级几次了_比特币价值比特币最新_比特币平台关闭后比特币怎么办

尽管花费的时间比我们预期的要长,但比特币 SV 节点软件 1.0.7 测试版(称为 Dynastic)最终将在 1 月初发布。

我们已经为这个 Dynastic 版本工作了将近一年,以解决我们从 Bitcoin Core (BTC) 继承下来的一个特别棘手的问题。 这次有很多代码更改,因此我们在测试时需要比平时更加​​谨慎,但我相信大多数 BSV 应用程序开发人员都会觉得这是值得的。 这是第一个提示:

比特币价值比特币最新_比特币升级几次了_比特币平台关闭后比特币怎么办

上面是我们向比特币 SV 节点提交 200 万笔交易时随时间变化的动态图表。 Y 轴表示节点接受的事务数,X 轴表示经过的时间(以秒为单位)(我们在动画中加速了时间)。 橙色线是最新测试版软件v1.0.7的性能,蓝色线是之前的v1.0.6软件。 在第一张图中,您可以看到 v1.0.6 和 v1.0.7 的行为几乎相同; 在第二张图中,您可以看到差异开始显现; 在第三张图中,您可以看到显着的差异。

比特币平台关闭后比特币怎么办_比特币价值比特币最新_比特币升级几次了

为什么上面有 3 个并排的图表? 答案就在每张图的上方。 这三个图中提交的交易是(祖孙)交易链长分别为1、50、1000的交易集。

25个祖孙交易链长的限制已经成为历史!

在比特币 SV v1.0.7 测试版中,我们将默认的祖父母链长度限制从 25 增加到 1000。我们还测试了更长的链并观察到类似的线性性能曲线。 实际上,除了因为我们需要在敌对环境中格外小心外,我们没有明确的理由取消此限制。 所以不用担心,我们将在达到 1000 后的几个月内完全取消限制。我们认为取消此限制也可以稍微提高性能,因为不需要计算交易链长度。

话虽如此,为什么首先会有这个限制? 为什么我们花了这么长时间才删除它?

街区建设的历史

最初,bitcoind 版本 0.1.0 做的相当简单:每隔一秒左右,它会对收到的所有交易进行内存映射,并检查其中的所有新交易以确保它们满足最低交易费用要求; 只要满足,就加入到区块模板中比特币升级几次了,相当于有效交易的有序列表。 接下来计算这组交易的 merkle 树,并构建一个块头以开始工作量证明(挖掘)。 这个过程可以优化,但在当时它足够高效,没有人会对其进行不必要的优化。

比特币升级几次了_比特币平台关闭后比特币怎么办_比特币价值比特币最新

然后是 1MB 的区块大小限制和创建交易费用市场的想法。 当时的想法是,限制区块大小会产生对区块空间的需求并推高交易费用,这反过来又会促使用户竞标交易费用以使他们的交易包含在区块中。 这时候对比特币软件提出了一个新的需求:如果一个矿工因为1MB的限制不能选择所有可用的交易,他需要通过选择费率高的交易来最大化自己的挖矿收益 交易留给其他人跟随向上。

限制块大小的后果

因为区块大小是有限制的,积木的代码就成了意大利面条记账的噩梦,其他的规则都是基于这个限制衍生出来的。 选择高手续费的交易听起来很简单,但实际上当你有未确认的祖先交易并且发生 CPFP(child-pays-for-parent)时,你将面临大量的图遍历工作和其他可怕的复杂情况。 比如每增加一个新的关联交易,基本上都需要遍历一遍与这个交易关联的交易图组,这会带来二次计算成本。 进一步的解释是,相关交易的集合越大,对集合进行操作的成本就越高,结果是速度呈指数下降。 从我们上面的图表中可以清楚地看到这一点,随着关联交易集数量的增加,我们将交易转移到内存池的速度会急剧下降。

您还可以在使用比特币核心、比特币 ABC 和旧版本的比特币 SV 软件生成的区块中的交易布局中观察到这种效果——区块中的第一笔交易具有最高的交易费率,接下来的交易看返回榜单比特币升级几次了,你会发现成交率越来越低。 不幸的是,这个模型消除了区块内交易的时间顺序属性,这是比特币系统的一个重要特征。

解决方案

就像我们在比特币上面临的大多数问题和困境一样,解决这个问题的方法是让比特币恢复到原来的样子。 这说起来容易做起来难,因为开发人员已经在代码库上工作了 12 年。

比特币平台关闭后比特币怎么办_比特币价值比特币最新_比特币升级几次了

Bitocin SV在2020年的几次软件升级都包含了解决这个问题的一些准备工作,并且已经证明可以稳定运行。 v1.0.6 软件的技术变化是最重要的,我们用新的日志块组装器(JBA)替换了默认的旧块组装器(LBA)模块,所以现在交易判断返回到以下简单模型:

可以看到,当假设区块大小没有限制时,不需要担心一笔交易的手续费相对于其他交易是高还是低; 只要本次交易的手续费率高于您设定的最低值,您就可以选择它们。 这使得构建块出奇地简单,但它也对比特币利率市场的运作产生了深远的影响——从用户竞价到矿工(矿池)相互竞争以提供更多低费用鼓励大量交易。

因为我们上面提到的费用选择逻辑与 LBA 紧密交织在一起,这意味着我们不能在不破坏 LBA 的情况下去除这个逻辑,所以完全去除 LBA 是明智的。 为此,我们需要确保取代 LBA 的 JBA 是完全稳定的。 另外,之前的交易手续费逻辑不仅仅涉及到区块组装器,它几乎涉及到Bitcoin SV中的所有领域,甚至深入到非常敏感的代码中,其中一些还会影响到JBA的性能。

所以我们在 Dynastic 版本中实现的最后一步就是去掉了 LBA,去掉了手续费选择代码,大大简化了交易选择逻辑。

不用说,每个人都知道这个变化是巨大的,所以需要进行大量的测试。 我们的 QA 团队在去年的圣诞假期中为 Genesis 升级工作。 但今年我强迫他们在圣诞节期间请假(如果他们不被迫,他们可能会继续工作,他们非常敬业)。 因此,我们将在 1 月初测试 v1.0.7 beta。

我真的很喜欢这张图表,所以我想我会再次展示它。 因为它不仅证明我们已经解决了这个难题,而且突出了我们要解决比特币中所有扩容挑战时必须遵循的结构原则:

比特币平台关闭后比特币怎么办_比特币升级几次了_比特币价值比特币最新

比特币价值比特币最新_比特币升级几次了_比特币平台关闭后比特币怎么办

我们这次处理的问题在 Teranode 中比在比特币 SV 节点软件中更容易解决,因为我们不必担心在切除垃圾代码的手术过程中可能出现的附带损害的风险。 在 Teranode 中,我们只是简单地遵循了中本聪最初的设计原则,这也是中本聪在 alpha 版本代码中已经能够做到的。

无论如何,应用程序开发团队可以在接下来的几周内思考如何利用好更长链的交易。 就像我们在 Genesis 升级后看到的脚本实践的爆炸式增长一样,我期待看到应用长链交易的创新浪潮。

比特币平台关闭后比特币怎么办_比特币升级几次了_比特币价值比特币最新

比特币平台关闭后比特币怎么办_比特币价值比特币最新_比特币升级几次了

比特币价值比特币最新_比特币升级几次了_比特币平台关闭后比特币怎么办

比特币价值比特币最新_比特币平台关闭后比特币怎么办_比特币升级几次了

2020年2月4日的“创世纪”协议升级是比特币历史上的一个重大里程碑,将见证BSV最大程度回归中本聪最初设想的协议。 请访问 Genesis 硬分叉页面 ( ) 了解更多信息。

比特币核心(SegWit)链上的代币称为Segwitcoin BTC; 比特币现金 ABC 链上的代币称为 BCH、BCH-ABC 或 BAB。 山寨币是重视隐私、匿名且不受政府监管的代币,被称为暗币。

Bitcoin Satoshi Vision (BSV) 是当今唯一符合中本聪白皮书和原始协议和设计的项目。 BSV是唯一保持比特币最初愿景的公链,将被广泛接受为世界新货币和企业区块链。

扫描二维码回复“101”,系统学习比特币知识

比特币升级几次了_比特币平台关闭后比特币怎么办_比特币价值比特币最新

比特币价值比特币最新_比特币升级几次了_比特币平台关闭后比特币怎么办