天天看点

区块链学习笔记:三种常见的共识机制

一、工作量证明(Proof of Work---PoW)

工作量证明(PoW)这种共识机制其实在之前的文章有提到过。这种比特币区块链系统用的就是PoW共识机制。在比特币区块链系统中有个Nonce(难度随机数),它由若干个前导零构成,前面零的个数越多,整个网络的难度系数就越大,之前也说过一个节点想要获得记账的权利,则根据PoW的规则,算力最大最先算出某个hash值的节点能够获得记账权利。当某个节点最先向全网广播计算出了某个合理的hash值,则该节点就获得记账权。

也就是说PoW机制就是谁的算力大谁就有更大的概率获得记账权。PoW依赖机器的运算性能来获得记账权,这使得机器的配备性能要十分好才行,因为每次全网广播节点算出了hash值都需要全网节点共同达成共识来证明该节点的有效性,所以所需确认某个区块的有效性的时间就比较长。使用PoW的项目除了比特币外,还有以太坊的前三阶段:Frontier、Homestead和Metropolis。

由此PoW的缺点是:资源消耗大、共识达成的时间较长、性能效率低。

当然它的优点也很明显:纯去中心化,节点自由进出。

二、权益证明(Proof of Stake---PoS)

PoS由‘Quantum Mechanic’在2011年在比特币论坛讲座上首先提出的,后经Peercion(点点币)和NXT(未来币)以不同思路实现。

 PoS是节点的记账权获得的难度与节点持有的权益成反比,就是说某节点持有较多的权益,那该节点获得记账权的难度就会较低。更简单来说就是越有钱越有可能获得记账权。与PoW相比,它减少了数学运算带来的资源消耗,共识性能得到相应的提升。它跟PoW的相同点就是两者都是基于hash运算获取,竞争获取记账权的方式,且容错性相同。它根据每个节点拥有代币所占比例和时间,等比降低挖矿难度,使节点能提高找到随机数的速度。

PoW中一个用户用1000美元来购买计算机,并加入网络来挖矿以此产生新区块,从而得到奖励。而在PoS中用户可以拿1000美元购买等价代币,并把这些代币当做押金放入PoS机制中,这样用户就有机会产生新区块而得到奖励。

持有代币并放到PoS机制中,那么就能成为系统的验证者。PoS在验证者中随机选取一个赋予该用户生成区块的权利,当然如前文所说,你持有的代币越多,被选中的几率就越大。然后如果这一个用户不能在规定的时间内产生一个区块,呢么PoS就会选择另外一个验证者来产生区块。

所以总结之前的段落,PoS的缺点:跟PoW一样,还是需要机器进行运算挖矿,没有解决商业应用的痛点。

其优点:缩短达成共识的时间,不用消耗大量资源去挖矿。

三、股份授权证明(DPoS)

它跟PoS在名字上只差一个D,其实质上与PoS的区别是,PoS只要把代币放到PoS机制中就能成为验证者,有几率能有权生成区块记账,而DPoS则不同,并不是所有的拥有代币在机制中的节点都能成为验证者,它比较像股东大会选举股东代表一样,在一堆拥有股份的股民中投票选择前数十个票数最高的股东能成为股东代表,从而获得股东代表各种权利。DPoS也类似,每个股东按其持股比例拥有的相应影响力,51%股东投票的结果将不可逆且有约束力,其挑战是通过及时高效的方法达到51%标准。为达到这目标,每个股东可以投票授予一名代表,票数最多的前100位代表按规定时间轮流产生区块。每个代表可以收到等同于一个平均水平的区块所含交易费的10%的报酬。

总结下DPoS的缺点:该共识机制依赖代币。

其优点:大大减少参与验证与记账的节点数量,达到秒级的共识验证,即共识验证的时间大大缩短。

继续阅读