一文读懂区块链的分叉

       对于链圈的朋友来说,区块链既熟悉又陌生,熟悉的是我们几乎每天都可以看到区块链的新闻、每天听到周围的人谈论区块链,陌生的是对于区块链的一些技术性的东西甚至术语,完全不知道或完全不懂,本文和大家分享的就是区块链常见术语至分叉。

  以比特币区块链为例,平均每10分钟可以产生一个新区块。

  但是要注意,这里有一个词平均,这个词就代表:有可能100分钟产生一个,也有可能同时产生好几个。

  我们用个简单的图来说明一下:

  图中ABC区块是顺序产生的,但是在C区块之后同时产生了DE2个区块:

  DE新区块会分别向自己临近的区块广播:我是新生成的区块呀!快把我记录进去呀!并且会分别在此基础上开始生成新的区块:

  很快,就会有一个区块N先后收到DE的广播,发现DE拥有同样的时间戳,那么区块N就会判断,选择其中一个为有效区块,另外一个为无效区块。

  那么判断的依据是什么呢?

  就是链的长度。

  此时D区块的基础上已经产生了3个新区块,但是E区块基础上只产生了1个新区块,此时区块N就会向其他节点广播:“DE虽然是同时生成的,但是D基础上的链更长,所以D有效E无效。

  结果就是区块D和它基础上的3个新区块继续存在,E和它基础上的1个新区块被放弃。

  同时产生2个新区块的状况,就叫做分叉

  在上面的例子中,区块链的节点都认可D而放弃EE和它基础上的1个新区块存在了一段时间又消失。这种可以消除的临时分叉,就叫做软分叉

  但是如果有一些节点即便是知道D基础上的新区块更多、链更长,依旧以法律道德的各种名义号召大家认可E和它基础上的1个新区块,一旦得到响应,那么E区块所在的链就会发展壮大起来,不再消失。这种固定分叉,就叫做硬分叉

   原文链接:https://www.kg.com/article/486194716954726400

猜你喜欢

转载自www.cnblogs.com/gaobig/p/9579705.html