首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

完整的比特币共识分叉史

摘要:本文列出了我们认为的比特币史上几乎所有的重大分叉事件,共19个比特币共识规则更改(或者说是18个,因为有一个偶发的“失败”分叉)。在这些事件中,至少有三次分叉引起了区块链分裂,分别于2010年、2013年和2015年,持续了51、24和6个区块。

术语表

注:这些术语最早于2012年4月提出,并在BIP99和BIP123里正式确定下来。

比特币共识分叉列表

信息来源:BitMEX Research、Github、Bitcoin Blockchain

注:

1.除了1 MB区块限制,在2012年BIP16软分叉之前还没有激活使用的升级方法,因此,如果顺利进行分叉,而又没有产生区块链分裂,不一定会有特定的区块高度,或是发生共识分叉的特定日期。

2.“如果你现在无法升级到版本0.3.6,建议你在升级成功之前关闭比特币节点。”——中本聪

3.在移除OP_VER之前,每次软件升级都有可能被认为是非确定性的硬分叉,这些硬分叉并不包含在这个列表里。尽管硬分叉的定义将其包括在内,但是这过分拘泥于细节的定义。

4.上文的表格没有一致性的定义,因为举例来说,分叉日期的定义不同,更多是与各个事件有关,这要视情况而定。

5.有人还提到,如果他们由于不能再连接网络,使之前的软件版本无法使用,那么P2P协议更改也可以视为硬分叉。但是,严格来说,这些更改并没有放宽有效区块的规则。这些更改不会列在上面的表格上。

6.有些人认为BIP90是一项硬分叉,但是,由于它只是放宽了过去的激活软分叉相关的规则,它并不具备通常与共识分叉相关的很多特点或是风险。

7. 2010年7月,区块链的选举规则改成了积累的最大挖矿难度。从技术上来说,这不是对区块有效性的规则更改,但是这项更改确实存在某些与共识规则更改相同的风险。

2013事件是硬分叉吗?

我们认为,总的来说,2013年3月11日后的几个月,增加DBD锁定限制是一个硬分叉。这项有问题的规则是,增加了10000万个DBD锁定限制。这项规则在2013年5月15日软件版本0.8.1中被放宽了,而该软件版本于2013年3月18日发布。最终在2013年8月17日挖出了一个超过这个限制的区块。因此,这次硬分叉的日期,要么是2013年5月15日,要么是2013年8月16日,这取决于你如何定义它。

虽然出于各种各样的原因,有些人认为这不是一个硬分叉,这些原因包括这项规则“算作是非确定性的”,或者说BDB配置设置是可以手动更改的。确实,由于锁定限制的非确定性的特性,理论上,通过本地系统设置,BDB锁定限制决不会被打破。因此,有人可能会称,“这不是一个比特币硬分叉”,因为在严格的定义里,硬分叉必须是确定性的,甚至是要与比特币数据例如交易或区块头直接关联的。

谈论到这一事件时,比特币开发者Gregory Maxwell是这么说的:

这里有点混杂,实际上你可以接受一个预BIP-50节点,并完全同步区块链,几个月前我用版本0.3.24这么操作过。当涉及到大区块的时候,这样处理reorgs是不可靠的,除非你对BDB config也进行更改。因此,这是否为一个硬分叉也是有争议的,因为它算作是非确定性的。有些bug之前作了修补,旧版本可能会受阻并停止同步之前的区块链……因此,我认为,根据已有的创建区块链的明确定义:新的区块链违反旧版本执行的规则,我们并没有进行硬分叉。

来源:https://bitcointalk.org/index.php?topic=702755.msg8116032#msg8116032

2015年的区块链分裂事件

在上面的共识规则列表中,有三个事件引发了区块链分裂。最近的一次发生于2015年7月4日,在BIP66软分叉升级期间。

BIP66激活之后,立即产生了一条有6个区块的孤链,因为有些矿池不验证新的区块,矿工生产的无效区块,这些矿池并不认为是无效的。

在这种情况下,有些矿工信号支持BIP66软分叉,但是实际上并没有升级节点进行验证,我们将这些矿工称之为“假旗行动”。如果矿工验证了区块,他们应该已经发现区块是无效的,并拒绝接受,但是有些矿工仍在无效的区块上挖矿,这时区块链分裂就产生了。

下图演示了这6个区块和区块链分裂:

来源:Blockchain.info (http://archive.is/WqGRp,http://archive.is/LHlF7)

声明

虽然文中引用了很多声明,但是我们不保证其准确性。我们可能也存在错误或是遗漏了其他的共识规则更改。我们欢迎大家指正。

本文发表之后,Bitcoin Wiki上发布了另一个共识版本的汇总表格。

更新时间:2017年12月29日

分类:研究

原文作者:

BITMEX RESEARCH 12. 28. 2017

(谢谢打赏我一点比特现金BCH)

14mhzjkJ71oMAMkKu3dy98dnUpkyQBHL1r

(谢谢打赏)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180102B0W78900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券