PoS项目分析(一):EOS

11 个月前 · EOS

PoS共识机制的发展史有太多可写,因为其衍生出来的变种实在太多,各个项目的设计者们总有自己的奇思妙想。之前已经有一篇关于PoS发展史,但是各项目的特点我觉得还是有必要单独好好写一写,毕竟staking质押挖矿是一件长期赚利的事情,看好一个项目而不做staking是愚蠢的,而对一个项目的机制没有充分的了解就买币做staking更是盲目的。

 

PoS项目分析系列的开篇当然要写EOS,这个PoS项目中如今市值第一的老大哥(ETH升级成PoS乐观估计还要一年),当年超级节点竞选时也是风头无两,其共识机制、投票机制的设计,为之后的PoS项目均产生了极强的影响。

EOS的全称为Enterprise Operation System,直译就是为商用分布式应用设计的一款区块链操作系统,为了达到其商用的愿景,EOS通过DPoS的方式解决区块链之前数据延迟、吞吐量低的问题,使得EOS可以达到每秒上千级别的处理量,在经过DPoS与BFT机制结合后,目前出块速度已达0.5s一个块。

 

项目名eosio
代币名EOS
共识机制BFT-DPoS
“节点”别称BP(BlockProducer)出块者
基本介绍
得票前21节点为超级节点平分出块奖励超级节点与部分备选节点按得票比例平分投票奖励
通胀率5%(实际奖励给节点1%)
全网质押率48.23%
平均年化收益率2.07%(具体收益与选择节点相关)

EOS共识机制:DPoS+BFT

EOS共识算法经历过一次升级,最早采用的是纯粹的DPoS,就如同其创始人Daniel Larimer(BM) 在他的前两个项目Bitshares和Steem中采用的共识机制一样,用户以抵押持币的方式获得投票权,投票给节点帮忙验证交易并出块。

BM根据Bitshares的经验,将参与验证出块的超级节点数量定为21个之少,他认为较少的节点数量有助于社区对每个节点都做好监督,而Bitshares的持币人就没有足够的注意力去审视他们的100位委托人,造成决策力的削弱。当然,数量较少的超级节点也进一步引起了外界对EOS去中心化程度低的诟病。

EOS升级后的共识机制一般被称为BFT-DPoS机制,融入了拜占庭容错算法,也即出块节点产生区块后就直接发给所有其他节点,超过2/3的节点验证并签名返回给出块节点后就可以确认此区块,区块确认即代表着该区块不会再分叉,也即交易得到确认。

这次共识机制的改变为EOS的性能带来了很好的效果。共识机制主要影响四个问题:谁来出块?多快产生一个块?如何验证区块?多快可以确认区块?

在BFT-DPoS机制下,投票选出的21个超级节点根据地理位置传播距离最短的次序(避免网络传输时间过长)顺次出块,每0.5s产生一个块,每个节点生产6个区块,21个节点出块完毕为一轮。从产生区块到其他节点签名验证返回并确认,需要的时间不会超过1s,也即意味着不到1s的时间交易即可得到确认,不会有分叉、双花等问题。

因此,EOS是一条不会分叉、TPS较高、交易确认速度极快的公链。顺带一提,1s内区块确认也几乎是拜占庭容错算法机制下的最快速度量级,想达到更快的速度除非有更好的共识解决办法。

 

节点与奖励机制

在EOS的机制中,持币人投票给超级节点候选人先需要将持有的EOS质押换取投票权,若要将质押的EOS取回则需要3天的锁定期。每一枚通证质押换取的投票权最多可以给30位超级节点候选人投票,且一枚通证只能为一个节点投票一次,获得票数最多的前21名候选人将成为超级节点。

数据源自eosauthority.com/voting

 

截止到2019年8月5日,根据EOSAuthority统计,实际投票数超过3.16亿,在逾10亿的流通总盘中投票比例达到了30.9%,而总staking比例为48.23%。

EOS机制中设计的通胀率为5%,但只有1%用来奖励给节点(另外4%留作他用,但还没有想好做什么用,所以几个月前已经全部销毁过一次)。目前EOS的总盘大致有10亿,增发量可以粗略以1千万计算。

在这1%的奖励中,25%将会作为出块奖励分发给超级节点,其余的75%作为投票奖励由超级节点和备选节点根据得票比例进行分配,前提是备选节点获得每天至少100EOS的收益。根据EOSbeijing的统计,目前只有68个备选节点可以达到这个门槛。

数据源自www.eosbeijing.one/data/#/voteRank

图片源自InfStones

基于以上分配方式,我们可以计算出:
超级节点能够获得的出块奖励为:1,000,000,000 * 0.25%=2,500,000EOS

每个节点将会获得的出块奖励为:

2,500,000 / 21≈119,075EOS

得票奖励为:

1,000,000,000 * 0.75%=7,500,000EOS

超级节点票数占总投票比约为:36.12%,那么备选节点将会获得奖励的63.88%

每个超级节点与备选节点获得的投票奖励分别为:

7,500,000 * 36.12%= 2,709,000 / 21=129,000EOS

7,500,000 * 63.88%= 4,791,000 / 68=70,455.88EOS

按照目前EOS节点及投票情况,我们可以算出:一名超级节点一年可获得收益约:

119,075EOS + 129,000EOS=248,075EOS

以EOS市场价$4.5计算,大概年收益为100万美元。

备选节点的收益与得票数有关,估算每票的年化收益率大概为1.5%。

*收益具体数据会随着各个影响数额波动产生变化,仅供参考。

 

EOS中的投票与staking

在EOS投票率的图中我看可以看到有投票率与stake率两个比率,两者的差别意味着在EOS生态中投票与stake是并不完全一致的概念,stake首先换取的是CPU和NET的资源,在EOS生态里面每一笔交易都需要占用一定的CPU和NET,因此大部分散户将持币质押是为了换取相应的主网资源来满足日常需求。

不同于其他PoS公链,目前在EOS社区中,节点返利给投票者依然被视为“贿选”,所以散户将币质押是不会得到通胀奖励的。目前持币者通过stake换取主网资源后,更有可能将资源租赁给需要大量主网资源的DApp开发者来换取一些经济利益。

 

总结

EOS采用BFT-DPoS共识机制,对PBFT算法与DPoS共识机制完成了较好的融合,0.5s出一个块,1s内可完成区块确认,不会产生分叉,TPS较高。

EOS的投票总量仍在上涨中,投票比例已经达到较高的水平,由于用于奖励给节点的通胀比例仅为1%,计算下来备选节点每一票的年化收益率仅为1.5%左右。但是由于EOS较高的价格,收益仍然相当可观,看好EOS未来发展的群体基数也较大,这也造成了EOS质押比例居高不下。

但目前EOS节点返利给投票者依然被视为贿选行为,几乎没有节点公开进行返利,所以EOS持币者想要像其他PoS公链持币者一样参与staking挖矿还需要观察EOS社区的舆论风向。

 

作者:Rudy

来源:InfPool

柚子(EOS)