mirror of https://github.com/status-im/EIPs.git
Wording and formatting.
This commit is contained in:
parent
0b12843702
commit
5fd71ef0de
|
@ -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).
|
||||
|
||||
|
|
Loading…
Reference in New Issue