区块链之共识算法

      在分布式系统中,为了使得整个系统正常工作,一个非常核心的问题就是如何保证集群中所有节点中的数据完全相同并且能够对发起的提案达成一致。共识算法就是用来解决上述问题的的,从而保证分布式系统一致性的方法。

 

共识的特性:

终止性(Termination):所有正常运作的进程(节点)最终会在有限步数中结束并作出决定,不会无尽的执行下去。

一致性:

     (意见一致Agreement)所有的节点必须做出相同的决定;如果所有的节点都提议相同的初始决定值;

     (行为一致Integrity)那么所有正确节点都应该选择该值

有效性(Validity):最终达成一致性的决定必须是其他进程提交值中的某一个。

 

      在全网达成一致的过程中,共识的三种特性总是不能够得到满足,比如节点失效,节点之间网络通讯干扰甚至是阻断,以及分布式系统中运行速度的差异都会使得分布式系统很难达成一致。所以好的共识算法既要考虑到安全性又要保证高效。目前在区块链中使用的共识算法各有自己优势,也有自己的缺点,并没有非常完美的解决方案。

      可能POW更加浪费大量的算力并且出块的时间平均下来十分钟出一个块,在数据交易量的大数据时代,这个好像确实不太够看。DPOS中的是十一个超级节点,确实能够达到高效但是区块链的中心化的概念却不存在了。下面的文章会详细的介绍区块链的共识算法的介绍对比,在这里就先不多介绍了。

你可能感兴趣的:(区块链之共识算法)