EOS的共识机制
EOS在第一版白皮书中采用的是DPoS共识机制,在最新一版的白皮书中,其做了一些改进,现为BFT-DPoS共识机制。

DPoS(Delegated Proof of Stake),意思是授权权益证明共识机制。相比于比特币的PoW机制,DPoS不用浪费算力资源争夺记账权,其通过赋予EOS通证持有人投票权,选出21个“超级节点”来担任记账人的角色,保证整个网络的正常运行。21个超级节点轮流负责记账,每一个区块产生后,会按照顺序传递到下一个超级节点中,第二个超级节点要负责打包新的区块,同时确认上一区块的内容,当某一区块被超过2/3的超级节点确认后,该区块将被确认为不可逆区块。

BFT(Byzantine Fault Tolerance),意思是拜占庭容错算法,DPoS共识加上BFT算法后,验证时不再按照出块顺序由超级节点一个个验证区块内容,而是让出块节点成为主节点,出块后同时向剩下20个节点进行广播,并获得节点的验证反馈,如果有超过2/3的节点验证通过,则该区块成为不可逆区块。BFT可以使得EOS的区块确认速度显著增加。

目前采用BFT-DPoS共识机制的EOS可以实现0.5s的出块速度,1s实现区块的不可逆转。为避免因出块速度过快而漏块,EOS的超级节点会按照其地理位置分布轮流成为主节点,尽可能减少超级节点间的网络延迟,同时规定每个超级节点连续生产6个块,至少保证6个区块中的前几个能确认完成,不会出现整个超级节点被跳过的现象。