Wording and formatting.

This commit is contained in:
5chdn 2017-08-08 10:31:41 +02:00
parent 0b12843702
commit 5fd71ef0de
No known key found for this signature in database
GPG Key ID: 1A40871B597F5F80
1 changed files with 17 additions and 5 deletions

View File

@ -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).