DPOS算法摘要
DPOS全称是委托股权证明 (Delegated proof os Stake). DPOS算法分为两个部分:区块生产者选举,生产调度.
区块生产者选举(election a group of block producers)过程确保利益相关者最终得到控制,因为当网络不顺利运作时,利益相关者损失最大。人们如何当选对于如何逐分实现共识几乎没有影响.因此,本文将重点讨论如何在选定区块生产商后达成共识.
为了帮助解释这个算法,我想假设3个块生产者A,B和C.因为共识需要2/3 + 1来解决所有情况,所以这个简化模型将假设生产者C被认为是攻击者。 在现实世界中,将有21个或更多的块生产者。就像工作证明一样,一般规则是最长的连锁胜出。任何时候,一个诚实的同行看到一个有效的严格的更长的链条,它会从当前的分叉切换到更长的分叉。
我将通过示例展示DPOS如何在最可想象的网络条件下运行。这些例子应该可以帮助你理解为什么DPOS很健壮并且很难打破。
正常情况
在正常操作下,块生产者轮流每3秒产生一个块。假设没有人错过他们,那么这将产生最长的链条。 块生产者在任何其他时间段生成块都是无效的。
少数派未连接分支
高达1/3的节点可能是恶意或故障,并创建一个少数叉。在这种情况下,少数叉将只产生一个块每9秒,而大多数叉将产生2块每9秒。再次,诚实的2/3多数将比少数人长。