DPOS POSA共识机制
简单来说,eos链,币安智能链均采用了dpos 共识机制,即授权委托证明机制,(BSC 在dpos的基础上做了改进)相比于传统的 pow 机制,极大的提升了系统的效率,也不需要算力竞争,节约了大量资源,但 dpos 机制就没有任何问题吗?这里打一个大大的问号?
EOS 共识算法(BFT-DPOS)
EOS 链每0.5秒产生一个区块,并且在任一时间仅有一个生产者获权生产区块。如果在预定时间内没有区块生成,则跳过该块。相应的,当跳过一个或多个块时,区块链中会存在一个大于等于 0.5 秒的时间间隔。所有代币持有者可以都通过一个持续的投票系统选择区块生产者。想参与区块生产,只要能说服代币持有人给自己投票,最终(得票最高的那些节点)被选为区块生产者。 EOS 生产者生产126个区块为1轮,每个生产者连续生产6个区块,共21个生产者,这21个生产者也被称为超级节点。 生产者每生产一个区块后,向全网广播,剩下20个节点收到消息后,进行验证,验证通过签名并广播,一旦一个区块被15个节点签名,即为不可逆。 BFT即为拜占庭容错算法,目的是更快的达到不可逆状态。 EOS依然采用最长合法链原则,首先 eos 不太可能产生分叉,即使出现分叉,生产者数量多的分叉,其增长速度要比生产者较少的分叉的增长速度更快,这是因为生产者数量多的分叉错过的区块数往往会更少。 读到这里,相信很多人脑海里和我一样都会都一个疑问,要是这21个人全部是一个帮派的,听命于一个老大,那可咋办?
BSC 共识算法(POSA)
POSA 共识就是 DPOS 和 POA 共识机制的结合,POA 可以简单理解为有一个超级节点,这个节点负责所有的出块工作。 BSC 仍然采用21个验证人节点集合,集合每24小时更新一次。BSC 的创新之处在于出块的收益部分。由于是POA 原型的机制,所以出块时间稳定,出块奖励完全来自于手续费,即不存在像POW 那样的算力出块奖励,而且21个验证人拥有相同的出块概率,因此时间长度拉大后,每个验证人所获的的奖励是类似的。同时,由于验证人所质押的资产大小不同,所以会出现一种与直觉相反的现象,即更多的BNB持有人信任并委托同一个验证人,他们获得的收益更少,这也促使了委托人倾向委派抵押数量更少的验证人,如此可以避免超级节点的出现。 BSC维护验证人公平的第二个举措是惩罚功能。当验证人故意签署多个相同高度并具有相同父块的区块时,任何人都可以提交双重签名的罚息请求,当其他验证人确认出现双重签名时,会立刻将该验证人剔除出验证人集合,该验证人预先质押的BNB将有一部分被没收,作为其他验证人的收益发放,并且罚息请求提出人会获得远超过罚息请求成本的利益。此外还有验证人不作为的情况,惩罚机制与双重签名类似,不展开描述。
结论
BSC的POSA机制相比于DPOS机制,有了明显的提升,但是可想而知,如果绝大多数BNB持有人不进行权益的质押,那样就会破坏链的稳定性与安全性,是否有更好的办法将POW,POS,POA,DPOS,POSA等等结合起来,值得我们去探索。
|