比特币共识分叉的完整历史
区块链 比特币共识分叉的完整历史 区块链 | 2018-01-10 15:44 比特币共识分叉的完整历史 BitMEX

在这篇文章中,我们列出了 19 个比特币共识规则的变化(或 18 个,有一个意外 “失败” 了),这呈现了几乎所有我们认为比特币历史上的重要事件。这些事件中至少有 3 次造成了可识别的区块链分叉,分别持续了大约 51 , 24 和 6 个区块,这些事件分别发生在 2010 年, 2013 年和 2015 年。

   


资料来源:gryb25

 

专用术语


备注:我们相信这些条款起源于 2012 年 4 月,并在 BIP99 和 BIP123 中正式确定

 

比特币共识分叉列表


资料来源:BitMEX 研究,Github,比特币区块链

 

备注:

1.    除了 1MB 区块大小的限制之外,在 2012 BIP16 软分叉之前,没有任何的激活方法,因此如果分叉可以平稳的发生而不导致区块链分拆,则不一定有特定的共识分叉区块高度或发生日期。

2.    “如果你不能立即升级到 0.3.6 ,最好在那之前关闭你的比特币节点。” – 中本聪(资料来源)

3.    在删除 OP_VER 之前,每个软件升级都有可能被认为是一个非确定性的硬分叉,而这些情况已经被排除在这个清单之外。如果硬分叉的定义包括上述的情况,那么它的定义便太过迂腐了。

4.    在上表中我们没有使用一致的定义,因为例如,根据具体情况,分叉的发生日期在每个事件中的定义根据该事件的情况都有所不同。

5.    其他人也提到, P2P 协议的改变也可以被认为是硬分叉的一种,如果它们使以前的软件版本无法继续使用,使之前软件版本不再连接到网络。但严格来说,这些规则并没有放宽任何区块的有效规则,而是可以通过建立软件过度版本来同步旧节点。这些更改不包括在上面的列表中。

6.    有些人认为 BIP90 是硬分叉的一种,然而由于它只是放松了过去发生的与软分叉激活相关的规则,所以它并不具备许多与共识分叉相关的特征或风险。

7.    在 2010 年 7 月,区块链选择规则被改变了,由区块的数量转移到的累积工作量。从技术上讲,这不是区块有效性规则的变化,但是这种变化的确存在一些与共识规则变化相关的风险。

 

2013 年事件算是硬分叉吗?

我们认为,总的来说,发生在 2013 年 3 月 11 日之后几个月, BDB 锁定限额的添加算是一个硬分叉。有争议的规则是 10,000 BDB 的锁定限制,这是添加。该规则于 2013 年 5 月 15 日在 2013 年 3 月 18 日发布的软件版本 0.8.1 中放宽。超过此限制的区块可能最终于 2013 年 8 月 16 日生产。因此,该硬分叉的日期可以是 2013 年 5 月 15 日或 8 月 16 日,取决于您如何定义它。

 

虽然有些人认为这可能不算是一个硬分叉,原因可以有很多,包括觉得这个规则是 “半非确定性” 的,或者可以由手动改变 BDB 配置的设置。事实上,由于锁定限制的非确定特性,理论上有可能存在一个本地系统设置,使得旧的 BDB 锁定限制从未被突破。因此,由于透过非常严格的定义,要求硬分叉是确定性的,甚至可能与比特币数据(如交易或区块头)直接相关的,人们可以做出比特币“从来没有硬分叉过”的声明。

 

在讨论这个事件时,比特币开发者 Gregory Maxwell 说:

 

那里有一个混合包,实际上你可以拿一个 BIP-50 节点,并且完全同步区块链,我最近几个月前用 0.3.24 做了这个尝试。它只是不会可靠地处理涉及大区块的,除非您更改 BDB 配置。所以,如果这到底是不是一个硬分叉还是有争议的,因为它是非确定性的。之前有一些错误修复,旧版本会被卡住,并在此之前停止同步链接。所以我认为如果给予一个非常强大的定义,就是以创建一个违反了先前版本规定的规则的区块链来看的话,我们从来没有硬分叉过。

 


2015 年 7 月区块链分拆事件

在上述共识规则变化清单中,有三次事件造成了可识别的区块链分拆。最近一次发生在 2015 年 7 月 4 日,在 BIP66 软分叉升级期间发生。

在 BIP66 激活之后,立即产生了一个 6 的区块的孤儿链,因为矿工产生了无效区块,而其他矿池并没有被认定该为无效区块,因为它们并没有在验证新区块。

在这种情况下,一些矿工表示支持 BIP66 软分叉,但实际上并没有升级他们的节点来验证这些区块,可以说矿工是 “假表态”。如果矿工已经开始验证区块,他们会发现区块无效且拒绝这些区块,然而一些建立无效区块的矿工和一个无效区块分支却出现了。

下图显示说明了这 6 个区块和区块分叉的图表。

 

2015 年区块链分拆图表


资料来源: Blockchain.info 

 

免责声明

虽然在这篇文章中提出了许多说法,但我们并不保证准确性。我们可能犯了错误或者意外地忽略了列表中的共识规则更改。我们欢迎更正。

 

备注

在这篇文章发表之后,比特币维基上发布了另一个共识版本清单。

 

本文由BitMEX研究团队提供

 

作者: BitMEX 研究团队

微博: BitMEX
微信公众号: BitMEX

-END-

本文由BitMEX投稿一鸣网,本文仅代表作者个人观点,文章非经授权请勿转载,

向一鸣网投稿,请点击投稿按钮,详情请参阅《一鸣网投稿须知》。

互联网人都在关注的微信号

难道你还没有关注?