真理还是谎言: 声望分越高对别人声望分影响越大吗?/ 代码&测试:到底什么影响声望分的增加?

in reputation •  7 years ago 

最近有些朋友问我,声望分越高的人给别人点赞,对方的声望分增加的越快吗?其实我直观的感受不是这样的,而是有效SP越多的给别人点赞,对别人的声望分影响越大。

但是直观的感觉有时候可能会得出错误的结论,自己凭感觉做事到无所谓了,但是如果给他人造成误导,就不妥了。恰巧,我对声望分如何增加以及都受哪写因素影响,一直不甚清楚,那么就这个机会调查一下,帮别人也是帮自己答疑解惑吧。


(图源 :pixabay)

声望分与声望数值

在五个多月以前,我曾经做过一组图形,来展示了一下声望分升级曲线。比如说以下两幅图形:


图一: 声望分-20到70 / Reputation Score -20 to 70


图二: 声望分25到60 / Reputation Score 25 to 60

从这些图形中我们不难得出结论:

  • 声望分以25为中心,对称分布的
    Reputation score using 25 as the axis, symmetrically distributed.

  • 声望分越高,提升越困难
    The higher the reputation score, the more difficult to raise it up.

但是,上述分析其实只是reputation scorereputation数值的关系,换句话说是把原本线性变化的数值变成了对数变化的分值

真正影响你声望分(分值)变化的是reputation这个数值,而上述分析中,我们没能体现出来这个数值是如何变化的。为了搞懂这个数值很什么有关系,我尝试去代码找到答案并做了一些测试。

代码

调整reputation的代码位于这个文件中,其中相关的代码如下:

影响声望数值的原则

从注释和代码中我们不难看到以下原则:

  • 点赞者声望数值为负不会对他人声望分产生影响
    if( voter_rep != rep_idx.end() && voter_rep->reputation < 0 ) return;
  • 声望数值比作者声望数值低,差评没有影响
    • 作者尚无声望数值
      if( cv->rshares < 0 && !( voter_rep != rep_idx.end() && voter_rep->reputation > 0 )) return;
    • 作者已有声望数值
      if( cv->rshares < 0 && !( voter_rep != rep_idx.end() && voter_rep->reputation > author_rep->reputation ) ) return;

什么影响声望数值

那么去掉以上对声望数值没影响的情况,什么会对声望数值产生影响呢?我们再来看代码:

  • 作者尚无声望数值

  • 作者已有声望数值

也就是说,影响声望数值的唯一因素就是投票产生的rshares.

说到rshares,我们在前边文章中不止一次讲过,除了区块链本身一些因素,rshares只跟投票者的有效SP、投票百分比、投票者当前Voting Power有关。

测试

为了证实上述结论:影响声望数值的唯一因素就是投票产生的rshares

我使用测试账户进行了一下测试:

测试账户之前的声望数值:

测试账户发表个回复,我们对其点赞:

点赞后的声望数值:

通过计算我们可得:
77092232437 + 29363586547 / 64 = 77511038476

计算结果有公式:r.reputation += ( cv->rshares >> 6 );相符。

点7天以上老帖的情况

你可能会问,你上边没有说明对7天以上老帖子点赞是否会影响声望数值,那么是不是意味找给老帖点赞也会增加作者的声望数值啊?

好吧,为了不让代码霸屏,我截取的有点短,其实还有这样一段代码:

也就是说给老帖点赞不会增加作者声望数值

结论


(图源 :pixabay)

  • 点赞者声望数值为负不会对他人声望分产生影响
  • 声望数值比作者声望数值低,差评没有影响
  • 影响声望数值的唯一因素就是投票产生的rshares
  • rshares只跟投票者有效SP、投票百分比、Voting Power有关。
  • 给老帖点赞不会增加作者声望数值

(注:声望数值为负和声望分为负是两个概念哦)

写到这里,声望分越高对别人声望分影响越大,是真理还是谎言,还用我额外给出结论吗?

相关链接

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

你的帖子解决了我很多关于声望数值及声望分的迷惑,怪不得我的声望分一直停留在40,谢谢@oflyhigh分享呀

  ·  7 years ago 

O神讲的真的是清楚。解决了好多人包括我的困惑。

那个图都是五个月前的了?我感觉就像是前两天的事儿。

所以我就说了: steem 上 SP 最大!

steem自带时间加速时间减速功能,最终的结果就是时空观错乱😀

o哥,我有一个比较low的问题要请教你,我看了你的很多篇文章,觉得很不错,于是我想在你的主页找你早期写的一些文章来读一读,然后我发现下拉都只能看到几个月前的文章(不是网络加载问题),于是我上STEEMDB上查找你的文章,也基本只能看近期的。然后在AskSteem上查找,但是这样的查找是比较混乱的。请原谅我想拜读你的文章又暂时没找到合适的方法。

  ·  7 years ago 

求o哥狠狠提高我声望值。。。。哈哈。

同求 :P

感觉这几天在大神们帖子中扫盲了很多东西了 3q

诚心膜拜中

  ·  7 years ago 

哦,原来给超过7天的老帖点赞,是没有任何帮助的。这下又学习了,谢谢O哥~

诚心膜拜中

很有帮助呢~

Really great article I made a good choice, my friend, I hope to become successful like you

我就是来看评论的,另外感觉这个所谓声望没什么实际意义

声望数值比作者声望数值低,差评没有影响

这一条感觉还有点用

this is a very beautiful post brother. you are very nice man.
you are talented man.
https://steemit.com/@aliraza007

果然,sp才是老大。😂

Wow good article

感谢分享,破解大家的一个误解

对 ,和我的感觉一样

Nice article

用代码说话,喜欢的方式。

  ·  7 years ago 

又長知識了. 多謝O大!!!!

厉害厉害,学习了

請教一下, 如果聲望高的人組成一隊, 互相投票, 就變成了小圈子的大者恆大?

very helpfull !!!!!!!!1 thanks for interesting post sir

求相互点赞~加点赞群
https://steemit.com/cn/@yangjun/steemit

谢谢你的分享。我认为steemit是为了让大家专注于写好的故事,而不是专注于声望的提高,所谓规则,应该伴随着steemit的发展,更好的反哺平台和用户。熟悉平台的规则很重要,但我更希望声望高的用户,是平台自然产出的,而不是仅仅因为熟悉平台的规则而产生。
——@kunpeng2nan

O哥呀,你这发文速度,我感觉我每天消化不过来呀(怪我笨咯)

我也觉得是sp多的人点击效果更大一点
要不然那么多人买赞了
不都是为了升级嘛

新手进来学习了,感谢分享!!!

一見到代碼就有種要暈的感覺......