目前比较成熟的、已经经过大规模长时间实践检验的共识算法只有PoW和DPoS。
自从2009年1月3日比特币创世区块诞生,比特币已经稳定运行超过9年的时间,充分验证了PoW的可靠性。全网算力越高,PoW也就越安全。未来PoW的潜在挑战是量子计算机。(参考:谷歌72位量子计算机来了!比特币可能被破解)现在有一些区块链,例如超级现金Hcash(HSR)在重点研究怎么对抗量子计算。
Bitshares (BTS)和 Steemit (STEEM)底层都是采用石墨烯技术。石墨烯采用的是DPOS共识算法。Bitshares和Steemit在现网运行多年,DPOS被证明是成熟稳定的,而且高可扩展性的共识算法。
对于PoS算法而言,目前还处于早期阶段。前期部署的“简单的PoS”其实有蛮多的漏洞。现在有很多区块链在PoS上的研究和测试取得了不错的进展。比较典型的是ETH的Casper(CFFG & CTFG),Tendermint和ADA的Ouroboros。这些“设计精巧的PoS”都相对比较复杂,还需要经过一段时间的实网检验来不断完善优化。(参考:PoW&PoS共识算法)
Tangle共识算法不管从理论还是从实际部署(IOTA, Byteball等)的情况来看,欠缺还是蛮大的。这个创新的做法也许还需要从技术上和实践上做出一些突破才行。(参考:Tangle共识算法)
BFT类的算法由于在可扩展性上受限,一般用于非信任环境下的私有链或联盟链,而不直接用于公有链。NEO直接采用DBFT算法导致其沦为一个中心化的公有链。(参考:BFT共识算法)
总的来说,根据CAP理论,完全去中心化,又安全,又高可扩展性的公链是不存在的。PoW通过牺牲性能获得安全性,DPOS引入一定程度的中心化实现高性能。PoW和DPOS虽然不够完美,但是二者从设计和实际应用中都做到了既简单又好用。
对于共识算法,目前学术界和工业界还在不断做研究和尝试。例如MIT教授Micali于2017年提出Algorand算法(参考:可扩展的新共识算法Algorand 和 Algorand 论文),现已经被ArcBlock (ABT)采用。希望后续能够看到更好的共识算法和更好的区块链。
网友评论