区块链分叉是什么?
1.概念介绍
分叉有点类似于“分手”,原本大家在同一条区块链里面运行,后来由于意见不合一拍两散各奔东西,你走你的阳光道,我走我的独木桥,从此各不相干。
在中心化的系统中升级软件十分简单,召集相干人等开会讨论一个可行方案实施升级即可,即使有意见分歧最终也可由领导拍板决策,但在区块链的去中心化系统中想要“升级”就并不是那么容易了,甚至可能一言不合造成区块链分叉。
简单说 分叉是指在区块链进行“升级”时,区块链社区成员间发生了意见分歧,从而导致区块链分叉,原有区块链被一分为二,根据分叉后的区块链是否兼容旧区块链,分叉又分为“软分叉”和“硬分叉”
因为没有中心化机构,比特币等数字资产每次代码升级都需要获得比特币社区的一致认可,如果比特币社区无法达成一致,区块链很可能形成分叉。
2.区块链分叉案例
案例一:2016年6月,以太坊项目The DAO被黑客攻击,损失了价值超过6000万美金的ETH,随后以太坊团队通过回滚的方式“追回”了被黑客盗取资产,但一部分社区成员认为此举有违区块链不可回滚、不可窜改的基本精神仍旧坚持维护旧链。
自此分裂出以太坊(ETH)和以太经典(ETC)两个独立的区块链项目,对应不同的共识理念。
PS: 以太坊持币者在分叉后除了原有的数字货币(ETC)外,还可以获得1:1数量对应的分叉币(ETH)。
案例二:2017年8月,为解决比特币交易拥堵、手续费奇高等问题,比特币核心开发团队bitcoincore提出“隔离见证 + 闪电网络”的扩容方案,但另一派则认为应该直接在链上扩容,支持大区块(将区块大小提升至8M)。
由于扩容方案理念不一致,于是在UTC时间2017年8月1号,位于比特币区块高度478558,比特币网络发生了"分叉",比特币区块链分裂为BTC以及比特币现金BCH两条链。
PS:比特币持币者在分叉后除了原有的数字货币(BTC)外,还可以获得1:1数量对应的分叉币(BCH)。
3.区块链分叉的影响
-
分叉对于区块链自身进化来说不失为一种好的促进方式,可以通过分叉的形式给区块链更多可行性方案探索与验证的机会 ,正所谓一花独放不是春,百花齐放春满园。
-
分叉对原有投资者来说也是一个利好,除了原有数字资产不变还可以分得相当数量的分叉币,不论分叉币后续成功与否,都基本没有风险。
-
分叉过多或频繁分叉会导致社区混乱,社区成员间很难达成共识,同时也有违区块链“不可篡改”的精神。
软分叉与硬分叉
软硬分叉的定义
软分叉和硬分叉都向后兼容,这样才能保证新节点可以从头验证区块链,向后兼容是指新软件接受由旧软件产生的数据或代码,比如说Windows10可以兼容 Windows XP的应用。
而软分叉还可以向前兼容,向前兼容是指旧软件接受由新软件产生的数据或代码,比如说你用Office2013编写的文档仍然可以用Office2010或更老版本的Office软件打开,就是一种向前兼容。
根据兼容模式的不同区分软硬分叉
简单地说,旧节点是否接受新区块,是软硬分叉的本质区别
软分叉向前兼容,旧的版本会接受新版本创建的区块,在软分叉中只需要矿工升级到新版本即可,用户可以继续使用旧版本的协议,他们仍然会接受新版本协议创建的区块。
硬分叉不向前兼容,旧版本不会接受新版本创建的区块。要实现硬分叉所有用户都需要切换到新版本协议上。
1.硬分叉
硬分叉是指当区块链代码发生改变后 旧节点拒绝接受由新节点创建的区块,不符合原规则的区块将会被忽略,矿工会按照原规则在他们最后验证的区块之后创建新的区块,区块链领域最有名的硬分叉案例,便是“以太坊”分叉。
2.软分叉
软分叉是指区块链代码发生改变后,旧的节点并不会感知到区块链代码发生改变,并继续接受由新节点创建的区块,矿工们可能会在他们完全没有理解或验证过的区块上进行工作,软分叉新旧节点双方始终都工作在同一条链上。
3.软硬分叉的优缺点
软分叉的优点:
1、软分叉始终保持一条链,没有分成两条链的风险;
2、软分叉不要求所有节点同一时间升级,允许逐步升级,且并不影响软分叉过程中的系统稳定性和有效性;
3、对于矿工而言不需要更新升级矿机等硬件设备即可继续挖矿。
软分叉的缺点:
1、软分叉的前提是老的节点总是能够接受新节点的区块,这就要求必须把系统设计成向前兼容(forward compatible)需要增加不少的工作量;
2、软分叉总是建立在对老节点进行欺骗的基础上,它让老节点没有察觉实际上已经发生的变化,某种程度上违背了单点完整验证的原则。
硬分叉的优点:
1、于区块链本身而言,可以给区块链更多实践探索的可能性,进而促进软硬件技术的升级优化;
2、于投资者而言,可以给已有投资者在无风险的情况下增加一种币的收益。
硬分叉的缺点:
1、会给社区造成一定的不稳定性,使部分矿工摇摆不定,矿机设备更新提升了矿工的挖矿成本;
2、会给用户交易带来重放攻击的风险