详解IOST的PoB机制:消灭超级节点,解决节点不平等问题

作者 | 9to5iost

出品 | IOST Fans

在 EOS 主网上线的这半年里,至少向我们证明了一件事情,V 神曾经质疑的没有错,DPoS 的共识机制确实有财团统治的问题。看看现在的 EOS 节点排名前几名里,很多节点在主网上线前都没有出现过,在社区治理中也很少露面。

最重要的是,一些排名靠后、但是为社区不断做贡献的节点,根本进不到前 21 名,也就拿不到出块奖励。这导致了节点贡献与社区贡献不对等的问题。

在 EOS 还在为这个问题纠结的时候,IOST 已经想出了解决办法,在明年 2 月份即将上线的 IOST 主网上,全新的共识机制 PoB(Proof of Believability)将会很有效地缓解 EOS 现在节点不公平的问题。

也难怪,IOST 节点选举开放后就有超过一百多家机构参与报名,人人都能当 Block Producer 的公平区块链,谁不愿意来呢?

PoB 与 DPoS 的差别在哪里?

我们先看一下,EOS 的 DPoS 共识机制是怎样运行的。在 EOS 网络中,节点不是靠比特币网络挖矿那样工作,而是靠选举。持有 EOS 币的就是选民,负责出块的节点一共有 21 个,都是选民投票选出来的。

BM(EOS 创始人,原名 Daniel Larimer)认为,去中心化就是自由的市场竞争,而投票就是最能体现他心目中去中心化的方式。但是现实是,EOS 投票机制已经导致财团问题相当严重。持币大户去投与他们有利益相关的节点,把节点推到前 21 名的位置,就可以拿到每天至少 700 个 EOS 的奖励。

前 21 名里,除了最末尾几位的节点会有变化,大部分是一直长期保持在前 21 名里的。参与 EOS 节点选举的节点候选人一共有 170 多个,其中负责出块的是 21 个,剩下的那些备选节点,几乎都参与不到出块。

靠少数大户投票而长期霸占出块节点的位置,这已经成为了中心化的问题。这对于一个要去中心化的区块链来说,已经是矛盾了。而且还有可能存在财团控制多个节点成为 EOS 超级节点的情况发生,IOST 一票一投的机制可以杜绝这种情况发生。

而 IOST 的 PoB 共识,在理论上,可以让所有的得到票数的参选节点都有出块的机会。即便是有财团去投一个节点,这个节点也不会长期霸占出块节点的位置,通过巧妙的算法,得票少的节点也可以参与进来,进而缓解 EOS 那样的中心化问题。

那我们就来看看,PoB 到底是怎么工作的。

PoB 上的 Servi 机制详解

根据规则每 10 分钟就会选出一个负责出块的节点委员会。也就是说每 10 分钟就会进行一次换届(即委员会节点变动)。

在一个比较长的时间周期内,比如说数个小时或者一天内,几乎所有的正式节点都有资格进入节电委员会去出块,这是因为 IOST 在共识机制上的一些改变:IOST 引入了一种名为 Servi 的积分模式,每轮选举 Servi 积分较高的节点当选并负责出块,而这个 Servi 的递减机制更是一个神奇的存在。

下面 IOST Fans 就为大家带来详细的 PoB Servi 机制的详细解读:

为了方便理解,我们用 5 个参选节点举个例子,每次选出 3 个节点进入委员会(真实的 IOST 节点选举与运行以主网上显示为准):

5 个参选节点得到了不同的投票,也就是 Servi 值。按照规则,ABC 三个节点在第一次选举中会进入委员会负责出块。

可以看到,ABC 这三个获得最高 Servi 值的节点顺利进入委员会,进行为期 10 分钟的出块工作。在这轮选举结束的同时,ABC 这三个节点的 Servi 值会同时减去进入委员会的节点获得的最低 Servi 值,也就是说,ABC 这三个节点,要同时减去 C 节点的 Servi 值,也就是 5。

这样,在第一轮选举结束的时候,这 5 个参选节点的 Servi 值就变成了这样:A(5)、B(3)、C(0)、D(4)、E(1)。

10 分钟后,第二轮选举开始了。在第一轮结束后,节点的 Servi 值是【5、3、0、4、1】,然后要加上当时节点获得的投票,也就是最开始的【10、8、5、4、1】。现在就变成了【15、11、5、8、2】。

这样,第二轮得票最多的是 A(15)、B(11)、D(8)。

同样,在第二轮选举结束的同时,ABD 也要减去最少的 Servi 值,也就是 8。这时候就变成了【7、3、5、0、2】。

10 分钟后,在第三轮开始前,同样要加上当前的获得投票数【10、8、5、4、1】,就变成了【17、11、10、4、3】。这样,ABC 又同时成为了委员会成员。

…………

…………

…………

…………

…………

以此类推,当进行到第九轮的时候,各个节点的 Servi 值是【26、8、5、12、9】,一开始只有 1 票的 E 节点在第 9 轮,终于进入了委员会,成功出块。

至此,所有的节点,都担任过出块节点,所有人都真正地参与了区块链的运营。

PoB 的优势

虽然 PoB 共识跟 DPoS 一样,节点还是靠选举,但是由于 Servi 积分的引入,让获得投票最少的节点也有机会成为出块节点,拿到出块奖励。比如上面举例中的 E 节点,只有 1 票,但经过九轮的更替,E 还是有机会进入到了委员会。

有了 Servi 积分这个机制,IOST 就比 EOS 要公平非常多。EOS 网络上,排名靠后的备选节点几乎不可能有机会进到前 21 名里参与出块,根本就拿不到奖励。没有奖励也就意味着很多备选节点有可能都维持不下去。

但 IOST 给了得票少的节点一个机会,就像上面的例子,得票相差 26 倍的两个节点也有可能同时成为出块节点。这在 21 个超级节点几乎长期不变的 EOS 网络中是不可想象的。

有了 Servi 积分这样的机制,IOST 网络可以说比 EOS 网络更加的去中心化,在以选举为共识的网络中。IOST 和 EOS 同样是选举机制,但是 IOST 却完成了不低于 EOS 的可扩展性,同时 POB 的 Servi 机制兼顾了去中心化的极致。

即兼顾了区块链的可扩展性,又实现了去中心化。它给了小节点一个机会,让得票低的节点也可以出块,让网络更加去中心化。节点运营团队也因此可以放心,不用担心自己架设的服务器无法投入到区块链的运营中,只要当选就是参与者。

了解 IOST 生态

IOST Fans 是 IOST 社区内的生态媒体,在这里你可以了解到 IOST 生态的所有内容,覆盖 IOST 社区内的内容传播、内容解读、节点选举、DAPP 介绍、线下线上活动等。

开发者中心:

https://developers.iost.io/

开发者交流 Slack:

https://invite.iost.io

百万 Bounty 计划:

http://bit.ly/2EMlSv1(外网)