风险提示:理性看待区块链,提高风险意识!

区块链中的软分叉和硬分叉是什么意思?

1个回答

阿卡肆拾柒6星评价

2021-04-19 10:22:35

区块链中的软分叉和硬分叉是什么意思?

Bitcoin术语中的软分叉与硬分叉  

比特币中的软分叉和硬分叉主要是指因比特币协议的突发改变而导致的兼容性的问题。  

比特币协议发生改变,会有两个不同版本的比特币协议在同时使,他们对其他区块的接受规则不同会导致区块链长期分叉,这两个不同的链都会被不同的网络认为是有效的。链分叉也导致网络分叉。  

软分叉是向前兼容的  

image.png

如上图软分叉的新的规则是以前旧规则的子集,所有被新版本认为是合法的区块也会被以前旧版本认为是合法的。  

旧版本会接受新版本创建的区块,新版本和旧版本是兼容的。  

如果有至少51%的矿工的算力转向的新版本,那么网络自动完成软分叉:一开始旧版本创建的区块在新协议下被认为是不合法的,这时会出现一个短暂的分叉,但最终新版本的分叉会赶超旧版本的分叉成为最长链。因为在旧版本上的算力是小于新版本的。  

但是如果小于51%的矿工算力转向新版本,那么软分叉将不会出现,因为旧版本比新版本有更多的算力支持,同时旧版本不兼容新版本。  

硬分叉不向前兼容  

image.png 

旧版本不会接受新版本创建的合法区块,认为新版本的合法区块是不合法的。所以很明显硬分叉是不向前兼容。要实现硬分叉所有的用户(矿工,交易所,普通用户)都要切换的新的协议版本上。  

总结  

软分叉向前兼容,旧的版本会接受新版本创建的区块,在软分叉中只需要矿工升级到新版本即可,用户可以继续使用旧版本的协议,他们仍然会接受新版本协议创建的区块。  

硬分叉不向前兼容,旧版本不会接受新版本创建的区块。要实现硬分叉所有用户都需要切换到新版本协议上。  

为什么硬分叉不需要51%以上的算力?因为即便旧链的长度大于新链也没用,新版本是不会接受旧链上的区块,如果所有用户都更新到新的版本那么客户的钱包会认为旧链上的资产是非法的,旧链上的货币无法使用。  

区块链圈里第一个有影响力的硬分叉应该是以太坊的分叉事件。  

以太坊上一个著名的项目TheDAO由于其自身漏洞,导致黑客窃取了当时价值约6000万美元的以太币。  

2016年7月,以太坊开发团队通过修改以太坊软件的代码,在第1920000个区块强行把TheDAO及其子DAO的所有资金全部转到一个特定的退款合约地址,从而“夺回”黑客所控制的DAO合约币。  

由于一部分矿工并不认同这个修改,于是形成两条链,一条为以太坊(ETH),一条为以太坊经典(ETC),各自代表不同的社区共识以及价值观。  

image.png

当以太坊发生了这次硬分叉后,产生了两条区块链。由于这两条链在发生分叉之前的数据都是一样的,一个非常有意思的现象出现了:原本持有以太币(ETH)的人,发现自己除了持有原有的ETH外,又有了相同数量的ETC。  

也就是说,凭空的多出了一些资产。  

这些资产的价值具体怎样,还要看市场交易情况。但总的来说,区块链的硬分叉,没有减少资产,反而让人手里多了一种资产,看上去总归是一件不亏的事情,于是区块链分叉就成了一种资产凭空增加的方式。  

在2017年8月1日,由ViaBTC领导的矿工团体创建一个比特币分叉——BitcoinCash(简称BCC或BCH)。这次分叉,让大量的比特币持有者凭空的增加了一种新的数字货币(BCH)。  

硬分叉这种创造货币的方式和ICO非常类似,于是一个新的名词诞生了——IFO(InitialForkOfferings)。矿工团队在创造分叉的同时,可以在分叉发生的区块中,利用自己的特权,分配一些货币给自己或其他人(直接写成CoinBase交易即可),然后再开放让所有人都可以参与挖矿。