Skip to content
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

EIP-33: Token burning during rent collection #68

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions eip-0033.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
EIP-0033: Burn tokens in rent collection
========================================

* Author: scalahub
* Created: 03-Jun-2022
* License: CC0
* Forking: Softfork needed

Motivation
----------

Ergo's storage rent is a novel approach for reducing UTXO bloat and creating long-lasting incentives for miners.

The idea of storage rent is to make sure no boxes remain unspent for more than 4 years. If a box is unspent for this long, a miner can
"spend" the box by collecting some predefined amount as "storage rent", while keeping the rest in a newly created box that
preserves everything else.

The issue arises when there is not enough Ergs in the box to continue its existence. In this case the miner is free to take
the entire content of the box, **including any tokens** without having to create a copy of the box.

While the ability to take all the ergs as a penalty for keeping low balance seems logical,
allowing miners to take tokens has opened up a Pandora's Box of security problems.

Details
-------

Many existing dApps (such as Ergo mixer, Oracle pools, [Timestamping service](https://www.ergoforum.org/t/a-trustless-timestamping-service-for-boxes/432), etc)
rely on the fact that tokens when locked in a box with a proper contract remain locked till eternity, which is a false assumption.
We can safely assume that many upcoming dApps in the future will also wrongly rely on this assumption.
Security of such dApps will break once such tokens are released, and the future damage due to such events cannot be fully comprehended now.

Hence, this EIP proposes to make a soft-fork that requires miners to burn any tokens when a box does not have sufficient Ergs for continued existence.

Many tokens are quite valuable and miners would not mind collecting them. However, it should be noted that the very reason such tokens are valuable is because
they are not "stealable". The ability of miners to extract tokens in future will directly have negative impact on their current value, and on the overall Ergo
ecosystem, when such "loopholes" are suddenly discovered in the future. Hence, it is better to avoid such complications and require all tokens to be burned when
destroying a box due to insufficient storage rent.