When to upvote? Within 30min! 何时点赞?三十分钟以内!

in #cn4 years ago (edited)

一直想知道Steemit是怎样给点赞者分钱的,最好的办法还是看代码。当然像我这样一知半解看代码常常会理解错。不过不要紧反正不是写论文,错了就当吹牛。对代码没兴趣的同学可以跳过直接看图看结论。

            if( _db.head_block_time() > fc::time_point_sec(STEEMIT_HARDFORK_0_6_REVERSE_AUCTION_TIME) )  /// start enforcing this prior to the hardfork
            {
               /// discount weight by time
               uint128_t w(max_vote_weight);
               uint64_t delta_t = std::min( uint64_t((cv.last_update - comment.created).to_seconds()), uint64_t(STEEMIT_REVERSE_AUCTION_WINDOW_SECONDS) );

               w *= delta_t;
               w /= STEEMIT_REVERSE_AUCTION_WINDOW_SECONDS;
               cv.weight = w.to_uint64();

上面这段代码就是传说中的三十分钟惩罚。就是说帖子发出前三十分钟点赞者只能得到一部分报酬。10分钟时点,1/3给点赞者,2/3给作者;15分钟是点,一人一半;20分钟时点,2/3给点赞者;半小时以后全归点赞者。

               if( _db.has_hardfork( STEEMIT_HARDFORK_0_17__774 ) )
               {
                  const auto& reward_fund = _db.get_reward_fund( comment );
                  auto curve = !_db.has_hardfork( STEEMIT_HARDFORK_0_19__1052 ) && comment.created > STEEMIT_HF_19_SQRT_PRE_CALC
                                 ? curve_id::square_root : reward_fund.curation_reward_curve;
                  uint64_t old_weight = util::evaluate_reward_curve( old_vote_rshares.value, curve, reward_fund.content_constant ).to_uint64();
                  uint64_t new_weight = util::evaluate_reward_curve( comment.vote_rshares.value, curve, reward_fund.content_constant ).to_uint64();
                  cv.weight = new_weight - old_weight;

上面这段代码决定了点赞者们如何分赃。其中用了平方根曲线来奖励第一个点赞的。我的理解是,假设每个人SP都是100而且全力点赞。第一个点赞者权重是100的平方根,也就是10;第二个点赞者是200的平方根减去10,就是4.14;第三个点赞者是300的平方根减去200的平方根,就是3.18。也就是说点的越晚蛋糕越小。

但是不要忘了前半个小时有早鸟惩罚,两个因素加在一起就复杂了。到底该什么时候点呢?假设点赞者SP都一样。再假设每一分钟一个人点。算一下按照时间顺序没个点赞者的收益是这样:

Screen Shot 2017-07-13 at 8.24.04 PM.png
这张图说明前半小时每个人的收益都一样。早鸟惩罚平衡了平方根。半小时的时候有个台阶下降,然后逐渐下降。这张图的结论是:
前三十分钟不要慌不要抢,什么时候点都一样;到了第29分钟要赶紧点,过了30分钟线就亏了;过了30分钟以后早点有优势但是区别不大也不用慌。

当然实际情况会比较复杂。但是我感觉点赞还是应该在前半小时点,不管什么时候差不多。不要等到半小时以后。当然我可能理解错代码,也可能算错,另外实际的点赞分布也可能会使结果很不一样。这篇文章就是抛砖引玉,希望大家指正。


Steemit rewards the first voter with a square root curve. On the other hand, there is a penalty for the voting within the first 30 minutes to combat the bots. The question is when to upvote to maximum the reward? My answer is: within the first 30 minutes.

Assume one voter per minute and all the voters have the same SP and use the full power. The figure is my calculation for the rewards of all the voters. It shows for the first 30 minutes, all the voters get the same rewards. There is a step at 30 minutes, then the reward decreases gradually.

Based on the simplified assumptions, the conclusion is:

  • In the first 30 minutes, no difference;
  • After 30 minutes, it decrease gradually, no big difference;
  • At the 29th minutes, up votes as soon as possible!

Disclaimer: I may misunderstand the code. My calculation may be wrong. My assumption may not be realistic. Therefore, I cannot guarantee my conclusion is correct. Use at your own risks :)


Posts of @nationlpark 的帖子 & About Myself 自我介绍

© Copyright 所有照片与文字皆为原创 All photos taken by author. All rights reserved.

Sort:  

從代碼層次上來說,你說的是正確的。也就是說,給定你要點,30分鐘整點必然優於30分鐘後(原因是時間可能讓後面的點讚者在你前面進入)。30分鐘內的遊戲就複雜啦~~~ 決定因素你也大致提了。

但這畢竟是人的世界,人的世界不只有代碼跟逐利,那就.... 更複雜了... :D

确实很复杂。我curator reward一般不到一分钱,所以都是想点就点

既然這麼複雜,那麼像我這樣的奈米級帳號,就想點就點。最後分到蛋糕屑,很好。分不到的話,至少好作者也多了一個讚。 :D

steemit好处是面包屑都给算得清清楚楚

我也一样想点就点。我的面包屑不够塞牙缝,无所谓

那麼喜歡的文章又想賺一點我十五分鐘就夠了,真的很喜歡時間又很早,我也不管用力點下去。

希望你多给我点。谢谢:)

在你SP少于10000之前,不要考虑何时点赞,好文就顶

是的,我现在是随便点。反正都不到一分钱,没差别

所以我都不理時間的

Upvoted and also resteemed!

"I never had a piece of toast Particulary long and wide, But fell upon the sanded floor, And always on the buttered side." - James Payn, English novelist (1830-1898) 🍞

Appreciate the disclaimer at the end. More people need things like this in their posts haha

Best regards best wishes we are friends

According to what I've read it is only before the 30 minutes that there is a difference in rewards for curation after 30 minutes you will receive the standard percentage, this is different only if it is a highly voted post, but that would mean just being on the lookout for when trenders post.

Yes, after 30 minutes, curator doesn't need to share with author. But my understanding is the earlier voter can get more rewards

i am no expert but what I have read is yes an early voter can get a higher reward but only if the post trends, you have to guess that, so i frankly don't worry i vote when i read the post, regardless of at what moment
i read it.

For me, it doesn't matter when to vote, because the curation reward is always less than 1 cent.

Nice information no body speaks.

分赃.......这小词整 的...幽默!哈哈哈!

原来点赞 都这么多学问。看来我之前5天一睁眼就瞎点赞 是不对的啊