在之前一个帖子里,我曾预测因为current_median_history_price
滞后于市场价,所以当current_median_history_price
更新后,SBD_PRINT_RATE
将会为0,文章中的SBD奖励会与我们说再见。
(图源 :pixabay)
然而这么多天过去了,文章奖励中依旧能看到SBD的身影,SBD_PRINT_RATE
也没有归零,这是为何呢?
其实之前我写的一篇英语文章已经解释了这个问题:
简单地来讲,就是由于STEEM的喂价更新的机制,保证SBD的供给的占比不超过整个供给的10%,当触发这个保护机制时,current_median_history_price
不再由见证人喂价中间价以及3.5日历史喂价中间价计算得出,而是使用下图箭头指向的算式求出。
也就是说这个机制算出的喂价保证了SBD的百分比不超过10%,那么你可能会问,虽然不超过10%,但是还有可能等于10%啊,这样的话SBD_PRINT_RATE
不就是0了吗?
或许以下这段代码会解释这个问题:
auto percent_sbd = uint16_t( ( ( fc::uint128_t( ( dgp.current_sbd_supply * get_feed_history().current_median_history ).amount.value ) * STEEM_100_PERCENT ) / dgp.virtual_supply.amount.value ).to_uint64() );
上述代码对求得的SBD百分比取整,也就是说如果算出来的是999.9999999,那么返回的值也是999,这样无论多么贴近10%(1000),那么得出的SBD百分比都会是9.99%(999),而算出的SBD_PRINT_RATE
就是1%(100)了。
我用Python代码模拟了SBD_PRINT_RATE
计算过程,如果不对SBD百分比取整SBD_PRINT_RATE
等于0.
如果对SBD百分比取整SBD_PRINT_RATE
等于1%(100)
是不是很有意思?另外我想,因为current_median_history_price
是每小时更新的,如果这期间SBD被大量发行,那么percent_sbd
是有可能超过10%的,但是在SBD_PRINT_RATE
等于1%的情况下,SBD好像没机会被大量发行啊?
看来文章奖励中的SBD,是会一直存在下去啦,想说拜拜,还不容易呢!
相关链接
https://steemit.com/~witnesses type in
oflyhigh
and click VOTE
Vote @oflyhigh via Steemconnect
Thank you!
This page is synchronized from the post: 文章奖励中的SBD为何还在?