码字成文区块链区块链研习社

SERO Staking设计机制分析

2019-07-08  本文已影响111人  币布斯

SERO主网正式发布版本和之前Beta版本核心区别在于共识机制的升级,加入Staking机制通过对PoW的出块进行验证的方式参与共识,为底层网络和生态角色之间互相协作提供更好的一种激励平衡关系,并能在生态发展的过程中不断动态优化调节。

在现阶段需要更多的机制来确保网络的安全以及应对一些其它问题,这些问题会包括:

算力垄断:目前POW挖矿的整个生态已经成为一个相对不平衡的领域,矿工激励本身是一种非常公平的机制,但由于现阶段区块链生态价值缺乏合理的评价体系,因此单纯矿工激励的机制使网络安全存在相当的隐患,譬如51%攻击的概率提升,我们并不认为没有充分的利益驱动所以51%攻击的发生概率降低是一种合理的解释。

能源支出巨大:挖矿是一个计算密集型的产业,需要消耗大量的资源。以BTC挖矿为例,年耗电量约为49 TWh(万亿瓦时),几乎与新加坡一年的耗电量相当,因此部分使用同样可以量化成本的PoS机制可以有效降低实际能源消耗,用一个可能不完全恰当的比喻,就好比我们可以使用火力发电的同时,也可以使用更清洁的水力或者风力发电,我们必须理解的是PoS的参与并非是没有成本的,这如同一次性投入固定资产收益和持续通过劳动产生收益更像是一个完整的经济体。

奖励的公平性:在之前发布的BetaNet-R7.1中,我们已经将出块奖励调整为和全网难度相关,以保障SERO币的产量在经济流通市场保持合理的(和生态发展相关)通货膨胀水平,在新加入的Staking机制中,我们同样将Staking的区块奖励定义为一个自动和全网PoS参与占比形成一种自动平衡的关系,本质上这将进一步有效对通胀水平进行了调节,如果说算力(生产力)大小和市场需求保持了一种正相关,对固定资产投资占比则影响了市场的流动性,在市场流动性差的时候我们应该降低对固定资产投资的收益率。

网络安全:虽然一直认为作恶动机是和成本及利益回报相关,但实际对于一个旨在长远发展的公链来说,我们必须确保网络总是能够处于尽可能的安全状态,而不是仅仅确保威胁网络安全的成本高于某个流通市值的比例。

记账权掌握在矿工手中,51%攻击者存在远低于流通市值成本攻击的机会——通过短时间内操控算力进行双花,只需要很小的一笔算力租借费用,可以带来异常高的“投资回报率”。而加入Staking机制,可以使短期算力形成51%攻击成本进一步大幅提升,从而使发生攻击的成功率接近于零。

SERO Staking

SERO的Staking运作方式简单来说,主要是由POW矿工负责出块,但是块的合法性须由PoS参与者确认,由于PoS矿工都是SERO的持有者,而在出块过程中,验证者的选取过程有很大的随机性,因此攻击成本几乎已经和短期算力关系不大,如果要确保自己伪造的出块有效,则同时需要获得足额PoS参与占比。

具体的实现过程原理是,用户需要锁定自己的一部分SERO币竞拍区块选票(ValidateShare),PoW矿工每生成1个区块时,需要从票池随机选取3张ValidateShare,对区块进行一次有效验证的投票,投票完成后,用户竞拍ValidateShare的SERO代币会得到归还,并获得相应的区块PoS奖励,值得一提的是,为了有效降低全网交易数,以及使验证的有效性在网络区块进一步固化后被确认,PoS购买选票和区块奖励的SERO币,将会在用户参与PoS后大约每一周自动结算一次并归还到账户。

以上这部分PoS区块奖励占挖矿产出Token2/8占比,如果一个区块奖励为72个币的话,PoW矿工将会获得其中的45个,PoS参与者将会获得其中的18个,其余9个将会奖励StakingPool(详见后文论述)。

票池并没有固定的大小,大致可以推算出,平均每个ValidateShare将会锁定那部分SERO代币30天的时间,随着全网流通的释放和市场波动影响,ValidateShare的购买价格会和一段时间内集中购买的数量相关,在购买集中的时段,每张ValidateShare的购买价格会有所提升,从而可以实现有效且自动调节SERO代币的全网流通水平。

在ValidateShare被选中对区块进行投票时,ValidateShare的持有人需要保持全节点在线并由账户自动完成有效投票,如当时无法保持在线投票,则会被作为弃票处理,并无法获得区块奖励。

因此另一个选择是,在发起PoS参与(购买ValidateShare时),选择权益池节点为自己履行投票工作,这样自己就无须保持全节点在线也能获得PoS收益。

SERO StakingNode

在ValidateShare被选中需要进行投票的时候,用户需要通过节点在线以参与投票,如果无法投票,则用户不能获得奖励,由于考虑到节点在线的成本,以及需要及时参与投票验证区块所需要的网络和硬件条件,用户可以选择由特殊的节点代为投票,这类节点我们称之为StakingNode。

和现有的大部分STAKING共识的区块链网络不同,SERO的STAKING投票节点,也就是StakingNode,可以由任意节点主动在网络上通过注册的方式被选取,注册StakingNode时,网络会根据当前全网StakingNode数量和POS参与总量自动计算注册时需要抵押的SERO代币,并向注册者返回注册结果状态。

成功注册为StakingNode后,可以向普通节点(Node)提供自己的节点地址,在普通节点参与POS时,需要在提交购买选票时,需要填写(选择)一个为其代为投票的有效StakingNode地址(默认为自己的地址),以通过StakingNode的方式参与PoS,以获得更大的投票成功率。

全网所有的StakingNode,将会分享区块奖励中,对于StakingNode这类节点由于其提供了稳定的投票通道并公正分配POS奖励的服务价值,获得相应的区块奖励,这部分奖励约为所有区块奖励中的1/8(暂定)部分。

具体对StakingNode的奖励规则为,每个出块奖励分配中,5/8将分给提供POW算力获得记账权的矿工,2/8将分给随机选中为该区块投票的3张选票的主人,1/8将分给为这3张选票提供投票服务的StakingNode。

(注:由非StakingNode进行投票的节点将无法获得这部分1/8的奖励,由此产生的多余的1/8将被销毁)

因此每个StakingNode所获得的奖励,大致概率上将由其在整个票池中,选择该StakingNode总票数的占比决定。

如何注册StakingNode

SERO Staking机制是去中心化实现的,因此StakingNode的注册方式也并不需要向任何一个中心化机构申请。

具体注册方式为:需要由全节点钱包发起(或权益池软件),在网络上质押一段时间(大约为180天)一定数量的SERO,自动注册成为一个权益池账户,就可以自动获得一个StakingNode的账户节点身份,具体的支付数量由全网动态计算并提示注册者。

权益池注册所需要质押的SERO为20万枚,满足以下条件后,这部分币可以返回账户:

· 由权益池账户发起关闭权益池;

· 所有指定该权益池履行投票义务的ValidShare完成投票清算;

· 从权益池注册开始起已达到180天;

获得StakingNode身份后,在普通用户参与POS进行买票的时候,就可以设置StakingNode地址,由StakingNode为选票进行代理投票。

所以为了确保StakingNode能够稳定提供代理投票服务,以确保POS参与者的有效投票能够获得收益,StakingNode需要保持节点长期在线,如果投票率低于某个数值,将会触发惩罚机制。

上一篇 下一篇

猜你喜欢

热点阅读