ergoplatform / ergo

Ergo protocol description & reference client implementation
https://ergoplatform.org/
Creative Commons Zero v1.0 Universal
499 stars 169 forks source link

[HF-4.0] Reduce storage rent period #1144

Closed kushti closed 4 years ago

kushti commented 4 years ago

Reduce storage rent period to 3 years. See this forum post for details: https://www.ergoforum.org/t/storage-rent-details/256

catena2w commented 4 years ago

Discord Discussion:

kushti06/27/2020
@morphic @jasondavies @Robert K @mx @Dmitry Meshkov 3 years for storage rent is okay  ?
Robert K06/27/2020
I think 3 years is reasonable enough to me.
Dmitry Meshkov06/27/2020
I'm still against the idea to change this parameter via a hard-fork. It will create a bad precedent of changing monetary policy via hard-fork and will singificantly reduce the Ergo value.
My second idea is that it is a local fix for the short period after the emission end and does not change anything in the long term (if miner will make storage rent fee 4/3 times higher via voting). 
Finally, 3 year period does not make any sense, as far as at the year 8 miners will only be able to collect storage rent from 2 creation times (years 5 and 2), which is the same, as if we have 4 years storage rent, where miners will collect fees from boxes created at year 0 and 4.
As an alternative approach, I propose to fix this local issue without a hard-fork, e.g. by creating a smart-contract that will subsidize miners unable to collect enough fees. Storage rent fee is actually relatively small, so the community and foundation donations should be enough to fix this issue.
Also as far as I remember, the transaction fee contract is not hardcoded and may be defined by users. It might be a good option to change the default transaction fee contract, that this fee will be distributed between miners within some period of time (instead of just going to a current miner like now). This will also smooth the reward curve for miners, ensuring that every block contains some reward. This transaction fee part is almost negligible for miners right now, so I guess they would be ok to share part of it with the miners in the future
Robert K06/27/2020
I'd personally be fine with a local fix if that approach can end up working. I mentioned something similar in the forum about community subsidy, and I think that is a decent approach, but it is a question whether it will be enough.

My biggest worry personally is from a UX perspective for dApps for storage rent to go below 3 years, but 4 is definitely better to keep it at that. I'm generally undecided either way besides that.
mx06/27/2020
community-driven contracts sound ok, otherwise miners will rather support 2 years period
Dmitry Meshkov06/27/2020
If we're to change this parameter, it makes sense to choose its length from 8/3, 8/4, ... , 8/8 to maximize the miners` profit at year 8. So we're to choose the number X (which is 2 now) that determines amount of the block heights in the past, which boxes allow miners to collect the reward at year 8.
mx06/27/2020
8 years is very long time in cryptocurrency, even during 4 years supply can change a lot, if i was concerned miner and had a choice, i would vote even for period lower than 2 years to see the new economy model working before emission ends, not mentioning changes that may happen in standard economy during that time as for maximizing profits
Cheng Wang06/28/2020
In my opinion, 3 years is not very different from 4 years. By definition, every utxo could choose to do one transaction to save it from a storage fee. Assume that the tx fee is 0.01 Ergo and there are 1M utxos in total, then the storage rent mechanism will incentivize at most 10K Ergo for miners during one storage period. If half of the utxos will be used anyway, then 5k Ergo will be extracted by miners. Divide this by 3 years or 4 years will not change too much.
If I misunderstood any details, please correct me
kushti06/29/2020
@Dmitry Meshkov collecting from years 0 and 4 is not the same as 2 and 5, as there will be more UTXOs created around year 2 than around year 0 (also, before year 8 you have 2 periods instead of 1). 
Also, EF should incentivize applications storing data on-chain likely, to be actively used from year 2 and on. 
No reason to do HF to change storage rent, but HF will be done anyway, so why not to play around storage rent if there's a chance.
@Cheng Wang there're also lost UTXOs , and with default parameters UTXO of "standard" size pays ~0.13 ergs / period (and miners can double it)
I'm okay with reworking fee contracts, but a concrete proposal to be considered.
catena2w commented 4 years ago

Looks like the majority of our active community is against this proposal, thus I propose to close the issue and does not include this change to hardfork.

kushti commented 4 years ago

ok, set status to rejected