比特币之软硬分叉详解

作者: 通若 | 来源:发表于2017-11-21 10:49 被阅读61次

    网上有很多关于软硬分叉的说法,但说实话,包括比特币官网,都没有很清晰的说明软硬分叉的过程是什么样的。痛定思痛,决定整理一番。如下:

    image.png

    硬分叉:旧节点不支持新协议,新节点支持旧协议

    T1:只有旧节点和旧协议交易/区块存在
    T2:新节点和新协议交易/区块出现,旧协议交易/区块能得到所有节点的验证,新协议/区块只能得到新节点的验证。由于旧节点算力大于新节点,所以即使在某个区块处同时生成一个新区块和一个旧区块,但是随着时间推移,旧协议区块的增速要比新协议区块的增速更快,所以新节点会同步旧协议区块,从而使得只有一条链。
    T3:新节点和新协议交易/区块出现,新节点生成的新协议交易/区块是能够得到新节点确认的,所以新节点会维护一条同时具有新协议和旧协议的区块链,但是旧节点无法同步新协议区块,所以旧节点会停止增长,失去发言权。

    image.png

    软分叉:旧节点支持新协议,新节点不支持旧协议
    T1:只有旧节点和旧协议
    T2:新节点和新协议交易/区块出现,旧节点会维护一条具有新协议和就协议区块的区块链,新节点只能维护新协议区块链,但是由于旧节点算力大于新节点,所以旧协议区块的增速会大于新协议区块,但是新节点不支持旧协议,所以无法同步旧节点维护的区块链,二者分成两条链。
    T3:新节点和新协议交易/区块出现,但是新节点算力大于50,所以节点维护的区块链的增速要比旧节点快,当新节点维护的区块链高度大于旧节点维护的区块链高度时,旧节点会同步到新节点区块链上,从而维护一条链。

    总结:网上说软分叉共同维护一条链,硬分叉分成两条链,其实都只是针对某一环节说的,并不完整。而且容易给人产生错误的认知,包括官网亦是如此。从整个环节来看,硬分叉最终虽然分成了两条链,但在旧节点算力大于50%的时候,二者仍然是一条链。软分叉虽然最后合成了一条链,但在旧节点算力大于50%的时候,实际上分成了两条链,比特币官网说暂时性分叉指的就是该阶段。所以从整个历史上来看,实际还是在维护两条链。只是最后旧节点的交易/区块无法被确认。

    相关文章

      网友评论

        本文标题:比特币之软硬分叉详解

        本文链接:https://www.meiwen.com.cn/subject/wbjivxtx.html