0

There are lots of references to the time bomb in Ethereum which is supposed to happen in the near future and it is meant to control inflation of the currency, because it is growing too fast right now. Increasing difficulty will also increase the block time, which is not good for transactions.

My question is, why the difficulty has to be increased and not the reward per block lowered? Right now the reward is 5 ether. To control the rate of currency growth by factor of 2x you just have to decrease the reward to 2.5 ether. Why aren't the developers of Ethereum going this way? Is there some technical limitation?

2 Answers 2

1

The tricky part with modifying a decentralised system, like Ethereum, is that you need to incentivise both the miners and the users to want to keep upgrading (to a Proof of Stake consensus mechanism) - to avoid "protocol stagnation".

There are lots of references to the time bomb in Ethereum which ... is meant to control inflation of the currency, because it is growing too fast right now.

I'm not sure where you got this information about inflation happening too fast, but I disagree with your statement.

Based on Vitalik's comments in past developer all-hands calls (such as Meeting 14) where he wasn't concerned about pushing back the Ice Age despite the effect being that the market cap of Ethereum growing by 2-3 million Ether - saying it wasn't a big deal.

Increasing difficulty will also increase the block time, which is not good for transactions.

That's correct, it's not good for applications that use Ethereum - this is the users' incentive to move over to Casper / PoS; a more usable system.

Why aren't the developers of Ethereum going this way? Is there some technical limitation?

No technical limitation, it's just important to find the correct balance and come to an agreement amongst the community.

An agreement has now been reached and they are lowering the reward to 3 Eth in the next release (which all going to plan with happen on 17th October) - you can see this change in the code:


var (
    frontierBlockReward  *big.Int = big.NewInt(5e+18) // Block reward in wei for successfully mining a block
    byzantiumBlockReward *big.Int = big.NewInt(3e+18) // Block reward in wei for successfully mining a block upward from Byzantium
    maxUncles                     = 2                 // Maximum number of uncles allowed in a single block
)

Ethereum's Difficulty Timebomb / Ice Age, and the recent changes that are coming in the new code release, is actually designed to keep Ethereum progressing forward by incentivising the users and the miners to upgrade; modifying the mining reward alone wouldn't achieve this goal

1
  • "I'm not sure where you got this information about inflation happening too fast, but I disagree with your statement." We all got it from Buterin himself: reddit.com/r/ethereum/comments/5izcf5/…
    – Nulik
    Commented Oct 9, 2017 at 22:47
0

The difficulty was increased so as to slow down block time to incentivize users to switch to new client software at some point in the future (circa now, as is happening) and to incentivize the developers to finish proof-of-stake quickly to give something to nodes to upgrade to. The reason this is an incentive is because as block times increase, transaction processing time drops. This makes the block time a nuisance (say, at 10 minutes) and eventually, unbearable (when a block might take hours to have a successor block).

The protocol can (does, and must) control monetary inflation and, indeed, I recall reading that the current value for issuance is designed, in part, to offset ethers lost due to accidents (such as due to lost wallets). Thus, the circulating supply was accounted for. Indeed, ether was designed as a mechanism to pay for transactions, not as a unit of account for a value store. A decrease in the supply of ether would mean that transactions couldn't be performed on the network. However, in practice, people are using ether to store and transmit value. (As it turns out, the ability to for multiple Ethereum smart contracts to interact with each other and use a common unit of account is a useful property that ether provides).

Price inflation is a totally separate beast and would require regular adjustments to the protocol to maintain -- if, indeed, it is even desirable to do so. It would also require some sort of body like the Federal Open Markets Committee (FOMC) which is anathema to the way Ethereum is currently governed (or not). Price inflation is dictated by systems external to Ethereum and thus cannot be hard-coded into the system (at least without using a centralized, external oracle trusted by all users). And though Ethereum could implement something like CarbonVote or the DAO into the protocol where votes could affect the monetary inflation to effect a change onto price inflation, I'd be willing to bet most people would be stumbling around in the dark to even act in their own best self interests when it comes to setting monetary policy.

As a side note, the rate of issuance of ether drops in Byzantium from 5 ETH to 3 ETH per block and maintains a 30s target block time. The rationale is discussed briefly on the CarbonVote preamble. I would interpret the preamble as meaning direct removal of the ice age would dramatically increase the rate of issuance of ether; unpredictability/surprises is bad for markets (at least if you want people to actually use Ethereum rather than speculate).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.