-
Notifications
You must be signed in to change notification settings - Fork 795
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
Upgrade Steem Economic Model #551
Comments
If we are considering also reducing power down 2y period to 3m, above isn't something making a big difference.
Conscious users re-evaluate their votes continuously anyway. I'm afraid that this would impact network reliability / security. Those from big stake holders that are more technical would run bots to update their votes. Which would make unnecessary transactions just to keep status quo. Again, changes to Steem Power would cause more impact to witness list than above. Equihash, that sounds good. |
Awesome proposal @bytemaster . I think you just saved an awesome platform if it is accepted by the community. |
Someone on Golos suggested to link mining computation power to something useful for the society like computation of protein folding or docking of molecules. |
@VIM-Arcange linking mining computation to real world benefit is incredibly challenging to do in a decentralized manner. It is also far beyond the scope of this change. |
I actually suggested using mining to do something useful like molecule folding or docking, but I don't mean to propose implement it's right away, but discuss and find ways to do so in the future, I know some startups who tries to do so and they will need computing power... |
Great changes by the way. |
In this line the comparison should be greater than, not less than or equal to. Also, I am pretty sure the 19 in the two lines below it should be a 21 instead. So these lines should instead read
But even with that correction, this is not that great of a way of distinguishing between the top 19 and the rest, because the votes for the rank 19 can change within the round. Assuming (and all three of these assumptions seem pretty reasonable to me for typical scenarios)
then currently implemented algorithm follows what I consider to be the obvious intent of your witness pay re-balancing proposal only if one other assumption is also true: the rank 19 witness does not end up with any less votes by the time of the block they are scheduled to produce in the round compared to the votes they had at the start of the round. This means if there is any (even by one milliVESTS) net decrease in votes for the rank 19 witness between the start of the round and when they are scheduled to produce a block (on average approximately 30 seconds), the rank 19 witness will be paid as if they are a runner-up witness. Even without abuse, this seems pretty likely with a large userbase given random fluctuations in people's witness voting patterns. But the problem gets much worse when you consider that there is a financial incentive to make the above event happen intentionally every round: the rank 19 witness, and perhaps many other top witnesses could manipulate the system to earn 5 times their intended pay (which would by the way increase the intended overall inflation rate from 9.5% to up to 13.3% if all top 19 witnesses abused this system in that way). After the start of the round, they would broadcast a transaction to unvote their own witness with a high stake account so that the votes for their witness goes below the threshold (would no longer be in the top 19 for the next the round). But then after producing their block and receiving their 5x larger reward, they would broadcast the transaction to revote for their witness and get back to the original spot they were at so that they are scheduled to produce a block again for the next round. Even though I disagree with this entire mechanism and have an alternative proposal for how witness pay budgeting should be done, if you do want to keep something like this mechanism, I think that you at least need to track, at the level of each witness object, whether they were scheduled for that round as part of the top 19 or not (or even better distinguish whether they were scheduled as top 19, runner-up, or miner). That field would be updated for exactly 21 witness objects in Also, what is going on with this change from an if statement to a while loop? That isn't a hardforking issue is it? |
Switching from an IF to a WHILE allows it to shrink. Prior to the hardfork it would reach the max size and then hold there (popping one for every pushed). After the hardfork the number of items will have to shrink. You are right about the potential for abuse with my implementation. Will need to fix that. |
Following the model for our previous hardforks, the change to the price feed should happen at the time of the hardfork (in |
Do we have an ETA for when these changes will be implemented? |
…fork16 #551 # Conflicts: # libraries/chain/database.cpp
@bytemaster, @mvandeberg: Still no change of the 19 number to 21 in these lines. Add up the witness rewards given away in a round (assuming 100% participation) and you will see that the current implementation delivers 19/21 of the amount intended according to the proposal. |
@mvandeberg: You missed changing the 19 to 21 on this line as well. |
I think we need to reduce the miner reward to equal the top 19. That will ensure things are fair whether there is 1 miner or 100 miners. |
Does this remove the higher pay to the time share witness as well or only the miner? |
Hey Dan, Hope all is well. Could I possibly interject and propose we get rid of the mining slots altogether with? While I can understand the reasoning behind wanting to have miners be able to come and grab STEEM at the end of the day it is sort of a "hole in the bucket" so to speak. let alone when we've got one maybe two parties dominating the mining queue with either private GPU miners or exploiting some currently unknown bug. Also on a side note.. (this likely isn't the correct place to ask but as you've seen I'm a bit of a bullmoose in a china shop) who would I ask permission to to start doing some front end tweaks for Steemit.com and commiting them? I'm getting near completion of streemit.online and once I have a bit more free time I wouldn't mind lending my skills to the Streemit Inc team to help where I can. :) |
It seems a bit off-topic, but I think you can submit pull requests to https://github.com/steemit/steemit.com repository (no permission is needed to do so, and your work will be reviewd by other members). Of course that's not the case if your work is not based on current code base, then perhaps you need to ask someone to fork your code to a new repository. |
question about:
from: 5f4ef76#diff-4d554cc42c9d314c7f50d421cbd293a8R5 by @mvandeberg vs.
from Steem Economic Changes Update by @bytemaster What is final date for this hardfork? |
Other than you know, totally exploding what we have, doesn't this really sound like it is better suited for another chain? All economic events that occurred based on the initial assumptions go entirely wonky when viewed in this light. |
Not the 16th ;) (Which is also not a Tuesday) The hardfork will be when it's done. The proposed changes are huge and the correct parameterization is nuanced. |
Makes sense:) |
So the hardfork will not be on the 16th? |
The 16th is tomorrow and we have not made a release for 0.16.0. It is safe to say the hardfork will not be on the 16th. We will have a release out at least one week prior to the hardfork date. |
Keep up the good work, guys, sending good vibes. Looking forward to steem after the 16th hard-fork. |
@mvandeberg: I'm happy with the new changes. But I should mention a small issue that remains with the code as written, even if you guys think it is a low probability enough corner case to not bother coding a solution for. If the miner queue becomes empty (either because no one is mining or maybe because of a future hardfork that for some reason decides to disable the pow2 operation), the 21st slot in the round will be given to a second timeshare witness. The way the current code is written, that would mean the blockchain would print If you do think it is worth solving this issue with the least amount of code changes, then you would need to add an integer field
This preserves the ratios of pay rates among the three different categories even with the number of miners scheduled in the round changing. Also, I think it has the benefit of being clearer code and setting it up in a way that makes it easier to possibly modify these ratios in a future hardfork if desired. Another possible solution to this problem could be keeping the fraction of |
Can you check this line? Given the hardfork timestamp 1480435200, the block number will be approximately 7,152,400, which is greater than 7,000,000. You meant 8,000,000 or am I misunderstanding? |
The current implementation has a narrowing of 0.01% every 250,000 blocks. To make the implementation as easy as possible, we calculate what the APR would have needed to be at block 1 to achieve 9.5% at block 7,000,000. The hardfork being not quite at 7,000,000 is not a huge deal. If it gets delayed further, we can bump up the starting percent by 0.01. |
I now understand it. Thanks. |
I think typo in first graph (should this be "new liquid steem")? |
Found two issues with this calculation.
|
Some other issues:
|
Current block's witness pay times
Some notes:
|
This was implemented in hardfork 16. |
Set a fixed instantaneous annual creation rate of 9.5% from all sources (except Steem Dollars conversion)
Allocate 75% of the created Steem to the Reward Fund.
Allocate 15% of the created Steem to the Vesting Fund as interest on Steem Power.
Allocate 10% of the created Steem to the Witnesses.
Witness rewards would be rebalanced such that the top 19 would earn 1/29th of the witness rewards, the runner up witnesses -would share 5/29th, and the miners would share 5/29th.
Witnesses and miners would be paid in STEEM rather than Steem Power. All votes for witnesses would expire after 3 months, this would remove the incumbent advantage and require people to continuously evaluate and vote for witnesses.
To support more equal opportunity mining the mining algorithm would be updated to use Equihash (similar to zcash).
Reducing the Steem Power holding period to a minimum of three months.
Lastly, under the new inflation rate there is no longer a need to perform a reverse split every 3 years. This would greatly simplify the life of exchanges.
Reduce the SBD delay from 7 days to 3 days and the median period should match.
The text was updated successfully, but these errors were encountered: