什么是声誉,它是如何工作的?

in #cn7 years ago

关于声誉您所需要知道的


很多用户对声誉非常的困惑。他们并不清楚声誉是什么、声誉如何计算、还有声誉怎么会改变的、以及声誉对什么有影响....

我整理了关于声誉的一些信息,并且尽我所能的解释一下让大家能够更清楚的了解到声誉在SteemIt 上是如何工作的。

声誉到底用来干什么?

声誉主要有以下两个用途:

  1. 声誉能够体现你在社区里的地位和被信任程度。
  2. 声誉能够避免低声誉的用户去伤害别的用户。

声誉如何工作的?

声誉的点数在基于数学以10为底的Log 函数。下面是一个 Log函数的呈现方式。
(X-轴并不是正确的声誉值,但是这个图只是简化版本)

我们可以很清楚的看到,在最开始的时候,你提高声誉是非常容易的事情,但是随着声誉越来越高,每升一级就变得越来越困难。事实上是,每升一级就大概提升了10倍的难度。

主要表现的现象是,60级比59级高了10倍之强。对于负声誉也是一样的,-8级要比-7级弱10倍。

低声誉的人无法伤害高声誉的用户。

这就解释了,为什么创建一个机器人很系统的踩别人的帖子是没有用的,除非机器人有着较高的声誉。而这是比较难的,因为机器人很可能声誉本身就会被毁坏变得无害了。

对于声誉来说,并没有上限也没有下限。

关于奖励分红

在我们进一步的学习这些声誉点数是怎么被计算的,我们需要了解到 “奖励分红” 的概念。

当你对帖子或者评论点赞的时候,你告诉系统说,你要拿从全局的奖励池里拿走一些钱(奖励) 并且把75%的奖励给作者(作者的奖励)。还有25%用来平分于点赞的这些人(点赞奖励)。

具有高投票能力(Voting Power)的人的投票能给予更多这两种的奖励。

但是点赞奖励并不是平均分配给这些点赞的人。随着时间的推迟,还有你的投票能量,还有你分配多少能量来点赞,这些都会影响你获得高奖励还是低奖励。你获得的奖励部分就被称为“回报分红”

下图显示了一个点赞评论所得到的奖励回报分布图。

我们可以很清楚的看到,尽管很多用户都是满能力点赞(100%),他们却得到了不同的奖励分红。

我们再来看一下声誉。你们需要紧记于心的是这个奖励分红的存在。

声誉是如何被计算的

每次帖子或者评论被点赞的时候,作者的声誉都会受到以下两个因素的影响:

  • 投票者的声誉
  • 投票者的奖励分红

我们来看一下计算投票的核心代码:
原代码在 这里

 const auto& cv_idx = db.get_index< comment_vote_index >().indices().get< by_comment_voter >();
 auto cv = cv_idx.find( boost::make_tuple( comment.id, db.get_account( op.voter ).id ) );

 const auto& rep_idx = db.get_index< reputation_index >().indices().get< by_account >();
 auto voter_rep = rep_idx.find( op.voter );
 auto author_rep = rep_idx.find( op.author );

 // Rules are a plugin, do not effect consensus, and are subject to change.
 // Rule #1: Must have non-negative reputation to effect another user's reputation
 if( voter_rep != rep_idx.end() && voter_rep->reputation < 0 ) return;

 if( author_rep == rep_idx.end() )
 {
 // Rule #2: If you are down voting another user, you must have more reputation than them to impact their reputation
 // User rep is 0, so requires voter having positive rep
 if( cv->rshares < 0 && !( voter_rep != rep_idx.end() && voter_rep->reputation > 0 )) return;

 db.create< reputation_object >( [&]( reputation_object& r )
 {
    r.account = op.author;
    r.reputation = ( cv->rshares >> 6 ); // Shift away precision from vests. It is noise
 });
 }
 else
 {
 // Rule #2: If you are down voting another user, you must have more reputation than them to impact their reputation
 if( cv->rshares < 0 && !( voter_rep != rep_idx.end() && voter_rep->reputation > author_rep->reputation ) ) return;

 db.modify( *author_rep, [&]( reputation_object& r )
 {
    r.reputation += ( cv->rshares >> 6 ); // Shift away precision from vests. It is noise
 });
}



我们需要关注的就是第33行核心计算代码。读了代码后是不是很清楚了?

如果你看不太明白,别担心,我会把上面翻译成更为简单的语言。

 auto cv = cv_idx.find( boost::make_tuple( comment.id, db.get_account( op.voter ).id ) );

在所有投票中,获得(你)的投票信息

auto voter_rep = rep_idx.find( op.voter );
auto author_rep = rep_idx.find( op.author );

获得投票者(你)的声誉
获得帖子或者评论作者的声誉

 // Rule #1: Must have non-negative reputation to effect another user's reputation
 if( voter_rep != rep_idx.end() && voter_rep->reputation < 0 ) return;

很好理解,如果你有一个负的声誉,那么我们就不继续了。
你对别人的声誉没有影响。

if( author_rep == rep_idx.end() )

我们检查一下作者的现有声誉值。

  • 情况 1: 作者还没有声誉值
    // Rule #2: If you are down voting another user, you must have more reputation than them to impact their reputation
    // User rep is 0, so requires voter having positive rep
    if( cv->rshares < 0 && !( voter_rep != rep_idx.end() && voter_rep->reputation > 0 )) return;

这里很好理解,如果你的投票是负值,并且你的声誉不是正的,那么我们停止过程。

    db.create< reputation_object >( [&]( reputation_object& r )

作者的声誉被初始化,然后...

    r.reputation = ( cv->rshares >> 6 ); // Shift away precision from vests. It is noise

你的奖励分红 成为了作者的新声誉.

  • 情况 2: 作者有一些声誉,情况也比较类似 ...
    // Rule #2: If you are down voting another user, you must have more reputation than them to impact their reputation
    if( cv->rshares < 0 && !( voter_rep != rep_idx.end() && voter_rep->reputation > author_rep->reputation ) ) return;

很好理解,如果你的投票是负的,但是你的声誉并没有原作者的高,那么奖不再继续。

    db.modify( *author_rep, [&]( reputation_object& r )

然后我们可以更新作者的声誉值。

    r.reputation += ( cv->rshares >> 6 ); // Shift away precision from vests. It is noise

你的奖励分红被累计到了作者的声誉值里。

是不是很简单?

最后,我们需要知道的:声誉值只是一个非常大的数字,这个数字是由每次评论或者帖子所获得的投票的奖励分红值的累计之各.

如果有人取消点先了你的帖子,那么他/她的奖励分红也会变少,并且你的声誉会被降低。如果你的评论或者帖子被踩了,那么奖励分红降低了,并且你的声誉也会减少。

我们可以通过以下的公式来计算一个我们可以理解的数字:

max(log10(abs(reputation))-9,0)*((reputation>= 0)?1:-1)*9+25

怎么样提高你的声誉值

提升你的声誉值最好的方法就是获得来声誉值较高并且越多投票能量的人的投票。

我们可以:

  • 发表质量较高的帖子。这是个质量优于数量的平台。
  • 参于讨论(你可以通过评论获得额外的奖励分红和声誉值)
  • 合理小心的使用你的投票 (不要给不好的帖子投票,给合适人内容和作者投票)
  • 增加你的粉丝数并且建立你的粉丝列表

结论

我希望你现在对声誉值有一个比较清楚的认识,并且你也懂得如何维持和提高你的声誉值。

重要的是:声誉是你在社区里的行为也是社区中的人来评价你工作的重要因素。

事实是,长期拥有一个较高的声誉是需要非常努力的工作的。因为声誉值很容易就被毁坏了,而很难再重建。

如果你的目标是高声誉值,那么请注重帖子的质量并且要有一个建设性的态度。

感谢阅读!


此文由 @justyy 翻译。


footer 通过 steemitboard 创建 - 点击查看更多我的奖牌和荣誉

支持我的工作 支持我成为 见证人 请在 这里 投我一票


如果你喜欢这篇文章,请给我 点赞追踪我转发此文

Sort:  

Thanks for letting me translate!!
PS: voted.

我们的合作是一个真正的快乐。=)

好复杂,感谢作者

I was so smiling to see it. Although the heart again upset. I like @arcange

非常有趣,这是一个非常详细的解释。 我从这篇文章中发现了一些新事物。

谢谢

I checked a little bit according to SteemData, I feel it's not simply log10(). it has some multiplication factor which is not constant depending on individuals.

It's so interesting I translate it to English to understand your subject thanks alot

用ipad或iphone在国内看不到图,文字上阐述的很专业,赞!

声誉是头像旁边那个数字吗?

是的。

感谢,对steemit又多了一点了解。

我很高兴能够帮你更好的理解。

原来如此!长知识了。我说怎么最近声誉值上不去呢......谢谢分享。

有个疑问:第一幅对数函数图好像有点问题,从图上看,声誉值是越长越快的,好像不大对。也许是我没读懂。不知翻译的原文在哪里?

你可以找到英文的翻译这里

万分感谢!

Thanks, it is a really good post.

声誉太重要了,我必须努力了。

看完这个帖子,我决定,碰到好帖,就算对方和我同声誉我也会去点赞,因为页面上只显示整数,你可能就比对方多小数点后的一点点,但是也有益的呀~

thanks, keep me away from many minefields.