-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Total emission calculation #111
Comments
I went over this with @dbkeys and one thing I learnt is that the new coin emission algorithm makes it impossible to go over the originally designed scheduled. I think that's a great feature, and something that is worth adding to the coin history thread: #113 I think what would be ideal would be some plots of total coin emission and what would be expected |
Currently the total emission is tracked by a block index variable nMoneysupply that keeps getting incremented at each block. You can get the total emission with the rpc command 'getmoneysupply'. I just now created a new command for the rpc 'coins' that loops over all blocks from the specified range and calculates the sum of unspent outputs. To make sure no coins are leaking I am running checks with this right now. This sum should never be greater than the total money supply. See my branch 'coins': https://github.com/akrmn2021/bitmark/tree/coins. |
We had a look at the emission rate over the weekend The rate for the 3rd epoch should be around 10 btm, and it's running considerably lower than that at around 6 The 3rd epoch was due to tick over around now, and with this emission schedule will tick over in around 700 days This is arguably a bug as the aim was not to affect the emission rate The main meta issue was that this change was rushed through because we were in emergency mode due to major disruption from famine and feast, and major centralization from the selfish miner, leading to the marking eco system gong to zero The 700 days we have in epoch 3 could be viewed as positive. The MO of this project is to distribute marks through marking, for good behaviour. We need to examine and document the emission much more closely, with plots and documentation of CEM. Right now only 1-2 people understand what the fork is supposed to do, and it needs to be everyone |
@dbkeys, @akrmn2021 the emission seems not to be going down Outstanding We calculated the epoch to be start of last month (maybe that's wrong) but only one of the algorithms has dropped so far, and that's SHA256 Shouldnt all MPOW algorithms be dropping about now? |
Total Emission It is misleading to speak of "the" epoch, as each of the eight mining algos operates independently and due to block reward variation governed by CEM, and each algo will reach its own epoch change independently, most likely at different times. Maximum Emission (Ever): 27,579,894.73108 Emission Rate At the fork of June 6, 2018, when CEM was introduced, the money supply still remaining to be mined was proportionally allocated to each of the 8 algos. Each algo is mined independently of the others, and if the algo is subject to large variations in hashrate, the emission rate for that algo may very well be much lower than the emission rate currently on other algos. Therefore, epochs, as defined by the original halving and quartering scheme, ( where an epoch is complete when a certain number of coins is emitted), will happen at different times for each algo, because they do not all operate at peak hashrate all the time. CEM will be individually limiting each algo's emission rate if its hashrate is lower than the peak seen looking back a year. |
Further to this comment here from @dbkeys and follow up:
#103 (comment)
How do we verify the emission schedule for those that have followed the coin a while. I do get asked this and sympathetic people say to me 'they changed the emission'
What can I point them to that will verify that the community designed halvings and emission have been retained
If it's a case of having to read the code, the bar is going to be too high for most people
The text was updated successfully, but these errors were encountered: