摘要:本文列出了我们认为的比特币史上几乎所有的重大分叉事件,共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
(谢谢打赏)
领取专属 10元无门槛券
私享最新 技术干货