在节点验证区块链发生冲突时,会发生分叉(forking),也就是说,在网络中有多于一个区块链,且每个区块链由一些矿工验证。分叉共有三种:普通分叉、软分叉和硬分叉。
普通分叉是由于两个或者多个矿工几乎同时发现了一个区块引起的暂时冲突。如果一个难度值高于另一个,冲突就解决了。
更改源代码可能引起冲突。根据冲突类型,可能要求有50%以上算力的矿工升级,也可能要求所有矿工升级,以解决冲突。 要求有50%以上算力的矿工升级以解决冲突,叫作软分叉;而要求所有矿工升级以解决冲突,叫作硬分叉。软分叉的一个例子是,如果更新源代码使旧区块/交易 的一部分失效,则有50%以上算力的矿工升级后可以解决,这样新的区块链将有更大难度值,最后被整个网络接受。硬分叉的一个例子是,如果更新源代码是为了 更改对矿工的回报,则全部矿工需要升级以解决冲突。
以太坊自发布以来经历了多次硬分叉和软分叉。
来源:我是码农,转载请保留出处和链接!
本文链接:http://www.54manong.com/?id=597