ergoplatform / eips

Ergo Improvement Proposals
64 stars 36 forks source link

EIP-0027: Emission Soft-Fork #52

Closed kushti closed 2 years ago

kushti commented 2 years ago

Long-term security of the Ergo protocol, including its crypto-economic security, is always of highest priority for the community and core developers. One of the hottest research topic in this field is possible (in)stability of cryptocurrency protocols without stable block rewards coming from emission.

It was planned during the launch of the Ergo network that after the end of emission miners will be rewarded with transaction fees and also with storage rent (unique for Ergo source of mining income). However, it is hard to estimate yet how successfully will storage rent replace emission.

Thus it was proposed on the ErgoForum informally to prolong emission (with preserving total supply) via a soft-fork. This EIP is concluding previous discussions and provides details on emission soft-fork design and implementation.

aslesarenko commented 2 years ago

@scalahub I would wait your review before approving this, could you please have a look.

scalahub commented 2 years ago

For analysis, made an approximate ergoscript version reemission: https://gist.github.com/scalahub/ff5d62918389e164a5f0af54eab8151a pay-to-reemission: https://gist.github.com/scalahub/c89a2ab513d1ca26eafe1681a4667316

kushti commented 2 years ago

For analysis, made an approximate ergoscript version reemission: https://gist.github.com/scalahub/ff5d62918389e164a5f0af54eab8151a pay-to-reemission: https://gist.github.com/scalahub/c89a2ab513d1ca26eafe1681a4667316

In re-emission contract:

val correctCoinsIssued = SELF.value - reemissionOut.value == 3 

should be 3 billion (it is in nanoERG)

scalahub commented 2 years ago

For analysis, made an approximate ergoscript version reemission: https://gist.github.com/scalahub/ff5d62918389e164a5f0af54eab8151a pay-to-reemission: https://gist.github.com/scalahub/c89a2ab513d1ca26eafe1681a4667316

In re-emission contract:

val correctCoinsIssued = SELF.value - reemissionOut.value == 3 

should be 3 billion (it is in nanoERG)

fixed the gist