You are viewing a single comment's thread from:

RE: A new puzzle about daily STEEM production (yes, really.)

in #steemtalklast year (edited)

I have a new guess. Maybe it's the reward distributions? Rewards get created on a schedule, but they don't get distributed on a schedule. Reward distribution depends upon the activities of authors and voters.

During the last 20 days, the pending_rewarded_vesting_steem value declined from 524K to 506K, ~900 per day. None of this seems to be documented (outside of code) - and I'm not sure of the exact mechanism, but if I'm surmising right, there would have been a corresponding slowdown in virtual_supply growth(?).

So far, I can only compare in broad averages, but it seems that 900 per day average of rewards reduction and 950 per day of burned beneficiary rewards more-or-less closes the gap. Here's a graph with the pending rewards and the virtual supply (Note that the left & right scales are different).

image.png

Also, I've been running a check straight from the blockchain for about 22 hours. Here's what that yields (so far):

(Columns are: block number/virtual supply/pending rewards/virtual supply - pending rewards)

Starting values: 76462772 487895152.216 503395.264 487391756.952000
Last values: 76487132 487970204.933 508525.579 487461679.354000
Total change: 24360 75052.717000 5130.315000 69922.402000
New STEEM per block: (# blocks):24360 (Virtual Supply):3.080982 (rewards pending):0.210604 (Virtual Supply - Rewards Pending):2.870378
New STEEM per day: (# blocks):24360 (Virtual Supply):88732.281600  (rewards pending):6065.395200 (Virtual Supply - Rewards Pending):82666.886400



Guess I'll keep my eye on the pending rewards for a couple weeks and see how things play out.



Update for my own use:

Saving this somewhat related link from 2017 for myself later. Here's a little shell script to calculate the rewards_per_rshare and output it in CSV format:

while :
do
   INFO=$(curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_reward_fund", "params":["post"], "id":1}' https://api.steemitdev.com \
             | jq -Src '.result | .recent_claims,.reward_balance,.last_update' | sed -n '$!N;$!N;s/\n/ /g;P;D')
   recentClaims=$(echo ${INFO} | awk '{print $1}')
   rewardBalance=$(echo ${INFO} | awk '{print $2}')
   rewardPerRshare=$(echo ${rewardBalance} ${recentClaims} | awk '{printf "%0.18f", $1 / $2}')
   echo ${INFO} ${rewardPerRshare} | sed 's/ /,/g' | sed 's/,STEEM//g'
   sleep 3
done


@steemcurator01, is there any chance that this API can be reactivated at SteemDB? It stopped updating in April of 2021.

Sort:  

Thank you for these infos. I'll have to look into it first.

I have recorded the values for a few hours. For a short period of time (< 1 hour) the values correspond with the predicted values, but for longer periods of time it goes down again... But I still have to take a closer look at the data...

After three days, it has drifted a little bit low. But not too much considering that burned beneficiary rewards have been about 1000 per day. I guess it's off by about 300 STEEM per day.

Starting values: 76462772 487895152.216 503395.264 487391756.952000
Last values: 76545870 488150878.291 524715.962 487626162.329000
Total change: 83098 255726.075000 21320.698000 234405.377000
New STEEM per block: (# blocks):83098 (Virtual Supply):3.077403 (rewards pending):0.256573 (Virtual Supply - Rewards Pending):2.820831
New STEEM per day: (# blocks):83098 (Virtual Supply):88629.206400  (rewards pending):7389.302400 (Virtual Supply - Rewards Pending):81239.932800

I definitely need to find some time to link these numbers up better with the reward pool numbers from get_reward_fund. Hopefully, Steemit will fix [that link](https://steemdb.io/api/funds) in SteemDB so I can pull it into PowerBI.

During the last 20 days, the pending_rewarded_vesting_steem value declined from 524K to 506K, ~900 per day. None of this seems to be documented (outside of code) - and I'm not sure of the exact mechanism, but if I'm surmising right, there would have been a corresponding slowdown in virtual_supply growth(?).

Interesting thought. The question is whether there is really a relation.
At the moment, I have also found no indication in the code that this has an influence on virtual_supply.

Unfortunately, I have not yet made any progress with the evaluation of my records. I won't be able to do so in the next few days either... we'll stay tuned :-)

Missed blocks? My formula for predicted STEEM per day assumes 20 * 60 * 24 = 28,800 blocks per day, but that's not what I'm seeing if I look at the first block number from each day. The difference accounts for about 495 STEEM per day. If a block gets missed, do those STEEM get added to a later block, or are they just gone?

Between 500 a day for missed blocks and 900 per day burned, that could get us pretty close to closing the 1,650 gap.

image.png

Are we really seeing an average of 159 missed blocks per day? Apparently yes - or close to it. My numbers don't match those exactly, but they're not far off. I had thought that disabled witnesses were excluded from block validation, but that seems not to be the case... So, in some sense, the disabled hive witnesses are helping us by reducing inflation?

Update:

I guess this is the difference. The ones that still have valid signing keys are still getting scheduled. When the witnesses page showed them as disabled, I had assumed that their signing keys were invalidated. They're not really disabled, just AWOL.

$ ./get_witness_by_account.sh -w abit | jq -S . | grep signing_key
    "signing_key": "STM6KNYPwdsFjvvJATBYYk2qaXB9gKWTfbLUf52EcYAGejuWijdnk",
$ ./get_witness_by_account.sh -w scissor.sisters | jq -S . | grep signing_key
    "signing_key": "STM57ACN7dVLaxCjRcvFNj6ALMUderJXVVEANWEhZgeyriuBA6yER",
$ ./get_witness_by_account.sh -w marcosdk | jq -S . | grep signing_key
    "signing_key": "STM1111111111111111111111111111111114T1Anm",
Loading...

It's definitely not as simple as I was thinking. Virtual supply and pending rewards don't seem to move together. Now I'm thinking it's related to the size of the overall rewards pool (rewardBalance), instead of just the pending rewards. Unfortunately, with SteemDB's funds API broken, matching those numbers up will be more challenging, and I haven't had much time to spend on it.

Coin Marketplace

STEEM 0.16
TRX 0.16
JST 0.031
BTC 58925.39
ETH 2498.15
USDT 1.00
SBD 2.48