比特币分叉往事
Bitcoin Cash 于2017年8月1日正式从 Bitcoin 分叉出来,已经过去了两周年。回过头看这两周年的发展,Bitcoin Cash 既是成功的,也是失败的。说其成功,是在于其仍然有着极其活跃的社区、不断发展的应用,以及稳固的市场地位。说其失败,是在于 Bitcoin Cash 并没有达到大多数支持者对于其超越 Bitcoin 的预期,以及 Bitcoin Cash 并没有解决 Bitcoin 同样面临的一系列治理难题。 起源 Bitcoin Cash 与 Bitcoin 的分裂来自于比特币的扩容问题,这本不该成为问题。一切起源于比特币创造者中本聪在比特币源代码里面留下的一行代码,这行代码限制了比特币区块的大小上限。比特币本质上是一套记账系统,而区块可以理解为一个账本,是记账的最小单元,每个账本记录着过去大约十分钟比特币网络所有发生的转账交易记录。区块大小上限则限制了比特币网络的交易处理能力。这行代码添加的初衷是防止垃圾交易攻击。在比特币发展的早期,比特币价格还极低的时候,攻击者可以花费很小的代价创造大量的垃圾交易堆满所有节点的硬盘,将这个极具创新和革命意义的系统扼杀于摇篮。在添加这行代码的时候,有人担心未来会限制比特币网络的发展,中本聪给出的回答也很简单:到时候我们提前把限制调大就可以了。谁会想到,这个简单的扩容问题竟然会导致比特币走向分裂。 比特币扩容问题从2014年开始有人提出,比特币的区块大小在那时候达到了300KB左右,并且维持着指数级的速度上升,按照预测,将在2016年初触达1MB大小上限。比特币的网络是一个去中心化的网络,依赖于一套共识协议来达成共识,对共识协议的修改必须要小心,避免由于前后不兼容而导致整个网络分叉。如果共识协议收紧,则称为软分叉,老节点无需升级仍然可以正常运行。如果共识协议放开,则称为硬分叉,这种情况下老节点必须升级才可以正常运行。可以简单的理解为软分叉向后兼容,而硬分叉不向后兼容。比如比特币区块大小上限从2MB改为1MB是软分叉,而从1MB改为2MB则是硬分叉,因为大于1MB的区块在老节点上被认为非法。比特币历史上进行过很多次软分叉升级,还没有出现过硬分叉,因为开发者认为硬分叉升级很可能会导致比特币网络分叉,是一件很危险的事情。而通过提升比特币区块大小上限扩容是一个硬分叉行为,于是这事遇到了很大的阻力。 一 ...