查看原文
其他

内幕!!!测试网激励计划奖励是如何被瓜分的

Tastingo 十元见 2019-04-17

星云测试网原生激励计划第一周已经结束,本以为是羊毛党群雄并起、皆大欢喜的节奏,结果却让人不得其解——一个平平无奇的合约获得了奖金池99%的奖励,羊毛党不得house。小编作为羊毛党的一员,很是生气,还以为能薅一波回家过年,现在是一顿操作猛如虎,却白费了力气。小编决定冷静下来分析一波,这一分析可不得了,决定分享出来造福一下羊毛兄弟。

我们先来看看获奖的榜单以及合约行为。

排名第一的合约仅被调用了一次,而2、3名被调用了上千次;第4~7名由同一个账户创建,且每个合约仅被调用了几十次。难道最终的得分和合约被调用多少次没啥关系??爱钻研的小编决定使出大杀器——看源码!

代码隐藏在https://github.com/nebulasio/go-nebulas/blob/feature/nbredev/nbre/runtime/dip/dip_reward.cpp

虽然大部分看不太懂,但是通过代码注释和函数的命名隐约发现了些什么——奖励的计算被当作给dapp投票,dapp最终的得分以所占投票总数的比例的形式表示出来红色方框)。那么,由谁来给这些dapp投票呢?投票的结果由函数account_to_contract_votes计算得到,该函数的传入参数(绿色圈圈)决定了由谁来投票、有多少票可以投


传入参数是什么?NR!!

小编还是一直在关心星云的技术的,于是立即翻起了星云技术文档——星云黄皮书——星云指数参考手册。星云指数描述的是账户价值尺度,也就是一个账户到底拥有多大的价值。在黄皮书中,NR的计算主要参考了资产中值和加权出入度。

此处应该有黄皮书出现!读好黄皮书,周奖第一不是梦!

长按二维码查看《星云指数黄皮书》


资产中值意味着用户需要持有NAS一定时间(目前一周发一次奖励的情况下是持有超过半周),而持有数量越多越好。在现有版本中,每隔一个时间窗口记录一次账户的余额,于是在一周内就会产生了若干个余额记录,资产中值即上述余额序列按照升序排列后的中位数。

对于加权出入度这个指标,简单地理解是会随着账户转入和转出NAS而提升。一个账户即便拥有很高的资产中值,但若加权出入度很低则也不会产生足够的NR。黄皮书中还有说明,恶意操控者会利用“环形转账”行为提升自己的出入度指标,因此对于出入度指标的计算首先需要对交易图进行“去交易环”处理。因此在进行转入转出、提升账户加权出入度的时候,要避免环形转账的产生。


我们再整理一下思路:
1)小编我开发了一个智能合约提交到了链上,需要有人调用我的合约(也就是投票);但是谁来给我的合约投票呢,投多少票呢?ps:要是我自己能投票,并且把我能投出的票都给我的这个合约就好了。
2)嘿,我好像还确实能给自己投票(调用合约的过程就是投票行为,我只要疯狂调用自己的合约就行了),但是我能投票的总数受到了限制。ps:要是我还能提高投票的总数就好了。
3)嘿,我好像还确实能提高我的投票总数,因为投票总数这玩意儿是NR说了算的,我只要提高自己的NR值就好了。
4)要提高NR,就得资产中值和加权出入度说了算 。要想提高资产中值,就得成为一个有钱人(有钱真的可以为所欲为,为所欲为,为所,欲为…);要想提高加权出入度,就得去频繁转账,还不能环形转账!!

一顿分析猛如虎,小编我再带大家来看看排名第一的老兄究竟干了啥。

MD,原来是个RMB玩家,有钱真的能为所欲为。

这位老兄在老早的时候就有了1000+NAS(红色方框),并且一直没有转出操作,直到第一周活动结束。然后呢,部署了一个合约,并且只调用了一次(连刷合约的动力都没有了,有钱真是自信啊)。带着1000+NAS的资产中值,以数量级碾压的方式结束了这场游戏这场梦。

好了,先给自己定一个小目标,成为一个有钱人,然后开始搬砖吧,希望这周能好过一点,毕竟真的要回家过年了。


本文经某位羊毛党授权转载自转自星云官方论坛,点击“阅读原文”可直接跳转论坛原帖,欢迎各位前去交流。据悉,Nebulas NOVA测试网开发者激励计划将持续到2019年3月31日,掐指一算,大概还有8周半的时间去瓜分奖励。鱼面酱能做的只有这些了,提前祝大家新年快乐呀!



往期推荐


-END-



学会怎么薅羊毛了吗?记得点好看呀!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存