LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > 『学习IOST笔记』我理解的PoB共识机制

『学习IOST笔记』我理解的PoB共识机制

2020-01-06 二十二 来源:区块链网络

IOST-V1.0主网上线时(2019-02-25)160+的节点合伙人,截止今日,不到1年,节点合伙人已高达411个。

区别于市面上多数项目采用的DPOS(或改良版),IOST采用的是第一个扩容基础上做到去中心化的POB机制,

此处的POB指Proof-of-Believable consensus approach(置信度证明共识机制)!并非POB( Proof of Burt)烧毁证明。

如果讲区块链的世界比喻成一个班级

无论大小事,都要全体同学表决——POW模式;无疑这种很安全,但效率低下。

选举班委会——Dpos模式,考察单一,以成绩论英雄,token持有量几乎是唯一影响因素。

分小组——POB模式,考察因素包括了token余额、Servi余额、评论和用户行为。不仅看成绩,也看平时表现。

IOST的区块链系统具有更好的延展性和更高处理效率。核心在于:“分组”思想-积分体系Servi。

IOST目前版本的PoB机制中,区块生产委员会拥有17个席位,每10分钟换届一次。每次换届时Servi值最高的17个节点入选委员会,轮流打包区块并获得奖励。节点每次入选委员会都会消耗Servi,未入选的节点就相对有更多Servi,在下次换届时有更大的机会入选委员会。在此机制下,一天内就可能有上百个节点入选过委员会。

在PoB机制中,成为备选节点的准入门槛更低,更多社区成员可以参与竞选。同时,通过高频率的换届,大部分备选节点都有资格入选,委员会的流动性非常高,去中心化程度远高于EOS采用的基于少量超级节点和备选节点的DPoS机制,实现了更好的社区自治,同时也保障了更高的安全性。

在IOST网络中,社区成员通过抵押Token获得投票权。目前版本中,1Token=1票。

Servi获取与选举

虽然投票结果并不直接决定委员会成员,但是备选节点的Servi获取速率与投票结果是成正比的。

在目前版本中,每届委员会我们将选出17名委员会成员,每轮选举分为三步:

  1. 社区成员抵押Token并投票,备选节点会得到与被投Token等量的Servi。

  1. Servi值前17名的备选节点被选为这轮的委员会成员,负责下一个时间周期的区块生产。

  1. 所有入选委员会的17个节点,最后一名的Servi值清零,其他节点扣除等量的Servi值。

在目前版本中,选举的时间周期为10分钟,也就是说在IOST网络中,每10分钟委员会就会进行一次换届。

举例说明

假设现在我们的规则是从5个备选节点选出3个进入委员会,5个备选节点A、B、C、D、E当前获得的票数从高到低分别为10、8、5、4、1,

假设他们的票数在这段时间内保持不变。


在第一轮选举中,5个备选节点的Servi值分别为A(10)、B(8)、C(5)、D(4)、E(1)(接下来用[10, 8, 5, 4, 1]表示)。这时A、B、C的Servi值最高,成为委员会成员,同时他们都被扣除排名末位的C的Servi值,即本届委员会的最低Servi值——5。D、E的Servi值保持不变,Servi值情况变为[5, 3, 0, 4, 1]。

在第二轮选举中,Servi值在第一轮结束([5, 3, 0, 4, 1])的基础上再次加上这些节点当前的获投票数([10, 8, 5, 4, 1]),变为[15, 11, 5, 8, 2]。这时A、B、D成为Servi值最高的备选节点,所以这届委员会成员为A、B、D,同时A、B、D都被扣除D的Servi值——8,Servi值情况变为[7, 3, 5, 0, 2]。

第三轮,[A,B,C,D,E]=[7, 3, 5, 0, 2]+([10, 8, 5, 4, 1])=[17,11,10,4,3] ,这一轮委员为A,B,C,减去末尾10=[7,1,0,4,3]

第三轮,[A,B,C,D,E]=[7,1,0,4,3]+([10, 8, 5, 4, 1])=[17,9,5,8,4],这一轮委员为A,B,D,减去末尾8=[9,1,5,0,4]

以此类推......

其他细节
  1. 如果有多个备选节点的Servi值并列第17名,会优先选择更早成为备选节点的节点,实际运行中这种情况会很少见。

  1. 在完成选举之后,我们选用委员会成员轮流生产区块的方案,也就是在一个时间周期内无论委员会成员的Servi值多少,生产区块的权利相等,对所有入选成员都是公平的。

  1. 显然,在大部分情况下,获投票数排名第一位的节点总是会被选入委员会。为此我们设置了一个Servi值上限,Servi值不能超过被投Token数的10倍。

  1. 备选节点需要在每6个选举周期(也就是1小时)内发送一笔特定的验证交易证明节点在线,如果没有,那么他将失去所有获投票数并失去备选节点资格。

  1. 如果委员会成员在一个时间周期内没有生产区块,那么同样,他将失去所有获投票数并失去备选节点资格。

  1. 投票所用的Token需要7天才能赎回,一个备选节点失去资格时也一样,也就意味着发生以上两种情况的节点无法很容易地马上再次参选。

总结

IOST网络中,POB共识机制让IOST的区块链系统具有更好的延展性和更高处理效率。节点的贡献将用一种叫Servi的单位来衡量。一个用户的可信度分数由其Servi余额和代币余额两个数值共同决定。可信度分数越高,就越可能被选入委员会。Servi会自我销毁,意味着节点验证并生产了一个区块后,系统会将节点的Servi余额自动清零。所以所有的节点会按照可信度分数由高或低的顺序来轮流验证区块,而可信度高的节点会因为Servi的销毁而不停地更换这就保证了平等的区块奖励分配。

—-

编译者/作者:二十二

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...