PoH作为一种新的共识算法近期受到了较大的关注,而PooI验证池和PBFT则是联盟链和私链中较为常见的共识算法。
1、PoH:即历史时间证明算法,旨在通过将时间本身编码到区块链中来减轻处理块中网络节点的负载。PoH采用创新的分片式时钟,将时间和状态解耦。简单来说就是将全局的时间链和每个区块的时间链分开,状态的更新不再需要全局时间的同步。PoH通过引入一个名叫信标链(Beacon Chain)的时间源,为分片架构提供全局时钟,每个分片都有自己的独立时钟体系,它们周期性地将自己的时钟与全局时钟同步。PoH同时引入了可验证延迟函数(VDF),用于验证分片与全局时钟的同步操作,解决信任问题。PoH解决了时间的挑战,从而减少了区块链的处理重量,使其更轻、更快。
2、PooI验证池:Pool验证池基于传统的分布式一致性技术建立,并辅之以数据验证机制,是目前区块链中广泛使用的一种共识机制。Pool验证池不需要依赖代币就可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础之上,可以实现秒级共识验证,更适合有多方参与的多中心商业模式。不过,Pool验证池也存在一些不足,例如该共识机制能够实现的去中心化程度不如PoW机制等。
3、PBFT:即实用拜占庭容错算法,是一种共识节点较少的情况下使用的共识算法,常用于联盟链。PBFT系统中有一个节点会被当作主节点,而其他节点都是子节点。系统内的所有节点都会相互通信,最终目标是大家能以少数服从多数的原则达成数据的共识。
共识算法是区块链建立去中心化信任的基础,当前主流公链共识算法分为 3 类,分别为 PoS 、DPoS 、Pow。
1、PoS 算法:权益证明,采用该算法的目前主要有以太坊 2.0 ,引入币龄概念,持有币越多获得出块的概率越高,该算法降低了计算量,提升了 TPS,牺牲了一定去中心化程度。
2、DPoS 算法:委托权益证明,各节点将手中的代币抵押投票给最有能力、有信誉的节点出块,以 EOS 区块链为例,全网投票选出 21个超级节点,21个超级节点轮流去生产区块,这一算法可以大幅提升 TPS,但去中心化程度进一步降低。
3、 PoW 算法:即工作量证明,比特币、以太坊1.0采用 的PoW 算法,以算力消耗为基础共识机制。以比特币为例,不断进行 SHA256 计算,最终找出满足给定数量前导的哈希值的节点有权出块,其他节点的计算则作废。PoW算法的原理决定了链上的绝大部分算力都会被浪费掉,不会有实际效力,资源浪费率极高,且不存在任何根本性改进的办法。