共识名称 | 介绍 | 优点 | 缺点 | 代表 |
proof of work,pow,工作量证明 | 带计算的数据+随机数进行 sha256 计算,得到一个结果,判断前面0的个数。根据全网调节难度。 | 系统稳定,当全网算力高不易被被攻击。 | 记账成本高,消耗计算机算力。全网算力过低,容易被攻击 | bitcoin |
proof of stake,pos,股权证明 | 根据币龄来获得记账权,币龄与持币数量和持币时间有关系。记账会清除币龄,每清除xxx币龄,获得相应的利息。 | 减少了挖矿的支出,不易出现分叉。 | 币越多,记账的权利机会越多。可能会导致币集中在少部分币多的人当中,不便于流通。为了累计币龄,在线节点少。 | 点点币(ppc), 新星币(Nova coin,nvc), 黑币(blk, block coin) |
delegated proof of stake,dpos,股份授权证明 | 类似人民代表大会制度,普通用户通过投票的方式,选出记账的节点。如果节点不能履行出块的义务,取消该节点的记账权,后面的节点顶上。 | 不用进行挖矿,减少有人囤积币。不易出现分叉。 | 投票的积极性不高,获得记账权需要持币。记账权掌握在少数的节点上。 | eos |
raft | 每个节点设置随机超时时间150ms-300ms。时间一到,如果没有领导者,就像其他节点发送vote消息,对自己进行投票成为领导者。不停的向其他节点发送心跳。由领导者接受请求,发送给其他节点,收到超过半数其他几点接受成功的消息过后,返回成功给客户端。 | 容易理解,paxos的演化版本。 | 不适合适用于公链 | 动画教程 |
Practical Byzantine Fault Tolerance | 节点接受请求,广播给其他节点,其他节点收到再次广播的消息,超过半数,返回给客户端 | 适用私有联盟链 | 不适合适用于公链。实用性较差。节点增加,完成一致性难度增加。 | |
bft | a.所有忠诚的副官遵守相同的命令 b.如果发出命令的将军是忠诚的,那么所有忠诚的副官遵守司令(发出命令的将军)的命令 | 随着几点增加,完成一致性的难度增加。 |