-
Notifications
You must be signed in to change notification settings - Fork 5.9k
Description
This EIP proposes another solution for high inflation problem targeted by @huntingisland in #EIP186.
Abstracts
Ethereum should offer a special contract used as an additional future Casper/PoS deposit storage.
Miners (and only miners) should be allowed to store their freshly mined block rewards (in full or partially).
This storage should have extra voting power in PoS in order to incentivize miners sufficiently to store their rewards instead of sell it.
After Ethereum transition to Casper/PoS it should be possibly to get back the stake from deposit as usual.
It must be an official public offer from EF/Casper development group to miners.
This offer should starts ASAP and ends with the Casper/PoS is running.
Design Rationale:
- Casper deposit will sterilize excessive money amount, that now hits the market and dumps the price. Ethereum market will recover.
- No block reward change is necessary.
- Nobody takes miner’s money away. It is solely miner's decision to accept the offer or not.
- No Hard Fork is necessary.
- No community consensus about the EIP is necessary.
- PoW Miners become a convenient transition path to Casper/PoS and can keep mining later even without hardware. The EIP will increase miner's long-term loyalty to Ethereum.
- Community of Ethereum/PoS miners become more heterogeneous (Whales + PoW-Miners). It should increase security.
- Just because Casper/PoS transition is the unique Ethereum feature, Ethereum will make best offer on the hashing power market. Especially big miners could be attracted.
Other PoW chains like ETC/ZEC, competing on the of mining power will not be able to make a better offer. Hash power will drain to Ethereum. - PoW miners become a transition path to PoS, even they are not ether whales.
- Extra voting power can be increased later to increase insentives if necessary. Reducing is not fair and should be avoided.
- This extra voting power is a bonus only for miners securing ethereum network. Other PoS miners should deposit stake as usual.
Implementation Details:
Implementation one (preferred one):
- Miner can inject an additional transaction calling PoS-Deposit-Contract into the new block.
- PoS-Deposit-Contract accepts only calls if block.coinbase==msg.sender
Implementation two (simple one):
- Miner can put his rewards on stake later, providing the block number. Later staking should lead to later deposit release after PoS transition.
- PoS-Deposit-Contract checks the block's signer and remembers recently used block number per miner.
Simple implementation for mining pools:
- Any miner is allowed to transfer his stake to another account in full or partially.
- Mining pool acts as a usual miner staking block rewards in the PoS-Deposit-Contract as usual.
- It is a pool's responsibility to transfer stakes to customers according his policy.
I'll be glad to work on implementation of the EIP if it becomes accepted.
P.S. A lot of thanks to @huntingisland for targeting the problem! Great work!