区块链作为一个去中心化的分布式账本系统,然而在实际运行中,怎么解决因为去中心化后,保证整个系统能有效运行,各个节点诚实记账。在没有所谓的中心化的情况下,互相不信任的个体之间就交易的合法性达成共识的共识机制。
那我们今天就来讲几种常见的共识机制。
工作量证明机制(PoW)
PoW,源于比特币。简单说就是一份证明,用来确认做过一定量的工作。通过对工作的结果进行认证来证明完成了相应的工作量,这样的方式是一种非常高效的方式。PoW是按劳分配,算力决定一起,谁的算力多谁记账的概率就越大,可理解为力量型比较。
优点:
1)完全去中心化(任何人都可以加入);
2)节点自由进出,容易实现;
3)破坏系统花费的成本巨大。
掌握51%的算力对系统进行攻击所付出的代价远远大于作为一个系统的维护者和诚实参与者所得到的。
缺点:
1)对节点的性能网络环境要求高;
2)浪费资源;
3)每秒钟最多只能做七笔交易,效率低下;
4)不能确保最终一致性;
权益证明机制(PoS)
对于PoW,由于矿场的出现及挖矿设备性能的不断提升,算力开始集中,节点数和算力值渐渐不适配,同时PoW太浪费了,旷工持续挖矿进行的重复性Hash计算没有任何实际或者科学价值,而且还有一个更大的问题,作恶是没有成本的,旷工的恶意攻击并不会对旷工下次记账并获取相关权益(比特币)产生任何影响,鉴于此,人们提出了PoS。
PoS与PoW相比,不需要证明你在记账前做了某项工作,而是证明你拥有某些财产。根据你持有Token的数量和时间来分配权益,类似股票的分红制度。你持有的越多,持有的时间越长,即币龄越大,就能拿到越多的分红,也就有更大的记账权利。
优点:
1)节能环保,不需要计算;
2)性能高;
3)更加安全;
4)人人可挖矿(获得利息),不用担心算力集中导致中心化出现;
5)避免货币紧缩。
缺点:持币趋于集中化,使币过于集中。
委托权益证明机制(DPoS)
尽管PoS针对PoW的诸多不足做了改进,但是PoS仍然有一些自身的不足,而这些不足中尤其以“权利集中制”最为显著,这和区块链的去中心化本意背道而驰,因此有人提出DPoS机制。
DPoS基于PoS,类似投票选举,由被选举节点记账,如果把PoS看成资本主义的“权利集中制”,那么DPoS可以理解为具有特色社会主义的“民主集中制”。通过投票选举出的生产者如果不称职,随时可能会被投票出局。投票的权重和分配的收益,都是按照持有的加密货币数量占总量的百分比来计算的,51%的股东的投票结果是不可逆且有约束力的。
而 Cocos-BCX 测试链的共识层采用 DPoS 共识算法,但是有所改进。
Cocos-BCX 中,所有的预定见证人都由所有的持股人从见证人中投票选举,预定见证人统称为活跃见证人,活跃见证人数量通常为11-101个。所有的活跃见证人在 DPoS 共识算法的见证人预定算法中具有相同的出块预定概率,这保证了所有见证人的出块概率和获取出块奖励是一致的。
Cocos-BCX 采用改进的 DPoS 共识,理论吞吐量约 10 万 TPS,其高并发处理性能在合理的数据管理模式设计下足以支持现有游戏的开发与正常运行,基本满足大型联网游戏在平台中的运营诉求,保证用户的游戏体验与现有的中心化游戏几乎没有区别。