也谈点赞时间

in #cn-programming4 years ago

根据以下这个公式
本帖奖励金额 = 池中所有奖励 * 本帖投票权重 / 全站所有没发奖的投票权重

那么我们假设一种情况

  • 忽略全站发奖时间,大户活跃时间等不可控因素
  • 两个voter,SP一样,正常顶一个点赞为0的帖子,会带来约10$的收益

假设作者A发帖,V1去点,作者帖子收益为10$
根据我过往的经验,这时候V2再去点,作者帖子收益会增加至30$左右

根据上述公式
V1点赞时
$10 = 池中所有奖励* 本帖投票权重 / 全站所有没发奖的投票权重
因为奖池奖励,和没发放的投票权重相对比例很大,对上述我们假设的情况有影响,但是主因还是本贴投票权重
所以我们将其简化为
$10 ----- 本帖投票权重, 奖金和权重近乎线性变化
那么我们可以简单的说: V1给本贴的权重为10$

那么我们再来看V2,如果V1不来点
那么同样可得: V2给本贴的权重为10$

那么问题来了,当V1和V2同时来投
收益 = v1付出的权重 + v2 付出的权重,应该是10+10 = 20$,而实际上却是 30$
因为V1先点的,那么V1的权重点赞的时候肯定是10,那么由此推论V2的权重增加至20

如果上述假设正确,那么会得出如下结论:
那么就是给别人抬轿要付出数倍的点赞权重

Sort:  

我感覺你有些假設與論述可能是有些問題,但當然我不太確定。讓我們先釐清一下:

  1. post payout = f(reward pool, post weight ratio*);
  2. voter weight ratio (from specific Voter) = f(SP, voting power, voting%);
  3. curation distribution for specific voter = f(30-min rule, voting sequence)

所以,你給別人upvote的權重,在那一瞬間就確定(除非取消),但給你的curation reward分配還不定,因為payout尚未實現,而payout取決於1的各項因素。先說說3,distribution的30分鐘rule是author跟curator之間分成的問題,與他人無關;但voting sequence是以"先到分多"為原則,所以要競爭先手。至於你說的$10+$10=$30問題,來自於1的*註解,即,個別voting weight 不是用加法來加總為post weight的,而是採所謂"n^2 voting algorithm",簡單說就是 乘法 (也就是你如果去點trending會發現自己對payout貢獻比平常要大很多的原因)。
至於V2投票是否划算,那就是要權衡:1. 他為總payout帶來的貢獻(餅變大了),以及2.他可以分到多少比例(分餅規則下他的share)。至於他的點讚權重,不會因為V1投不投而有影響。

歡迎指正!:)

我瞎猜的,我们都是在瞎猜
也许只有程序才能说明谁对谁错:)

不过如果Voter1和Voter2点赞的权重没影响
那么我们假设这样一种情况
四个人,Author1, Author2, Voter1, Voter2
Author1和Author2分别创作了一篇文章

情景一:

V1去点A1
V2去点A2
这样四个人一共创造了20$的收益

情景二

V1去点A1
V2去也点A1
这样四个人一共创造了30$的收益


比较以上两个情景,在4个人组成的小团体内
如果我主贴中分析的情况不存在,先投后投对VOTER浪费的权重没影响
那么,两种方式,4个人付出均没差异
但是情景二比情景一多赚了10$,那么这10$哪里来的呢?:)

好玩好玩,當年讀書考試有這麼認真就好了!:)
你的意思是整個社區只有4人嗎?如果是的話,則情景二也會是$20,不會是$30,因為$20就是總獎池數量。但我猜我知道你要問什麼,所以我試著用個例子,假設有個A3跟V3,不跟這4個玩,V3就投A3,且V3是小咖。再假設總獎池為$210,權重我就直接給定V1=100 V2=100 V3=10,乘法原則就直接用相乘。則...

情景一

V1點A1,V2點A2,V3點A3:無乘法發生,社區總權重等於100+100+10,所以A1得$100,A2得$100,A3得$10

情景二

V1點A1,V2點A1,V3點A3:A1乘法發生,A2得零蛋,社區總權重等於100x100+0+10=10010,A1得$210x(10000/10010)=$209.8,A2得$0,A3得$210x(10/10010)=$0.2

比較

  1. $209.8 > $100 + $100 ,這效果類似你的$10+$10=$30,只是例子中社區太小,效應不明顯
  2. A3同樣受到V3關照,但收入劇減,從$10變成$0.2,這就是所謂扎堆投票吸走獎勵池的效應,當然,這例子也是誇大化了

听君一席话,胜读十年书啊
看来只是我在瞎猜,而你是有真凭实据啊

你这个所谓极端的例子,恰恰是社区现状的真实写照啊

但还有问题,权重是由什么来决定的呢? SP吗?和SP是线性关系吗?
如果权重和SP是线性关系,并且是乘法原理,那么举例说我有10000 SP,我分成两个5000
那么权重就变成了5000*5000 = 25000000,增加了25000倍,这一定有哪里不对吧,哈哈

權重就是上面說的2:voter weight ratio (from specific Voter) = f(SP, voting power, voting%);我想SP跟voting%都是線性的,不易理解的是voting power,似乎又是非線性的。

你的問題很好,我說的乘法是簡化的,所以會有這種問題。實際上,確實10000分成兩個5000對於總權重影響是增加的,問題在於第一個5000分到的比例跟第二個5000分到的比例就顯著不同了(前者坐轎,後者抬),這樣相加不見得比單一10000划算,但分成兩個肯定對於總post收益是增加的(但可能分給別人了)。簡言之,分割增權重,但分配到的可能變少了。說到這,似乎啦啦隊之謎可解了:作者自創啦啦隊,有助於author reward,即便啦啦隊curation reward下降?

搞得好像我很懂,其實我也只是個瞎猜的學生,這些只是例子,哪裡是真憑實據了...

補充說一下,curation也是現在社區的熱門話題,以 ats-david 為主要討論者(我以前就覺得curation rule幾乎就是決定steem生死的關鍵):
https://steemit.com/steemit/@ats-david/on-curation-rewards-and-their-necessity
裡面就提到關於n^2 voting algorithm造成的扎推投票現象,而clayop跟smooth提議改成n log(n),就是乘法效應較和緩的版本(帖中有個圖可以看一下)。

想得多的人就會問:那為何不廢棄乘法原則,改加法就好,甚至是反乘法原則等等?就我理解的答案是:某種程度的乘法原則,才能避免大家有動機分散SP成多個小帳戶。[但我記得很久以前 myfirst 提過似乎搞一大串啦啦隊投票部隊對payout拉抬有好處,似乎跟我說的有點違背,這點我也還一直不懂]

奖金分配算是这套系统的核心算法之一, 这套算法是谁想出来的,
拉拉队肯定是有用,在大户后面点都是分不到多少奖金的,好少,但在前面点就不一样

哇,看来你对规则研究的比我透彻呀;)
我都是在瞎猜

深圳往北京的高鐵,你到了武漢,我剛過鄭州,離北京都還遠著呢!(按這比喻,abit應該是直接搭飛機的XD)

我瞎猜的
如果忽略众多其它因素,并且V1点后,无论后边谁来点,V1的权重都已经固定
那么我觉得应该离事实不远

如果谁有两个近10$权重的号,不妨找个每人投的帖子试试看
如果有误,烦请各路大神指正

CN除开abit, 全CN加起来都没有10$, 顶多5刀,你就找两个0.1测试下 :)

0.1 和 5 的效果不一样的。

不考虑有人踩的情况下,公式是这样的:

一人点赞贡献的 rshares = VESTS数量 * 剩余能量 * 点赞百分比 * 0.005 
多人点赞 rshares 相加得到 total_rshares
帖子获奖权重 = total_rshares * total_rshares + total_rshares * 常数S * 2

所以当 total_rshares 低于常数S时,奖励曲线接近线性增长;高于S后,乘数级别增长。

按现在的价格,加速点大概在 0.2 左右。也就是说,帖子奖励低于 0.2 时,不管有多少,用小号点一下奖励增加差不多;奖励超过 0.2 后,用小号点,当前奖励越高点完后增加越多。

这个是帖子本身的权重。另外再算各个顶贴者的奖励分配,先不写了。

继续问
每个帖子中会有一组active_votes列表

                 {'percent': 10000,
                   'reputation': '47911707536699',
                   'rshares': '26659096127486',
                   'time': '2017-02-16T03:38:03',
                   'voter': 'abit',
                   'weight': '10820714486258578240'}

列表项之一如上。
那么问题来了

问题一

一人点赞贡献的 rshares = VESTS数量 * 剩余能量 * 点赞百分比 * 0.005
这个 rshares是否是上述字典中rshares?

问题二

上述字典中的weight是如何得出?不应该和帖子的weight计算方法相同吧?

问题三

我累加所有用户的得到total_rshares,和帖子显示的total_rshares基本相同

问题四

我累加所有用户的得到weight,和帖子显示的total_weight 有很大差异,那么单个的用户weight的意义是?

rshares 就是那个 rshares 。至于 weight ,那个公式我记不太住,大概是:

所有点赞贡献的 rshares ,相加得到 vote_rshares 
踩的贡献 rshares 为负数,所以不算

total_weight = vote_rshares * 常数S / (vote_rshares + 常数S)

每次点赞的初始 weight = 点赞后的 total_weight - 点赞前的 total_weight

每次点赞的最终 weight = 初始 weight * min(点赞时间-发帖时间, 30分钟) / 30分钟

多次点同一贴 weight = 0

点赞奖 = 帖子总奖励 * 25% * weight / total_weight

从上面的公式可以看到:

  • total_rshares 越小,贡献同样 rshares 得到的 weight 越多,也就是越早点越好
  • total_rshares 较小时,贡献大量 rshares 仍然可以得到较高 weight
  • 随着 total_rshares 增加,total_weight 越来越接近常数S,到后来,即使贡献再多 rshares 也得不到高 weight
  • 所有 weight 相加的结果和 total_weight 之间的差异,就是因为有人在30分钟之类点赞的,或者多次投票,差额部分归作者了。

@smarketing @deanliu @oflyhigh

这个讲的太精细了
我恨不得用BT的号给你点个赞啊!!(可惜没有啊)

你牛,了解这么详细,
越早点肯定是越好,1000SP的人 在前5分钟投,以及没有人投的情况 能分 0.1SP, 和10000SP在30分钟后被人抢了 可能是一样多

干货啊

一人点赞贡献的 rshares = VESTS数量 * 剩余能量 * 点赞百分比 * 0.005 
多人点赞 rshares 相加得到 total_rshares
帖子获奖权重 = total_rshares * total_rshares + total_rshares * 常数S * 2

复制一遍,背下来
这样我上边的问题也得到解答了
就是把1W SP分成俩5000,按这个公式得到的结果是一样的
看看光想不学还是不行啊:)

我幫你略調整一下結論:分成5000*2還是略有不同;1.後一個5000能量可能略減,但可忽略不計;2. 再論到分配的話,分割就應該是不划算了(這部分具體要等abit下一次上課了)

太复杂了,脑瓜不够用啦

1W sp 分成两个5000,比如分到两个账号,一起点同一贴,结果是一样的;如果点不同贴,那么权重会下降。但是,分开点不同帖的话,被别人跟点的概率翻倍,所以某些情况下预期收益会增加。

你这真是知无不言,言无不尽啊。
我就没想到这点呢。

原來如此!多人rshares還是相加的,乘法是作用於total_rshares上。這公式太關鍵了! @oflyhigh,這才是真憑實據啊!

嗯,我抄小本上了,背下来了

假设,假设而已
用10$来说不是更直观嘛

我要把帖子中的10$,换成0.0001246$,那么理解起来该会多么困难啊
至少如果我是读者,我一定想掐死作者

5刀都太樂觀了,要我猜是0.5頂多,可能都不到。

This post has been ranked within the top 80 most undervalued posts in the first half of Feb 16. We estimate that this post is undervalued by $2.81 as compared to a scenario in which every voter had an equal say.

See the full rankings and details in The Daily Tribune: Feb 16 - Part I. You can also read about some of our methodology, data analysis and technical details in our initial post.

If you are the author and would prefer not to receive these comments, simply reply "Stop" to this comment.