共识机制:区块链的灵魂

共识机制:区块链的灵魂

最近,班里针对同学们反应的综合素质评价不公开透明的问题,决定根据同学们的日常表现采用加减分的方式,对每一位同学进行量化,等到期末的时候进行汇总,从而得出一个公平透明的综合测评成绩。

这一做法得到了大家的一致认可,但就如何记录,大家产生了分歧。有人认为每一个人都应该参与记录,记录人可以得到0.5分的奖励;而有的人则认为应该选取几个代表记录,大家有权决定谁当选为代表;还有人说,让班委成员记录就行……

商量了很长时间,最终大家达成了一致最终:由全体人员投票选出代表,进行记录。而这就是一种简单的“共识机制”。

也就是各个节点所能接受和认可的如何进行记账的一种算法。

由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识。这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。

目前比较主流的共识机制有POW,POS,DPOS,DBFT等

POW( Proof of Work)即工作量证明,

它依靠设备进行数学运算,来获取记账权。是以比特币、以太坊为首的数字货币的共识机制。

它具有算法简单,容易实现;达成共识程序相对容易;破坏系统需要投入极大的成本的特点。

随着时间的发展,越来越多的问题开始暴露出来,比如它过多地依靠算力造成大量资源的浪费,出块的时间相对较长,交易处理效率较低,容易产生分叉,没有解决最终性问题等。

POS(Proof of Stake)即权益证明,

它与节点持有的代币数量和持有时间,也就是权益的大小有关,权益越大获得记账权的几率越大。这一定程度上,缩短了达成共识所用的时间,也减少了由于挖矿而造成的资源浪费。增加了作恶的成本。

但这种算法存在很多不确定性,比如无法确定拥有权益的人是否想参与挖矿。特别容易产生分叉问题。交易处理的速度也没有特别明显的提升。没有解决最终性问题。

DPOS(Delegated Proof of Stake),委任权益证明

DPOS是在POS基础上的创新,像是BTS,Steem和现在大热的EOS都是运用了这种算法。

它主要的创新在于通过权益选出很多代表也称超级节点来轮流记账,这极大地提高了交易处理效率,可以达到秒级验证。但存在超级节点联合起来作恶的问题,没有解决最终性的问题。

DBFT( Delegated Byzantine Fault Tolerance),授权拜占庭容错算法

DBFT机制,是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识。

它在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题。具有专业化的记账人;可以容忍任何类型的错误;记账由多人协同完成,每一个区块都有最终性,不会分叉;算法的可靠性有严格的数学证明。

但是它由于与记账人的关系过为紧密,因此当有1/3或以上记账人停止工作后,系统将无法提供服务;此外还会因为记账人的联合作恶导致系统分叉。

总的来说,它解决了最终性问题,对于运用场景的选择具有重要作用。

这些不同的共识机制的诞生与发展体现了区块链技术的发展和实现了更多场景的运用。也正是因为它们的存在,实现了区块链各种角色之间协调与均衡,维持区块链系统的相对稳定。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180530G0NBHP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券