刘昌用:最长链或最大积累难度能否决定 BCH 战争胜负?

BCH 战争爆发后,各界普遍关注究竟谁胜利了。很多人根据所谓「最长链原则」,认为哪个链长,哪一方就胜利了。包括火币也发布公告说将认定最长链为 BCH。

BCH 战争爆发后,各界普遍关注究竟谁胜利了。很多人根据所谓「最长链原则」,认为哪个链长,哪一方就胜利了。包括火币也发布公告说将认定最长链为 BCH。

两链分裂后 ABC 版本长度持续超过 BSV 版本,为此,火币认定 ABC 版本为最长链,命名为 BCH。但 19 日 BSV 版本链的长度又超过了 ABC 版本,但 BSV 的积累难度仍落后近 40%。于是 BSV 的一些支持者坚称最长链决定胜利方,更多熟悉密码货币的人则强调最大积累难度决定胜利方。

实际上,这两种判断标准都是错误的。最长链原则和最大积累难度规则是一条链上自动裁决的客观代码,而不是评价两条链胜负优劣的主观标准。只适用于一条链,不适用于两条链。

在解释分叉时已经说过,最长链原则是在相同版本的一条链上,因网络延迟等技术原因导致分叉的时候,每个节点一旦发现同一高度出现不同的区块,就会保留更长的链,丢弃短链。这是写入代码的,节点会自动运行,不需要人来评判和干预。

由于比特币约两周调整一次难度,所以一般情况下短暂分叉的两个链都有相同的难度,所以某个链越长,这个链的积累难度也就越大。「最长链原则」和「最大积累难度原则」是等价的。

但是,BCH 诞生之后,两周调整难度导致 BTC 和 BCH 的挖矿难度不能随着相对收益的变化而及时调整。当 BCH 更赚钱时,全部算力涌向 BCH,难度不变情况下,出块时间大幅缩短。当 BTC 更赚钱时,全部算力涌向 BTC,BCH 出块时间大幅拉长。这种情况造成 BTC 和 BCH 的出块时间都偏离了 10 分钟,忽快忽慢。BCH 价格低,波动尤其大。

为此,2017 年 11 月 1 日的 BCH 硬分叉升级中修改了难度调整规则,改成每个区块都根据之前一天的平均出块时间调整难度(即逐块调整难度,简称 DAA)。相对收益造成算力流动引起的出块时间偏离很快就能调整回来。有了这个修改之后,BCH 和 BTC 的出块时间都稳定了,切换挖矿获利的行为导致两个链的算力之比跟价格之比基本一致。

然而,在逐块调整难度的情况下,「最长链」和「最大积累难度链」就不一致了。因为,算力较少的链虽然一开始出块慢一些,链更短,但它的难度能很快降下来,出块时间就加快了。因为这个原因,BCH 已经比 BTC 超出了 6500 多个块了。但是,由于 BCH 难度低,因此积累难度远远小于 BTC。

所以,在难度逐块调整(DAA)的情况下,如果仍然在同一条链上,最大积累难度原则才是代码执行的分叉选择原则。当发现跟一条不同的链的时候,不是判断哪个链更长,而是比较哪个链积累的难度最大,就接受哪个链,放弃另外一条,这是程序自动完成的。

最大积累难度原则也只适用于一条链。ABC 版本和 BSV 版本在第 556767 区块中因为存在不兼容的交易信息,已经分裂成两条链。即使都没有做重放保护,两个版本接收到对方版本发来的区块会自动判别为不合法,从而拒绝对方的链。也就是说无论长短,无论积累难度高低,两个版本都不会理会对方的链。所以,最长链原则和最大积累难度原则就没了实际意义。BCH 比 BTC 更长也不能说明 BCH 赢了。

跟区块链领域的很多误解一样,最长链和最大积累难度原则被广泛视为两链胜负的标准,不是因为它自身有这种功能,而是因为人们普遍接受这种误解。

实际上,最长链、最大积累难度、价格、社区人数、市值规模、日交易量、开发人员规模、活跃地址数,等等,都只能从一个侧面反映一个链的数据状态、健康程度、市场接受程度或可能发展前景。并不能判断出不同链的胜负。一个链的发展要多学习其他链的优势,修正自己的劣势。唯我独尊,天天贬低他人,不是一个新生事物迈向成功的道路。

对一场战争而言,胜负的评判标准在于,双方战前想通过战争实现的目标是否实现?

CSW 发动战争的目标很明确,就是:1)阻止 ABC 版本升级到 0.18.2;2) ABC 团队不再主导 BCH 开发;3) BSV 版本成为 BCH 的主导版本;4) BCH 不分裂为两条链,如果分裂,ABC 版本中止挖矿。

ABC 和比特大陆一方的目标是:1) BCH 升级到 ABC 0.18.2 版本;2)如果 BSV 不兼容新版本,欢迎分叉发展;3) BCH 继续指代 ABC 及其兼容版本运行的区块链和币。

现在看来,CSW 的 4 个目标全部落空了。BCH 分裂了,除了 BSV 以外的版本都兼容 ABC 版本,而不兼容 BSV 版本,生态中多数商业沿用并升级到 ABC 的 0.18.2 兼容版本或更高版本,交易所和钱包部分已经接受 ABC 版本为 BCH,部分中立,但没有将 BSV 接受为 BCH 的,ABC 团队仍然是主要开发力量。

ABC 和比特大陆一方的目标基本都实现了。「基本」的意思是,理论上仍有可能 CSW 的支持者说服其他开发团队、交易所、钱包将 BSV 版本作为 BCH,并且斥巨资不断攻击破坏 ABC 版本的链,从而消灭 ABC 版本。但这种可能性已经极小了。

CSW 的一些支持者也回避发动战争时的胜负标准,提出最长链、最大积累算力、放弃挖矿、主动添加重放保护、改挖矿算法等等新的胜负标准,试图延续这场战争,夺取 BCH 之名。实际上,BSV 一开始没能成功夺得 BCH 之名,整个生态大部分接受 ABC 及兼容版本作为 BCH 主链之后,名称就拿不回来了。因为重新命名给商业企业和个人造成巨大混淆,人们不愿意这么做,去中心化的社区做不到这一点。

所以说,从这场战争的目标来看,CSW 一方已经失败了,理性的做法是专心做好 BSV,让用户超过 BCH 和 BTC,这比夺取 BCH 或 BTC 之名更有意义,也更有可能实现。

生成图片
4

发表评论

刘昌用:最长链或最大积累难度能否决定 BCH 战争胜负?

星期二 2018-11-20 20:06:38

BCH 战争爆发后,各界普遍关注究竟谁胜利了。很多人根据所谓「最长链原则」,认为哪个链长,哪一方就胜利了。包括火币也发布公告说将认定最长链为 BCH。

两链分裂后 ABC 版本长度持续超过 BSV 版本,为此,火币认定 ABC 版本为最长链,命名为 BCH。但 19 日 BSV 版本链的长度又超过了 ABC 版本,但 BSV 的积累难度仍落后近 40%。于是 BSV 的一些支持者坚称最长链决定胜利方,更多熟悉密码货币的人则强调最大积累难度决定胜利方。

实际上,这两种判断标准都是错误的。最长链原则和最大积累难度规则是一条链上自动裁决的客观代码,而不是评价两条链胜负优劣的主观标准。只适用于一条链,不适用于两条链。

在解释分叉时已经说过,最长链原则是在相同版本的一条链上,因网络延迟等技术原因导致分叉的时候,每个节点一旦发现同一高度出现不同的区块,就会保留更长的链,丢弃短链。这是写入代码的,节点会自动运行,不需要人来评判和干预。

由于比特币约两周调整一次难度,所以一般情况下短暂分叉的两个链都有相同的难度,所以某个链越长,这个链的积累难度也就越大。「最长链原则」和「最大积累难度原则」是等价的。

但是,BCH 诞生之后,两周调整难度导致 BTC 和 BCH 的挖矿难度不能随着相对收益的变化而及时调整。当 BCH 更赚钱时,全部算力涌向 BCH,难度不变情况下,出块时间大幅缩短。当 BTC 更赚钱时,全部算力涌向 BTC,BCH 出块时间大幅拉长。这种情况造成 BTC 和 BCH 的出块时间都偏离了 10 分钟,忽快忽慢。BCH 价格低,波动尤其大。

为此,2017 年 11 月 1 日的 BCH 硬分叉升级中修改了难度调整规则,改成每个区块都根据之前一天的平均出块时间调整难度(即逐块调整难度,简称 DAA)。相对收益造成算力流动引起的出块时间偏离很快就能调整回来。有了这个修改之后,BCH 和 BTC 的出块时间都稳定了,切换挖矿获利的行为导致两个链的算力之比跟价格之比基本一致。

然而,在逐块调整难度的情况下,「最长链」和「最大积累难度链」就不一致了。因为,算力较少的链虽然一开始出块慢一些,链更短,但它的难度能很快降下来,出块时间就加快了。因为这个原因,BCH 已经比 BTC 超出了 6500 多个块了。但是,由于 BCH 难度低,因此积累难度远远小于 BTC。

所以,在难度逐块调整(DAA)的情况下,如果仍然在同一条链上,最大积累难度原则才是代码执行的分叉选择原则。当发现跟一条不同的链的时候,不是判断哪个链更长,而是比较哪个链积累的难度最大,就接受哪个链,放弃另外一条,这是程序自动完成的。

最大积累难度原则也只适用于一条链。ABC 版本和 BSV 版本在第 556767 区块中因为存在不兼容的交易信息,已经分裂成两条链。即使都没有做重放保护,两个版本接收到对方版本发来的区块会自动判别为不合法,从而拒绝对方的链。也就是说无论长短,无论积累难度高低,两个版本都不会理会对方的链。所以,最长链原则和最大积累难度原则就没了实际意义。BCH 比 BTC 更长也不能说明 BCH 赢了。

跟区块链领域的很多误解一样,最长链和最大积累难度原则被广泛视为两链胜负的标准,不是因为它自身有这种功能,而是因为人们普遍接受这种误解。

实际上,最长链、最大积累难度、价格、社区人数、市值规模、日交易量、开发人员规模、活跃地址数,等等,都只能从一个侧面反映一个链的数据状态、健康程度、市场接受程度或可能发展前景。并不能判断出不同链的胜负。一个链的发展要多学习其他链的优势,修正自己的劣势。唯我独尊,天天贬低他人,不是一个新生事物迈向成功的道路。

对一场战争而言,胜负的评判标准在于,双方战前想通过战争实现的目标是否实现?

CSW 发动战争的目标很明确,就是:1)阻止 ABC 版本升级到 0.18.2;2) ABC 团队不再主导 BCH 开发;3) BSV 版本成为 BCH 的主导版本;4) BCH 不分裂为两条链,如果分裂,ABC 版本中止挖矿。

ABC 和比特大陆一方的目标是:1) BCH 升级到 ABC 0.18.2 版本;2)如果 BSV 不兼容新版本,欢迎分叉发展;3) BCH 继续指代 ABC 及其兼容版本运行的区块链和币。

现在看来,CSW 的 4 个目标全部落空了。BCH 分裂了,除了 BSV 以外的版本都兼容 ABC 版本,而不兼容 BSV 版本,生态中多数商业沿用并升级到 ABC 的 0.18.2 兼容版本或更高版本,交易所和钱包部分已经接受 ABC 版本为 BCH,部分中立,但没有将 BSV 接受为 BCH 的,ABC 团队仍然是主要开发力量。

ABC 和比特大陆一方的目标基本都实现了。「基本」的意思是,理论上仍有可能 CSW 的支持者说服其他开发团队、交易所、钱包将 BSV 版本作为 BCH,并且斥巨资不断攻击破坏 ABC 版本的链,从而消灭 ABC 版本。但这种可能性已经极小了。

CSW 的一些支持者也回避发动战争时的胜负标准,提出最长链、最大积累算力、放弃挖矿、主动添加重放保护、改挖矿算法等等新的胜负标准,试图延续这场战争,夺取 BCH 之名。实际上,BSV 一开始没能成功夺得 BCH 之名,整个生态大部分接受 ABC 及兼容版本作为 BCH 主链之后,名称就拿不回来了。因为重新命名给商业企业和个人造成巨大混淆,人们不愿意这么做,去中心化的社区做不到这一点。

所以说,从这场战争的目标来看,CSW 一方已经失败了,理性的做法是专心做好 BSV,让用户超过 BCH 和 BTC,这比夺取 BCH 或 BTC 之名更有意义,也更有可能实现。