From 5fd71ef0dedb602b59f529a6df128f53db372641 Mon Sep 17 00:00:00 2001 From: 5chdn <5chdn@users.noreply.github.com> Date: Tue, 8 Aug 2017 10:31:41 +0200 Subject: [PATCH] Wording and formatting. --- EIPS/eip-649.md | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/EIPS/eip-649.md b/EIPS/eip-649.md index aa231aaa..ddcb07f5 100644 --- a/EIPS/eip-649.md +++ b/EIPS/eip-649.md @@ -20,19 +20,31 @@ The Casper development and switch to Proof-of-Stake is delayed, the Proof-of-Wor ## Specification #### Relax Difficulty with Fake Block Number -For the purposes of `calc_difficulty`, we simply replace the use of `block.number`, as used in the exponential ice age component, with the formula: +For the purposes of `calc_difficulty`, simply replace the use of `block.number`, as used in the exponential ice age component, with the formula: fake_block_number = block.number - 3_000_000 if block.number >= METROPOLIS_FORK_BLKNUM else block.number #### Adjust Block, Uncle, and Nephew rewards -To add an issuance reduction, we adjust the block reward for `block.number >= METROPOLIS_FORK_BLKNUM` to `new_block_reward`, where `new_block_reward = 3_000_000_000_000_000_000`. This is 3E18 wei, or 3,000,000,000,000,000,000 wei, or 3 ETH for the `new_block_reward`. +To add an issuance reduction, adjust the block reward to `new_block_reward`, where -If an uncle is included in a block for `block.number >= METROPOLIS_FORK_BLKNUM` such that `block.number - uncle.number = k`, the uncle reward is `(8 - k) * new_block_reward / 8`. This is the existing pre-Metropolis formula for uncle rewards, simply adjusted with `new_block_reward`. + new_block_reward = 3_000_000_000_000_000_000 if block.number >= METROPOLIS_FORK_BLKNUM else block.reward -The nephew reward for `block.number >= METROPOLIS_FORK_BLKNUM` is `new_block_reward / 32`. This is the existing pre-Metropolis formula for nephew rewards, simply adjusted with `new_block_reward`. +(3E18 wei, or 3,000,000,000,000,000,000 wei, or 3 ETH). + +Analogue, if an uncle is included in a block for `block.number >= METROPOLIS_FORK_BLKNUM` such that `block.number - uncle.number = k`, the uncle reward is + + new_uncle_reward = (8 - k) * new_block_reward / 8 + +This is the existing pre-Metropolis formula for uncle rewards, simply adjusted with `new_block_reward`. + +The nephew reward for `block.number >= METROPOLIS_FORK_BLKNUM` is + + new_nephew_reward = new_block_reward / 32 + +This is the existing pre-Metropolis formula for nephew rewards, simply adjusted with `new_block_reward`. ## Rationale -This will delay the ice age by 42 million seconds ~= 1.4 years, so we would be back at 30 second block times at the end of 2018. An alternate proposal was that we add special rules to the difficulty calculation to effectively _pause_ the difficulty between different blocks. That would lead to similar results. +This will delay the ice age by 42 million seconds ~= 1.4 years, so the chain would be back at 30 second block times at the end of 2018. An alternate proposal was to add special rules to the difficulty calculation to effectively _pause_ the difficulty between different blocks. That would lead to similar results. This was previously discussed at All Core Devs Meeting [#09](https://github.com/ethereum/pm/blob/master/All%20Core%20Devs%20Meetings/Meeting%209.md#metropolis-timing-and-roadmap-discussion), [#12](https://github.com/ethereum/pm/blob/master/All%20Core%20Devs%20Meetings/Meeting%2012.md#5-metropolis-update), [#13](https://github.com/ethereum/pm/blob/master/All%20Core%20Devs%20Meetings/Meeting%2013.md#3-eip-186-reduce-eth-issuance-before-proof-of-stake-hudson), and [#14](https://github.com/ethereum/pm/blob/master/All%20Core%20Devs%20Meetings/Meeting%2014.md#1-eip-186-reduce-eth-issuance-before-proof-of-stake-core-devs). Consensus on the specification was achieved in All Core Devs Meeting [#19](https://github.com/ethereum/pm/blob/master/All%20Core%20Devs%20Meetings/Meeting%2019.md) and specification drafted in EIP issue [#649](https://github.com/ethereum/EIPs/issues/649).