主页 > imtoken钱包华为安装不了 > ABC首席科学家:关于比特币现金出块时间的问题

ABC首席科学家:关于比特币现金出块时间的问题

imtoken钱包华为安装不了 2023-05-17 06:28:28

%title插图%num

最近我注意到,缩短比特币现金区块时间仍然是东方社区的热门话题。 我们似乎也缺乏对围绕此事的各种争论的认识,所以在这篇文章中,我希望能澄清一下。

为什么要缩短出块时间?

缩短出块时间有几个好处,不应该很快就放弃这个想法。

如果块的生产速度越来越快,挖矿所需的工作量就会减少。 例如,如果我们将出块时间缩短为 1 分钟,那么每个区块的挖矿难度将降低 10 倍。 所以在更长的时间范围内,一笔交易的安全性是一样的,10 个难度的 100 个区块与 100 个难度的 10 个区块是一样的。 但不是在短时间内,1 个难度的 100 个区块远不及 10 个难度的 10 个区块安全。 其背后的数学逻辑解释起来可能有点复杂。 直观上可以理解为攻击者有10分钟的攻击时间,而不是1分钟,攻击成功的可能性更大。

在更短的时间内获得更高的安全性将使支付处理器和交易所等服务能够更快地处理交易,从而推动 BCH 的更多采用。 但从扩容的角度来看比特币难度多久调整一次,实际上不可能通过缩短出块时间来显着提高交易吞吐量。 因此,这不是即时支付的解决方案,但对于降低商家因价格波动带来的风险非常有用。

更短出块时间的另一个重要好处是它为难度调整算法提供了更多信息。 难度调整算法使用过去的块来估计网络哈希率并相应地调整难度。 但是,各个区块的时间差异较大,因此需要使用多个区块来做出调整难度的决定。 使用的块越多,决策就越好,但做出该决策所需的时间也越长。 通过缩短出块时间,为难度调整机制提供更多的块,从而实现更快、更精确的调整。

考虑到以上所有情况,如果我要从头开始发行新币,我可能会选择 10 分钟以下的出块时间。 可能是 2.5 分钟,甚至可能是 1 分钟,但不会低于我将解释的原因。 然而,当谈到比特币现金时,了解现有系统的缺点很重要,因此我们希望这次区块时间调整带来的好处远高于新系统带来的好处。

为什么缩短区块生产会阻碍扩张?

任何比特币网络都要求出块时间比整个网络处理一个块所需的时间更长。 如果不是这种情况,那么网络达成协议的能力就会受到损害。 最极端的情况发生在区块生成速度快于网络处理它们的速度时,这实际上将每个矿工发送到自己的链(区块不同步和网络崩溃)。 即使在网络达到这种完全崩溃的状态之前,由于孤立块率的增加,挖矿质量也会下降。

如果人们期望我们缩短出块时间比特币难度多久调整一次,那么每个块都会更小,因此传播得更快。 在某种程度上是正确的,但这忽略了一个事实,即与传播块相关的固定成本。 这些成本不取决于块大小。 为了理解这一点,让我们假设 ABC 以类似于网络节点的方式相互传播一个块。

A:嘿 B,我刚得到一个新区块,它的哈希值是 00012345af,你想要吗?

B:嘿,A,我不知道这个街区,请发给我

答:好的。 B. 所以区块中的第一笔交易是……

B 对 C:嘿 C,我刚得到一个新区块,它的哈希值是 00012345af,你想要吗?

C:嗨,BI 不知道这个区块,请发给我

B:好的 C. 所以区块中的第一笔交易是……

这与发现新块时节点之间网络上发生的情况非常相似。 正如我们所看到的,除了块本身的传输之外,各方之间还有相当多的信息和数据。 这是必需的交互,因为如果没有它,所有节点都会立即开始向所有节点发送块信息,从而在发现新块传输数据时导致整个网络崩溃。 虽然有多种技术可以用来改善这种情况——例如比特币 ABC 节点使用的紧凑块技术——但问题仍然存在,即存在不受块大小影响的固定传输成本。

如果我们将出块时间从 10 分钟更改为 1 分钟,这些固定传输成本也会乘以 10,这将限制我们可以安全扩展网络的程度。

更快的确认时间怎么样?

虽然更快的块可以缩短确认时间,但它不能缩短到真正支持许多用例的时间(它不能缩短到可以完成即时交易的程度)。 对于任何面对面的支付,确认时间都需要降低到 3 秒或更短才能达到理想水平,这不能仅靠缩短出块时间来实现。 但是雪崩协议(Avalanche Protocol)是可以实现的,能够在不到2秒的时间内确认交易。

虽然某些用例可能会从中受益,但通常它与比特币现金的核心价值不够一致,无法证明改变像出块时间这样重要的东西是合理的。

难度调整呢?

更快的块可以帮助设计更好的难度调整机制,因为它们提供了更多可供难度调整机制使用的数据。 明显的缺点是要处理的数据更多,这将导致 SPV 系统的负载增加,并严重限制非常轻量级的系统(如智能卡)的功能。

当然,虽然这不是未处理的数据量,但当开发者围绕比特币现金构建应用程序时,这些负载会破坏 BCH 的生态增长。

为什么在已部署的系统上更改阻塞时间更难?

正如我之前所说,如果我要从头开始构建一个新系统,那么我会选择小于 10 分钟的出块时间。 然而,像比特币现金这样的系统已经有很多现有用户,它也有一个基于时间的脚本系统。

这些功能对许多智能合约系统至关重要,尤其是支付渠道或定期支付解决方案,如 Mecenas。 这些合约没有时间来源,因此使用区块链本身作为时钟。 因此,改变区块时间将改变所有这些智能合约的时间结构,从而打破建立在其之上的系统。

更难的是,比特币现金支持 P2SH,这意味着我们不知道与现有比特币相关的所有脚本。 解析区块链并设计一个与现有智能合约一起工作的系统是不可能的,所以我们被迫设计一个与所有可以编写的智能合约一起工作的系统。 不确定是否可以在没有严重不利影响的情况下实现这一目标,但可以肯定的是,没有人有时间或资源去诚实地尝试。

如果没有这些问题的解决方案,我们就无法用非常具体的解决方案来讨论块缩短。

综上所述

减少区块时间有很多挑战,其中一些目前尚未解决。 考虑到缺点和最大利益,以及存在更好的替代方案这一事实,投入时间和精力来解决这些问题似乎不是正确的方法。

根据目前的路线图,我们估计 Avalanche 协议可以在 2 年内交付。 当然,我们希望在资源允许的情况下尽快交付。 毕竟,Avalanche 协议确实具有很高的生存能力,所以 Avalanche 协议没有理由永远存在 18 个月(暗指需要永远发展的闪电网络)。

原文发表于 Read.cash 作者 Amaury Sechet,Bitcoin ABC 首席开发者,BCH 开发团队