From dcbe69655dd4d7fcbe8a92e6d6a9c0b0b5ca231d Mon Sep 17 00:00:00 2001 From: cslarson Date: Tue, 28 Aug 2018 12:45:52 +0100 Subject: [PATCH] add difficulty bomb delay to eip 858 (#1346) * add difficulty bomb delay to eip 858 * modify specification to reflect a difficulty bomb delay of 2m blocks * Update eip-858.md --- EIPS/eip-858.md | 20 ++++++++++++-------- assets/eip-858/calculations.md | 16 +++++----------- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/EIPS/eip-858.md b/EIPS/eip-858.md index 71ca2b96..47a495ca 100644 --- a/EIPS/eip-858.md +++ b/EIPS/eip-858.md @@ -1,6 +1,6 @@ --- eip: 858 -title: Reduce block reward +title: Reduce block reward and delay difficulty bomb author: Carl Larson type: Standards Track category: Core @@ -9,30 +9,34 @@ created: 2018-01-29 --- ## Simple Summary -Reduce the block reward to 1 ETH. +Reduce the block reward to 1 ETH and delay the difficulty bomb. ## Abstract The current public Ethereum network has a hashrate that corresponds to a tremendous level of energy consumption. As this energy consumption has a correlated environmental cost the network participants have an ethical obligation to ensure this cost is not higher than necessary. At this time, the most direct way to reduce this cost is to lower the block reward in order to limit the appeal of ETH mining. Unchecked growth in hashrate is also counterproductive from a security standpoint. +Recent research developments also now time the switch to POS as sometime in 2019 and as a result there is need to further delay the difficulty bomb so the network doesn't grind to a halt. + ## Motivation -The current public Ethereum network has a hashrate of 232 TH/s). This hashrate corresponds to a **lower bound** for power usage of roughly [821 MW](../assets/eip-858/calculations.md) and yearly energy consumption of 7.2 TWh (roughly 0.033% of [total](https://en.wikipedia.org/wiki/List_of_countries_by_electricity_consumption) global electricity consumption). A future switch to full Proof of Stake will solve this issue entirely. Yet that switch remains enough in the future that action should be taken in the interim to limit excess harmful side affects of the present network. +The current public Ethereum network has a hashrate of 296 TH/s. This hashrate corresponds to a power usage of roughly [1 TW](../assets/eip-858/calculations.md) and yearly energy consumption of 8.8 TWh (roughly 0.04% of [total](https://en.wikipedia.org/wiki/List_of_countries_by_electricity_consumption) global electricity consumption). A future switch to full Proof of Stake will solve this issue entirely. Yet that switch remains enough in the future that action should be taken in the interim to limit excess harmful side affects of the present network. ## Specification -Block reward to be changed to 1 ETH / block. -If any resulting hard forks need a name for that name to maybe be Perinthos. + +Delay difficulty bomb by 2,000,000 blocks +Adjust block, uncle, and nephew rewards to reflect a new block reward of 1 ETH. ## Rationale -partly TBD +This will delay the difficulty bomb by roughly a year. The difficulty bomb remains a community supported mechanism to aid a future transition to POS. + The network hashrate provides security by reducing the likelihood that an adversary could mount a 51% attack. A static block reward means that factors (price) may be such that participation in mining grows unchecked. This growth may be counterproductive and work to also grow and potential pool of adversaries. The means we have to arrest this growth is to reduce the appeal of mining and the most direct way to do that is to reduce the block reward. ## Backwards Compatibility -This EIP is consensus incompatible with the current public Ethereum chain and would cause a hard fork when enacted. The resulting fork would allow users to chose between two chains: a chain with a block reward of 1 ETH/block and another with a block reward of 3 ETH/block. This is a good choice to allow users to make. +This EIP is consensus incompatible with the current public Ethereum chain and would cause a hard fork when enacted. The resulting fork would allow users to chose between two chains: a chain with a block reward of 1 ETH/block and another with a block reward of 3 ETH/block. This is a good choice to allow users to make. In addition, the difficulty bomb would be delayed - ensuring the network would not grind to a halt. ## Test Cases Tests have, as yet, not been completed. ## Implementation -A [fork of the go repo](https://github.com/cslarson/go-ethereum/tree/reduce-block-reward) with changes to reflect a block reward reduced to 1 ETH, activated at a fork to be called Perinthos. +No implementation including both block reward and difficulty adjustment is currently available. ## Copyright Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). diff --git a/assets/eip-858/calculations.md b/assets/eip-858/calculations.md index 9494cb7b..b7b1ba70 100644 --- a/assets/eip-858/calculations.md +++ b/assets/eip-858/calculations.md @@ -1,6 +1,6 @@ | Variable | Symbol | Value | Unit | Source | | -------------------|--------------|---------------|---------------|--------| -| Network Hashrate |HN | 232001 | GH/s | https://etherscan.io/chart/hashrate | +| Network Hashrate |HN | 296000 | GH/s | https://etherscan.io/chart/hashrate | | GPU Hashrate |HM | 31.2 | MH/s | http://www.legitreviews.com/geforce-gtx-1070-ethereum-mining-small-tweaks-great-hashrate-low-power_195451 | | GPU Power |PM | 110.6 | W | https://www.reddit.com/r/ethereum/comments/7vewys/10000_tons_co2_per_day_and_climbing_eip_858/dtrswyz/ | @@ -11,20 +11,14 @@ A baseline value for network power consumption can be found by multiplying the t > PN = HN x PM / HM > -> PN = 232001 (GH/s) x 110.6 (W) x 1000 (MH/GH) / ( 31.2 (MH/s) x 10^6 (W/MW) ) +> PN = 296000 (GH/s) x 110.6 (W) x 1000 (MH/GH) / ( 31.2 (MH/s) x 10^6 (W/MW) ) > -> PN = 821 MW +> PN = 1049 MW -As a side note, people often confuse power (W) and energy (power x time, eg. Wh). For instance, assuming an average daily PNd of 821 MW we can calculate that days Energy consumption by multiplying by the number of hours in a day. +As a side note, people often confuse power (W) and energy (power x time, eg. Wh). For instance, assuming an average daily PNd of 1049 MW we can calculate that days Energy consumption by multiplying by the number of hours in a day. > ENd = PNd x Td > -> ENd = 821 (MW) x 24 (h/d) / 1000 (GW/MW) +> ENd = 1049 (MW) x 24 (h/d) / 1000 (GW/MW) > > ENd = 19.7 GWh - - - -## Network CO2 contribution - -Work in progress