● PoW:Proof of Work,工作量证明
依赖机器进行数学运算来获取记账权,资源消耗相比其他共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低。
● PoS:Proof of Stake,权益证明
节点获得区块奖励的概率与该节点持有的token数量和时间成正比,在获取区块奖励后,该节点的token持有时间清零,重新计算。相对于PoW,一定程度上减少了数学运算带来的资源消耗,性能也得到了相应的提升。但由于token在初期分配时人为因素过高,容易导致后期差距过大。
● DPoS:Delegate Proof of Stake,委托权益证明
所有持有token的用户都可以参与到网络治理,投票选出若干委托节点,区块链完全由这些委托节点按照一定算法生成和维护,类似于美国的议会。DPoS资源消耗和容错性与PoS相似,但DPoS比PoS高效。
● Casper:投注共识
以太坊下一代的共识机制,每个参与共识的节点都要支付一定的押金,节点获取奖励的概率和押金成正比,如果有节点作恶押金则要被扣掉。
●PBFT:Practical Byzantine Fault Tolerance,拜占庭容错
拜占庭容错算法是一种基于消息传递的一致性算法,算法经过三个阶段达成一致性,这些阶段可能因为失败而重复进行。假设节点总数为3f+1,那么f为容许的最大恶意节点数。
● Paxos/Raft
Paxos实现过程由proposer 提出提案,先争取大多数 acceptor 的支持,超过一半支持时,则发送结案结果给所有人进行确认。如果 proposer 在此过程中出现故障,可以通过超时机制来解决。Paxos 可以容忍故障节点,但不具备对恶意节点的容错性,这也使它适用于一个可信的应用场景。Raft算法则是对Paxos算法的一种简单实现。
共识机制有各自的优缺点,适应不同的场景,对比结果如下表:
Vortex共识机制
VNT Chain的公有链网络VNT_P采用一种全新的Vortex共识机制,融合了DPoS与BFT,可达到10000+TPS,同时保证共识安全,并实现快速终局。
● 共识效率
Vortex共识机制融入DPoS,能够加速打包交易、生成区块和验证区块,获得较高的交易吞吐量;同时对传统BFT算法进行改进,把交易和共识拆分在两个通道中做异步处理,提升消息处理效率;取消交易全网广播,降低网络带宽需求;并采用GPU对共识过程中的验签环节进行加速,提升通信效率。
我们还会通过FPGA实现共识验证的系统运行框架,通过执行TCP/IP协议进行点对点连接,采用ARP、ICMP、DHCP辅助TCP/IP协议与其他FPGA节点交互,缩短TCP/IP堆栈;同时将数据消息转化为满足共识协议需要的报文格式,对数据消息进行传递广播,其他FPGA节点收到后发送反馈并进行投票。
● 终局性与安全
通过融入BFT,Vortex能够实现快速终局,任何交易经过一段时间之后,总能被区块链最终确认,并且无法进行回滚。此外Vortex能够应对各种攻击,包括Nothing at stack、Long range attack、Double spending attack、 Bribery attack等,有效防止分叉和数据篡改。
● 网络治理
所有VNT Chain的用户都可以参与到VNT_P网络的治理。在Vortex共识机制中,用户通过投票可以选择出认可的委托节点,委托节点的行为受所有用户监督,VNT Chain的用户有权利罢免恶意的委托节点。
此外Vortex的设计还融入激励机制,对区块链网络中的交易打包节点、交易传输节点、监督节点进行奖励,形成高效的传输通路和快速处理交易,对揭露节点恶意行为进行奖励。