区块链--底层共识

分叉和共识

第一个概念,叫做 consensus,中文叫做共识,就是大家对一个事件,都同意,不光是发生了事件 A 和 B,而且事件 A 先于事件 B 的顺序,都一致认同。

第二个概念,叫做 consensus finality,就是终极共识。意思就是我们在做下一个决定之前,现有这个决定必须是终极的,不能改变的。

第三个概念是分叉,fork。比特币采取的 pow,原理就是在进行哈希碰撞,那么在这个过程中,基本上会出现几个人同一时间达到哈希碰撞的结果。那么 pow 其实是没有终结共识的,一旦出现共识分叉,比特币原则是最长链获胜。 那么短的分叉,就会被放弃。但是在理论上,如果有一帮人,决定就是将这个短分叉持续下去,那么真正的两条链就分出来了,当然事实上大家没有这样做。

第四个概念,就是软分叉,soft fork,就是这个分叉,其实不是共识分歧产生的,而是软件升级导致未升级和已升级软件,还是可以交流。

第五个概念叫做硬分叉,hard fork,就是软件升级之后,已升级和未升级软件之间不兼容。鸡犬之声相闻老死不相往来,这个就是大家通常听到的分叉。

底层共识

底层共识一般是两个阶段,
● 第一个阶段:就是有人提出共识的倡议;
● 第二个阶段:就是大家验证节点对这个倡议进行投票认可,认可完了,共识就形成了。

现在以太坊的共识是POW,大家称为挖矿,挖矿的共识倡议就是猜那个数字,猜出来的矿工就全网广播,其他矿工就用哈希验证,如果验证正确就达成了共识。

POS也是需要以上这两个步骤(POS 不挖矿)。但是这里有一点点区别,就是在提出倡议的机制上面,有两种技术路线:
● 第一种叫做基于链的倡议,就是点币PeerCoin和黑币BlackCoin这些,基本方法就是模拟挖矿的办法,
用一个伪随机数,去发给共识提议的点;然后第二阶段,验证的决定,就看谁的币多,谁的声音最大。
●另一条路子,就是基于BFT算法模式的倡议。
这个主要是tendermint开始做,现在小V的Casper也是切换到这条路了。

BFT是几十年研究的成果了。
它的基本特点,就是每一次共识达成的结果, 都是终极共识,不会发生任何分歧。
POW 的话,比如比特币,有时候会发生两个共识产生,就是两条链平行发展,要等6个区块,
大家矿工自动去最长的那个挖。

以太坊为啥有麻烦呢?
是因为他们想从POW转为POS,中间至少要分两步走:
第一步,就是仍然让现在的POW挖矿来提出共识倡议,但是让新的POS机制来做共识确认; 
第二阶段,再把共识倡议这部分转换过来——那么当共识倡议继续进行,但是共识达成这里出不来,就比较麻烦了。
 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值