5000字彻底道尽「区块链分叉」真相!
原创: 专注报道区块链的 碳链价值 2017-09-18
鉴于加密货币和去中心化区块链技术的演变速度,未来开发者可能会找到解决当下问题的完美方案,那时,比特币和以太坊分叉事件仅仅会是区块链发展历史的一个注脚。
作者:Rob Marvin
编译:sky
过去一年,比特币和以太坊都经历了分叉并出现执行不同规则的新币种,引起广泛关注。分裂起因于理念和网络共识规则上的分歧。
8月1日,新的加密货币“比特币现金”(Bitcoin Cash,简称BCH)正式上线。
这是比特币区块链网络自诞生起八年内首次经历“硬分叉”。一小部分比特币(代码:BTC)矿工脱离原链,成立了一条新链,比特钱由此诞生。
分裂起因是什么?技术上的原因在于比特币社区长期以来就区块链容量存在分歧(本文稍后会做出解释),但深层次的原因在于比特币社区存在以下理念分歧:是保留比特币去中心的属性与维护社区对比特币网络的独立控制能力重要,还是加快比特币交易速度使其更能满足主流电子商务与支付需求重要?
比特币分裂是过去一年内第二起引起广泛关注的加密货币分叉事件,上一起事件是2016年以太坊区块链因智能合约漏洞遭致黑客攻击而分裂,导致在以太币(Ether,简称ETH)之外,又出现了以太坊经典币(Ethereum Classic,简称ETC)。
比特币与以太坊分叉的起因完全不同,但是从两者都发生了分裂可以看出,在一个区块链网络中,要就重大决定达成共识是非常艰难的事情。当各方僵持不下时,分叉是唯一选择。
目前,因比特币与以太坊分叉出现的四种币全都排在持续波动的加密货币市值排行榜的前列或榜首。
然而,非营利组织Coin Center(专注研究加密货币政策问题的组织)研究部主任Peter Van Valkenburgh认为,对于加密货币,不宜迷信市值。
他说:“头条新闻都在争相报道‘哇,比特币刚刚诞生了一个价值100亿美元的婴儿’一类的消息,但实情是,除非市场流动性强,比如有足够多的人在交易所买卖比特钱并在比特币区块链上进行交易,否则,高市值只是来源于人为造成的稀缺。这样的市值并没有稳固的基础。”
区块链分叉涉及的概念与技术很复杂,软件专家都有可能弄不明白。
为此,PCMag专门联系了Valkenburgh,请他讲解区块链分叉的原理、比特币分裂与以太坊分裂的相似之处,并分享他对新出现的比特币现金前景的看法。
对区块链网络的简单解释
如果你不明白区块链网络是什么以及如何运作,本文后面的内容就会很难看懂。
为此,Valkenburgh对比特币区块链的运作机制做出了简洁说明。他说:“实际上,比特币并不是看得见摸得着的东西,它只是一种软件架构,存在于人们的想象之中。
唯一能描述比特币存在的是区块链,一种记录所有交易的账本。”
区块链由两大部分构成。一个部分是由全球各地的电脑组成的点对点(P2P)网络,每台电脑是一个“节点”,作用是共同验证一批批加密交易并将其打包为代码区块。
区块一旦产生,就会被加到一个按区块时间顺序形成的链条的末尾。另外,每个区块都不会储存在唯一的地方,而是会同步储存在网络所有节点中。
由于区块链没有中心,所以没有任何一方(如银行、金融机构或政府)能操控它。
与此同时,区块链提供共识协议以及加盖时间戳的防篡改数据。因此,区块链交易不需要第三方介入。
“比特币区块链会记录比特币自2009年诞生以来的所有事件,包括新币的出现以及交易证明,”Valkenburgh说。
“比特币网络中每台电脑都需要运行兼容的软件,才能看到并检查交易信息。如果你的软件不兼容,或者你没有遵守或拒绝认可比特币代码库中的共识规则,那么你的交易就会被网络忽略。
只要安装兼容的比特币客户端,你就能够广播有效的交易并转移交易金额。”
比特币代码库“无需信任的共识”规则涉及许多概念,比如工作量、公钥与私钥加密,以及本文涉及的最重要的概念:1 MB的比特币区块容量。容量规则是比特币核心开发者与矿工自比特币诞生起就争论不休的话题,直至最后导致比特币现金(BCC)分叉链出现。
什么是比特币分叉?
与所有加密货币和公共区块链一样,比特币也是开源软件。对该软件做出任何修改都需要获得比特币社区的一致认可。
每个CPU拥有一票表决权。根据Valkenburgh的解释,如果有某些节点擅自修改了软件,这些节点就会拒绝认可网络中其他节点遵守的规则,新的区块链随之形成。
“如果你违反共识规则,区块链网络就会忽略你。如果你和其他一群人选择以某种方式违反规则,那么你和其他这群人的软件都能在新的网络中运行,”Valkenburgh说。
“比特币现金(BCC)之所以出现,就是因为一小部分矿工和爱好者对于区块扩容的争论感到失望,于是对软件做了修改,导致比特币区块链分叉。”
比特币现金的区块容量扩大到了8 MB。起初,矿工选择区块扩容的原因很简单:随着比特币日渐流行,网络处理和检验交易的压力越来越大,最后出现排队等待交易确认的情况。确认交易所需时间从原来的平均10分钟拉长到今年6月出现的峰值:超过40个小时。
比特币网络2016-2017年交易速度
图片来源:Blockchain.info
在过去两年多里,区块扩容一直是比特币社区的热点争议话题。比特币现金就直接通过分叉实现了扩容,将容量扩到8 MB。实际上,比特币现金抢了另一个分叉链的风头。
今年5月在纽约举行的“2017共识”区块链大会上,来自全球的一群知名比特币公司宣布《纽约协议》,决议在6个月内实施叫作“Segwit2X”的硬分叉。Segwit2X也涉及扩容,只不过由于争议较大,只计划将容量扩到2 MB。
比特币社区中,有人认为根本就不应该对区块扩容,而有人(比如目前运行在比特钱区块链上的节点)则认为仅仅将容量扩大一倍完全不够。
目前,Segwit2X依然享有比特币社区中绝大多数人的支持,这意味着,只要节点共识升级至Segwit2X,它就会成为新版比特币软件。
领导Segwit2X开发的人是Jeff Garzik,他是区块链创业公司Bloq的首席执行官,也是前任比特币核心开发者。
在比特币现金抢先实施分叉的情况下,Garzik表示,Segwit2X依然会继续实施分叉,以将比特币升级。
以太坊分叉有何借鉴之处?
以太坊分叉的起因并不是网络压力,其起因比较惊悚:黑客攻击以及因此导致的以太币大量被盗。不过,从ETH与ETC分叉后的价值走势以及相对稳定的表现来看,两个币种未来前景可能不错。
以太坊及其分叉的背景介绍:以太坊与比特币区块链网络的不同之处除了二者的加密货币不同(以太坊对应以太币)之外,还表现在以太坊是一个区块链应用平台,能够创建智能合约与去中心化应用程序。
以太坊也得到了更多大型科技公司与企业组织的支持,包括来自企业以太坊联盟(Enterprise Ethereum Alliance)逾150家会员的支持。
以太坊的管理方式与比特币也略有不同。虽然以太坊区块链也是一个实施共识投票制的去中心化网络,但该平台的设计与监管依然是由组成以太坊基金会(Ethereum Foundation)的核心开发者(包括联合创始人Vitalik Buterin)负责。
当叫作“分散式自治组织”(Decentralized Autonomous Organization,简称DAO)的智能合约被黑客发现漏洞,继而盗走价值5000万美元的以太币后,Buterin和其他开发者以牙还牙,对黑客发起黑客攻击,夺回了被盗的以太币。
自那之后,以太坊社区围绕未来如何发展出现了争议。Buterin和其他核心开发者面临一项抉择:如果他们出面干预,建立新版网络,则能够解决漏洞问题并弥补DAO投资者的损失。
然而,以太坊正式文档中又有“决不可对去中心化应用程序进行审查或第三方干预”的明确规定。这就意味着,挽救区块链就等于破坏了以太坊的核心原则。
“当分叉出现时,以太坊社区出现了理念分歧,”Valkenburgh说。“一方认为所有矿工应该团结一致,撤销黑客盗取资金的交易记录,修复智能合约的漏洞,并退还DAO投资者的资金。
他们认为,相比不可变更性,维护一个公平有效的系统更重要。但另一方则认为,按规定,DAO是不可以修改的智能合约,因此应该让它继续运行,而不是往后退。
按照他们的话说,‘如果你们要抹掉黑客攻击DAO的交易,就等于违反核心原则,那我们会坚决抵制,以维护以太坊的可信度’。”
以太坊社区最终决定实施分叉,结果就是,新成立的由以太坊基金会领导的网络保留“以太坊”原名(ETH),选择不移到新区块链的人组成的网络就叫“以太坊经典币”。
尽管外界质疑以太币能否经受住分裂而不致衰落,或者以太坊经典币会否成为有活力的币种,但以太坊网络最终还是平安度过分叉事件,两种币如今都有大量使用者(不同点只是ETH的价值出现飞涨,ETC涨势平平)。
Valkenburgh说,这样的结果归功于以太坊社区的强大,或许可以作为比特币分叉的借鉴。
“分裂发生时我是站在以太币这一边的,但我没料到的是,支持以太坊经典币的开发者社区很有活力,居然使这个币的价格从两美元慢慢涨到今天的大约14美元。
分叉发生时,以太币的价格约为10美元,最近已经涨到约225美元的均价,”Valkenburgh说。
“或许比特钱的结局会和以太坊经典币差不多。虽然比特币和以太坊分叉都是由于巨大的理念分歧所致,但不同点在于,以太坊分叉与技术较不相关,更多是因为社区对公平原则以及黑客攻击事件持不同的态度,而比特币分叉则是由于社区对技术解决方案有不同的意见。”
比特币前景如何?
比特币、比特币现金和Segwit2X分叉事件仍在进行中。截至目前,各大比特币交易所对是否为比特币现金提供交易支持态度不一,但形势似乎在扭转。
五大交易所(买入、卖出、交易及交换加密货币的平台)中,Bitfinex与Kraken在比特币还未分叉前就宣布为比特币现金提供交易支持。
持否定态度的交易所以最受欢迎的网上交易所Coinbase为代表。该交易所曾经表示不会为比特币现金提供支持,但最近却宣布会在2018年开始提供支持。
有人担心分叉事件会影响原比特币的市值,其实多虑了。比特币价格在区块链分裂后仅短暂下跌,随即反弹,并创下了新记录,在突破每个币3000美元的水平后,本周一直在3300-3400美元区间徘徊。
影响比特币前景的因素除了关于哪些交易所支持比特币现金的短期争议外,更重要的因素是关于中心化和去中心的争议。
区块链网络的强大之处在于交易双方能够直接在网上安全交易,无需第三方介入。比特币创始人最初的设想就是将其作为支持全球交易的点对点电子现金系统。
有关区块大小和交易速度的争议归根结底在于比特币有潜力作为主流网上交易平台,将银行与信用卡公司取而代之。
然而,如果要发挥这种作用,就需要提高交易速度、降低延迟时间,达到使顾客能利用比特币在收银台迅速结账而不是等待一个小时甚至更久才能结账的程度。
Valkenburgh说,要达到这样的速度,比特币网络最后可能不得不从一个没有中心的系统转变为有中心的系统。
“数据在互联网上传递会有延迟。从美国发送比特币交易到中国会比从我这里发送数据包给纽约的你花费更长的时间,而且,发送的数据越多,延迟会越严重,”Valkenburgh说。
“比特币区块需要在全网广播才能予以确认,下一个区块才能开始建立。如果区块很大,广播速度就会变慢而且不均衡。”
矿工总是希望在第一时间获得新区块的消息。当区块变得越来越大,导致延迟时间越来越长时,矿工们就越有动机驻扎在同一地理位置。
那时局面将一发不可收拾,会影响区块容量争议的另一方面:是维持比特币网络分散式自治重要,还是强化比特币变革全球支付系统的能力重要?
“可能的情况是,全体矿工最后决定搬迁到电费便宜的中国西部或是冰岛甚至太平洋西北地区。
那时,矿工发挥的最根本的作用就会变得容易操控,可能是被一小撮矿工操控——他们可以密谋阻止或篡改交易,但更有可能是被政府操控,”Valkenburgh说。“这实际是牺牲抵制审查的能力,换取使用比特币在智能手机上购买可口可乐的便利。”
Valkenburgh是维护比特币分散式自治的坚定拥护者,但他也表示,目前之所以有关于区块容量的争议,或许是因为开发者还没有找到更好的解决办法。
不能跨境支付以及进行无需信任的网上交易一直是电子现金系统最大的缺陷,直到中本聪创造出比特币,才形成一个没有这种缺陷的系统。
鉴于加密货币和去中心化区块链技术的演变速度,未来开发者可能会找到解决当下问题的完美方案,那时,比特币和以太坊分叉事件仅仅会是区块链发展历史的一个注脚。
分链学堂 | 比特币分叉是什么意思?什么是硬分叉?
分链君 分链财经 1周前
众所周知,比特币(BitCoin)最初由中本聪在2009年提出,它是一种P2P形式的虚拟货币,依据特定算法通过大量的计算产生。比特币系统使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。
任何系统都会存在“客户端升级”,比特币网络也不例外。在比特币升级的过程中,又软硬分叉和扩容问题就出现了。
比特币到底为什么要扩容,扩容真的会导致硬分叉吗?分叉之后对我们有什么影响?那么今天的分链学堂,小编就为大家讲一下什么是比特币分叉?
何谓比特币分叉?
1.“软分叉”:
所谓软分叉,即:“A temporary fork in the block chain which commonly occurs when minersusing non-upgraded nodes violate a new consensus rule their nodes don’t know about.”
翻译:当新共识规则发布后,没有升级的节点会因为不知道新共识规则下,而生产不合法的区块,就会产生临时性分叉。
目前最为知名的一次软分叉发生在去年上半年,当时Bitcoin Core升级为Bitcoin Core 0.12.1。与以往的更新不同,Bitcoin Core 0.12.1更注重于改善比特币网络的扩展性并引入了4个不同的比特币改进提议,它们分别是BIP 9、BIP68、BIP 112以及BIP 113,这些新的BIP的列入,使得Bitcoin Core更兼容于软分叉以及闪电网络的实施,以解决比特币区块大小以及交易积压问题,被社区称为CSV软分叉。
其实,比特币在2012年还有一次重要的升级,叫P2SH,被社区称之为“多重签名软分叉”。这是对比特币交易签名脚本的一次修改,使得比特币可以很方便的通过多重签名的方式来发送交易。
通过以上两次示例,我们可以对软分叉定义如下:软分叉是指比特币交易的数据结构(这就是被广泛流传的“共识”)发生改变时,未升级的节点可以验证已经升级的节点生产出的区块,而且已经升级的节点也可以验证未升级的节点生产出的区块。
2.“硬分叉”:
所谓“硬分叉”,即:“A permanent divergence in the the block chain, commonly occurs whennon-upgraded nodes can’t validate blocks createdby upgraded nodes that follow newer consensus rules.”
翻译:区块链发生永久性分歧,在新共识规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,通常硬分叉就会发生。
2013年3月12日,当时是bitcoinqt 0.8.0版本软件发布了,0.8版本采用了一种新的数据库level db。有的矿工节点升级了bitcoin qt 0.8版本,有的矿工还继续使用bitcoin qt0.7版本的软件。双方各自生产区块,但bitcoin qt 0.8采用的新数据库生产出的区块被被qt0.7版本节点拒绝掉。具体的原因是旧的数据库对超过800Kb的区块有时不接受。因此在区块高度225430比特币区块链分成了两条链,结果导致了比特币区块链产生两条链,一条是包含大于800kb区块的链,另一条是拒绝承认这些包含更大区块的链,这就发生了硬分叉。
当时是采用bitcoinqt 0.8版本的矿工放弃了他们挖的链,退回到bitcoin qt 0.7版本上继续挖矿。这次硬分叉是一次意外,是bitcoin qt 0.8版本的软件出了bug,导致采用旧软件的节点拒绝验证新软件节点生产的区块。但硬分叉的成因就是采用旧软件版本的节点拒绝验证采用新软件版本的节点生产的区块,然后双方各自挖矿。
在2015年7月4日比特币区块链在区块高度363731发生一次硬分叉。当时是Bitcoin Core 开发者往新版本的Bitcoin Core 0.10.0添加了BIP 66。这本来是一起软分叉的修改,在比特币网络上主要矿池都使用了0.10版本的软件时,但有一个矿池BTC Nuggets没有升级,导致BTC Nuggets挖出来的两个区块其他矿工拒绝掉,然后双方就各自挖矿延续自己认为是正确的区块链,由此产生硬分叉,分成了两条链。随后bitcoin.org发布公告,呼吁矿工升级到bitcoin core 0.10.2版本来消灭分叉。这也是一次意外,硬分叉的成因是采用新软件版本的节点拒绝验证采用旧软件版本的节点生产的区块,然后双方各自挖矿。
以上两个都是关于比特币意外硬分叉的示例,前一个是因为对新产生的区块格式在不同节点上产生分歧,后一个是因为对交易格式在不同节点上产生分歧。但最终都被摒弃,并回归到了比特币的主链上来。
基于此,我们对硬分叉定义如下:硬分叉是指比特币区块格式或交易格式(这就是广泛流传的“共识”)发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块,不过已经升级的节点可以验证未升级节点生产出的区块,然后大家各自延续自己认为正确的链,所以分成两条链。
分叉的由来
比特币的分叉由来已有,所谓分叉,指的是因底层协议不同而引发的记账差异。按苏宁金融研究院互联网金融中心薛洪言主任的解释,比特币是由若干点对点的去中心化节点共同维护的,整个系统的有序运转依靠的是所有节点的共识,即对于哪些交易是可以接受的、哪些节点具有记账权等关键事宜,有一套公认的标准。这套标准是部署在区块链底层协议中自动化执行的。
但节点毕竟是人来操作运行的,即所谓“矿工”,而但凡是由人来操作的事情,就一定会有区别。比如说有些节点的矿工天天上线,有些节点的矿工又偶尔才上线;有些节点在东半球,有些节点在西半球……总之由于种种原因,久而久之就造成了比特币不同节点中,使用的底层协议并不一样。
如果节点中运行不同版本的底层协议时,就会出现不一样的标准,此时就会产生分叉。如果节点之间能够处理好这些版本差异,最终形成统一标准,那分叉最终会消失,这种分叉被称之为软分叉。如果差异不能被消除,部分节点继续运行不同版本的协议时,分叉将会持续,这就是硬分叉。
软分叉好解决,就是账本错了,修改过来就行。硬分叉不好解决,谁也不认为自己是错的,都按自己的标准来解释,最终只能各行其是,各记各的帐。目前所说的比特币分叉,指的就是硬分叉。
第一次分叉:技术升级
比特币最早的一次硬分叉,是纯粹的技术原因。比特币本身的结算性能有限,按最初的技术协议,比特币每秒最多只能支持 7 次结算。这在早期不是问题,随着比特币的大火,越来越多的人蜂拥而入,结算也变得空前频繁,此时原有的技术就显得不够用了。
因此在 2017 年年中,一部分矿工就提出了新的技术协议,但另外一部分矿工却不认同,最终变成双方各持一端,各自运行自己认同的底层协议,这就是比特币历史上的第一次分叉。
分叉越来越多,性质逐渐变味
但随着比特币交易手段的发展,投机者逐渐把分叉视作一种圈钱手段,导致目前的分叉性质大为改变。
其原理是这样的,每一次分叉,实质上都相当于发行了一种新的数字货币,而且这种数字货币是跟比特币挂钩的。面向的受众人群,比一般的ICO更为庞大,而且也更容易被普通用户所接受,比起直接发行一种新的数字货币来得容易多了。
而创造这种分叉的团队,因为占尽了先机,所以非常容易掌控新币种的交易,特别是在前期,只需要很小的成本就能操纵整个币种的价格走向。这就留下很大的投机炒作空间,分叉团队只需要让新币种得到用户的接受,就可以人为将价格炒到一个天价,等真正的用户涌进来之后,再把手头囤积的大量货币全部出手,凭空获得高额利润。
2017年 10 月 25 日,国内一团队分叉出比特币黄金(BTG),而在分叉前两天,莱比特矿池CEO江卓尔就公开指责这次分叉是圈钱:“BTG创始人廖翔在分叉前已预挖了 20 万枚BTG币,并且想将其兑换成 2 万个比特币,圈钱 8000 万元。”
分叉的好处于此可见一斑,以至于炒币界开始流行一句话“分叉创造价值”,为此还衍生出一个新词“IFO”—— 首次代币发行。
知名财经博主何生曾对媒体表示,所谓的IFO大部分可能衍变为收割韭菜的圈钱操作,“很多之前做ICO的在做IFO,ICO还需要写白皮书和上交易所才可能获得市场认可,而IFO连白皮书都不用写。”
比特币“扩容问题”
比特币最初的设定是每个区块大小为1M,平均每十分钟产生一个区块,比特币网络理论上每秒最多可以处理7笔交易。随着比特币持有者和区块链上交易的不断增长,原本1M的区块大小已不足以支撑日渐庞大的交易量,网络拥堵、交易延迟等问题日益严重。为了解决这些问题,比特币社区探讨了种种方案,主要包括将“隔离见证+闪电网络”,以及修改比特币区块链的代码,以期突破1M区块上限,即比特币扩容。
所有扩容方案中最有代表性的有以下几种:
BIP100:由矿工们进行投票,将新的区块建议上限值写在Coinbase交易中,新的值在当前的基础上有20%上下浮动空间。全网80%的算力参与,即可激活新的大小。
BIP101:自2016年起,立即提升限制到8M,然后每两年翻番,并持续至2036年,届时一个区块体积上限为8.2G。
BIP102:体积限制一次性从1M提升到2M。
BIP103:每个特定周期增长4.4%,折合年增长率为17.7%,直至2063年7月,届时体积上限约为1.4G。
BIP109:体积限制一次性从1M提升到2M,但是需要全网75%算力激活。
BIP248:2016年将体积提升到2M,2018年提升到4M,2020年提升到8M。
详解区块链分叉和解决方案
数字货币的那点事 2017-03-08
区块链的分裂和解决方案常常是一个容易让人误解的话题。最近Shaolinfry提出的用户激活软分叉(UASF)获得了很多人的关注,有必要对人们的误解解释一下,让人们理解区块链分裂的意思和潜在的解决方案。
分叉类型
矿工可以通过故意孤立对一些客户端有效的区块来进行区块链分裂。用户维持着一组所有区块都要遵守的共识规则,当某些用户不能在这些共识上达成一致时,他们就会跟随另一条区块链。为了简化讨论,我们跳过共识达成一致这种情况,对矿工决定孤立区块的情况以及存在两组以上共识规则的情况进行说明。
不兼容硬分叉
不兼容硬分叉是最容易理解的区块链分裂类型。在一个确定的区块高度上,一些用户决定实施新规则集合,新规则集完全独立于原始规则。
不兼容硬分叉
一些矿工决定在新规则集上挖矿,而一些矿工继续在老规则集上挖矿,这是就会发生一个硬分叉。新规则下挖出的区块对老规则来说是无效的,老规则下挖出的区块在新规则下也是无效的。以太坊/以太坊原链的分裂就是这种类型分裂的例子。在这种情况下,这两条链永远分开了,没有再聚合的机会,不管两条链上已经开采了多少区块都无法改变这个事实。
半兼容硬分叉
如果两个共识集合存在交集,但也存在一些区块只在其中一个链上有效,那么这种情况下会发生半兼容硬分叉。
半兼容硬分叉
在这种情况下,矿工可以通过只挖橙色规则区块来避免区块链分裂。不过,一旦一个矿工挖出一个红色的或黄色的区块,区块链就分裂了。这种情况是有可能把区块链重新汇聚在一起的,做法是:当用户接受黄色规则的区块链的高度超过其它链时,矿工聚合起来只接受橙色链。如果这么做了,红/橙和黄/橙链就会被红/黄客户端孤立,只会剩下一条链。这种类型没有主分叉。
在这种情况中,矿工最好的做法是只挖橙色区块,避免任何区块链分裂。矿工这么做,有效地把半兼容分叉转变成了一个软分叉。
兼容硬分叉
规则集合被扩充,包含了之前所有的规则,也添加了其它新规则。
规则被扩充后,只要有矿工在黄色规则下挖矿,区块链就会分裂。这种类型分裂是可以合并的,只要黄色链包含的工作量大于橙色链。这种类型分裂的危险之处在于,如果橙色链包含了更多的工作量,黄色链就会被孤立。黄色链用户不但要必须保证这个链最初获得的算力占大多数,还要永远保证大多数算力在这个链上。这种分裂类型的例子包括Bitcoin XT、Bitcoin Classic 和Bitcoin Unlimited。
软分叉
软分叉就是规则集合被收紧,黄色规则完全被红色规则覆盖,因此只剩下橙色和红色规则。
当矿工创建出一个红色区块时,区块链分裂就发生了。使用红色规则的用户会跟从红色链,使用黄色规则的用户跟从橙色链。这种情况下看,如果主要算力开始在橙色规则上挖矿,红色链就会被孤立。这种类型的分叉在比特币历史中发生过很多次,比如添加BIP66、CSV和CLTV这样的功能时,还有激活隔离见证,都是这种类型的分叉。
重组风险和分裂风险
重组和区块链分裂都给用户带来很多危险。一次大规模重组可能会造成用户之前接收的交易消失,大量的用户资金会在这个过程丢失。
例如,你在一年前支付了10个比特币购买了一辆车,一年后这个交易在这个账簿上消失了,你的那条区块链支链被抛弃了。你现在没有比特币也没有汽车了。这样行为让人们对这个货币丧失信心。根据不同的分裂类型,重组将会对采用宽松规则的用户造成影响。那些执行严格规则的用户不会受重组影响。
另外,区块链分裂也带来很多风险。以太坊分裂时,它的价格就栽了一个跟头,分裂还让市场产生混淆(那个是真正的以太坊?遵从原始规则的那个还是中心化以太坊基金会强制实施的那个?)。区块链分裂对用户产生不可逆转的影响。不过,有一种情况是适合实施分裂的(两群人分歧很大,最好是各干各的,而不是相互妥协)。
缓解风险
这些分叉所带来的风险大部分是可以通过矿工和用户来缓解的。
不兼容硬分叉没有缓解方案可实施,这种分叉造成了用户和矿工想要的分裂。这相当于离婚或分手,此次再无互动。
对于半兼容软分叉来说,矿工有能力阻止区块链分裂和大规模重组。如果大部分矿工只挖橙色区块,用户只会保持一个区块链,重组也会被限制在少数的区块中。
对于兼容硬分叉来说,黄色规则用户是风险所在。最好的风险缓解方案是保证经济大多数在他们这边。同样重要的是要保证大部分的矿工最初也在他们这边,否则的话,区块链就不会分裂。如果经济大多数不在他们那边,橙色区块的价值就会变大,这会把矿工拉到这边,导致大规模重组。
这种情况要倍加小心(Bitcoin XT、 Bitcoin Classic和Bitcoin Unlimited都有不呈现出来的情况 ),前者激活阀值要75%算力支持,后者就没有激活阀值。
对于软分叉来说,红色规则用户是风险所在。最佳风险缓解策略是保证经济多数和多数矿工在自己这边,或者大部分矿工在橙色规则那边。
这虽然看起来有点违反直觉,但是如果大部分矿工在橙色规则下挖矿,这样会和橙色用户保持共识一致,不会被孤立。矿工可以只在橙色规则集合上挖矿,孤立红色规则集合,从而缓解风险。
在风险缓解中,矿工扮演着重要角色。除了不兼容硬分叉,其它所有情况都可以通过矿工来避免区块链分叉。在半兼容硬分叉中,矿工可以把它转化为软分叉。在兼容硬分叉中,他们可以拒绝硬分叉。对于软分叉来说,他们可以执行这个软分叉来实现。甚至在没有矿工这样做的情况下,用户也可以通过采用橙色规则拒绝任何不符合要求的规则来保护自己。这就意味着拒绝硬分叉,实施软分叉。
结语:避免矿工实施的规则集合的改变
很多人包括Jeff Garzik对软分叉表示怀疑,因为它没有给用户选择。比特币的属性和其它工作量证明机制的区块链不能阻止矿工使用比用户共识更严格的共识。但是,用户可以通过调用非兼容硬分叉来获得权力。
在这样的情况下,用户会引入一个新规则集(可能包括工作量证明算法的改变)来强制区块链分裂。这保证了用户一直有从矿工实施的规则中逃离的出口。通过这种方式,如果经济和用户拒绝软分叉规则改变,他们就有能力分离,重新改造他们的规则。虽然实施起来很不方便,不过任何矿工对用户的攻击都可以通过这种方式避免。