EIP-1234 vs EIP-1227: Constantinople Difficulty Bomb & Block reward

It doesn’t matter what miners what, it matters what economic participants want. 99% of miners can go and mine on the chain that has a block reward of 50,000,000 ETH per block if they want, if economic participants don’t use that chain then they’ll have 50,000,000 worthless ETH.

My broken record reminder: Miners are a service provider. They do not have any power of the direction of the blockchain. They are easily replaced and if some leave to mine another chain, others will pop up to fill the void.

5 Likes

Probably not the place to hash out this governance/power argument, but I do think your argument is a valid perspective of things. You can certainly frame things in which miners are the ultimate power though, in that economic participants literally cannot participate unless miners allow the blockchain to exist. This is probably not realistic nowadays since mining is too profitable an activity to expect altruistic or irrational financial decisions form them.

To expand on your point though, if economic participants are the primary driver for what exists and is worth anything, why do they have no impact on the actual development decisions? Nick Johnson just said the other day quote:

Ultimately the only way the community can accept or reject a change is by running, or refusing to run, the code. There’s no way to reliably measure the popularity of a proposed change (to the degree where you can be sure it’s not worth implementing), and trying to do so would simply bog the EIP process down with a political process - most likely resulting in people switching to a new way to agree on changes that doesn’t impose massive overhead.

Where is the disconnect here? Is it economic participants, miners, or core devs who call the shots? Again, not the time or place to hash this out, but this is my broken record reminder that miners absolutely do have a say in what they mine, especially when the economic participants have decided that there are other profitable (and not that far off) blockchains to go mine with the same hardware.

That’s wrong Micah. Reducing block times increases issuance. Reducing block rewards reduces issuance. If you split this, you end up modifying issuance. The goal of bundling it in one EIP aims at maintaining a stable issuance.

3 Likes

is there a target for issuance or just ideally matching the present?

This article may or may not be relevant, but the same sort of discussion (should have) occurred pre-Byzantium: https://medium.com/@tjayrush/byzantiums-difficulty-calculation-2cdef46f79d3.

Conflating a change in the block reward and a fix to the difficulty bomb in the same hard fork accomplishes exactly the reason for the difficulty bomb in the first place – it allows the devs to control issuance.

Afri is right, the issuance remains relatively the same over the particular block at the hard fork, but over the previous month the issuance had decreased due to the difficulty bomb. The net effect at the Byzantium fork was a lowering of issuance from five eth every 15 seconds to three eth every 15 seconds. The miners, obviously, didn’t like it, but they went along with it because they needed the fix to the difficulty bomb – thus the need to keep the two combined.

If the idea is to mimic the issuance as if the bomb were still in place, the current target issuance would be zero. If their is no total coin issuance target, there is little difference technical difference in setting 1, 5, 50 or 100 ether per block. Unless something has changed, there isnt an opcode for the evm to even query what the block reward is.

Is there a target?

To expand on this, you can have a target total supply, target issuance rate, and target issuance in terms of fiat.

Miners operating cost is in fiat currency, so framing the target issuance in terms of fiat make sense to me. I believe this would mean creating an adaptable issuance rate based on oracles.

fiat isnt real and would create a needlessly complex consensus model. in order to use an Oracle, the system would need op codes to get block rewards. since there is never real finality l, reorgs would be insanely complex

edit: fiat isnt real == there is no global standard fiat rate that is fixed. pegging to usd may create inefficiencies compared to gbp, euro, yuan, gold etc on any given day

It would definitely be a technical nightmare, but let’s say for the sake of discussion that it is doable (to have a flexible block reward that pays miners a fixed amount of fiat).

This would free miners from speculation because they would be able to calculate exactly how profitable mining would be. This makes difficulty (and security) completely controllable based on the fixed fiat payment amount.

However, this would mean only the most efficient miners would exist - since they are the only ones who stand to make any money in a scenario where the mining “market” is saturated. This probably leads to centralization around ASICs and ASIC producers.

Doesn’t sound like a good plan, even if it was technically feasible.


So, are we talking about a target supply cap or a target issuance rate with no supply cap?

the only supply cap proposal I’m aware of is https://github.com/ethereum/EIPs/issues/960 , but as I understand it this was a joke.

The technical restraint would still be the lack of the system to grep its total supply and could only approximate based on block number

The latest Casper/Sharding spec has a supply cap in it as well.

2 Likes

ETH_SUPPLY_CAP - self-explanatory. Currently set to 227 ~= 134 million.

is this gospel or a strong assumption?

If the block reward is intended to be stable by time (not blocks) then the algorithm should be changed to not have difficulty as an independent variable and instead use time as the independent variable. That could be an EIP just as easily as this one. By conflating these two issues, you are conflating discussion about them. As an economic participant, I am an advocate of removing the difficulty bombs entirely and also of reducing the block reward. Rather than having 4 EIPs with all 4 combinations of such, we can have two EIPs that are isolated from each other and can be evaluated and discussed separately.

We have seen discussions around block reward/difficulty bomb EIPs degrade in the past and this is partly because they keep getting proposed as two-in-ones like this.

Well that document wasn’t released on April fools, so I’m taking it seriously :joy: However, the Casper/Sharding specs in general are in constant flux, so I wouldn’t accept it as written in stone.

1 Like

The strongest reason I can think for removing the threat of mutual annihilation(the bomb) is it cannot ever be used as intended. In its current state, any contentious issue could become a bomb issue. For instance, “approve eip-999(or something similar) or we dont agree to delay the bomb”. Is this a less valid situation? Is their anything other than a gentleman’s agreement in place that dictates the bomb must only be used for casper. Delaying it begs the question who gets to decide what a good ‘difficulty bomb-able’ topic is? Is it only moving to PoS or could another hill be chosen to die on. The cold war needs to end.

I think the bomb makes sense in terms of PoS migration since the whole point of the change is to scare a portion of the community away (the miners). It would be harder to get passed the gentleman’s agreement unless it’s another decision where cutting a portion of the community is seen as beneficial to the others. Ultimately, sticking to any chain is a gentleman’s agreement.

The PoS change’s been on the roadmap since the beginning, so consensus was established before the community was so robust and it’s still accepted as widely-approved. I can’t identify the portion of the community that consensus could be built on cutting for the sake of pushing 999 (for example) through.

A coinvote has been added to etherchain.org which should also be included in the conversation.

https://www.etherchain.org/coinvote/poll/298

As has been argued elsewhere, coin votes are not an effective way to get sentiment analysis. They have historically had incredibly low turnout (thus not representative) and they are subject to heavy influence from marketing and vote buying.

That vote also doesn’t even include all of the options. For example, remove the difficulty bomb and reduce the per-block issuance rate.

1 Like

not my poll, capturing for reference. people can signal as they please

I listened to the conference call today and would like to provide the input that you solicited during the call as a large Ethereum miner (+500 GPUs). I know you are trying to strike a balance to ensure the miner community accepts the mining reward changes and difficulty bomb. I have a solution that I think would make this a lot easier.

To be quite honest most GPU miners are now barely breaking even after electricity costs due to the current state of the market and increased ASIC mining pushing up difficulty. Any reduction in rewards without a likewise reduction in difficulty would leave only ASICs on your network. I think I can speak for the mining community by saying we would be extremely open to outright reductions in rewards with the difficulty bomb reward removal if you were to include an anti ASIC POW mining algorithm change simultaneously. We know once ASICs are off the network we will again be on equal footing with other fellow GPU miners and profits should resume to where we are not mining for a loss.

I realize Anti ASIC POW change was part of an EIP a few months back but you never finished the work but did agree it would need to be part of a fork with other EIPs. It seems this would be the best time to implement a POW algorithm change along side the reward reduction and difficulty bomb removal. I know you would hands down win over the mining community if you finally took serious the amount of profits ASICs are costing the community and forked them off.