Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creates "Fix block reward at 2 ETH" EIP. #1277

Closed
wants to merge 4 commits into from
Closed

Creates "Fix block reward at 2 ETH" EIP. #1277

wants to merge 4 commits into from

Conversation

MicahZoltu
Copy link
Contributor

Simple Summary

Changes the block reward to be a fixed amount per block of 2 ETH.

Abstract

As of FORK_BLOCK_NUMBER, set the block reward to 2 ETH and the Uncle and Nephew reward following the same formula as before.

Motivation

There has been an expectation of block reward reduction up to now as a side effect of the ice age. If the Ice Age is removed or delayed, there will be an increase in block reward per time. This change makes the most sense on a chain that removes or delays the Ice Age, but it can be implemented on a chain in isolation.

Specification

new_block_reward = 2_000_000_000_000_000_000 if block.number >= FORK_BLOCK_NUMBER else block.reward

(2E18 attoeth, or 2,000,000,000,000,000,000 attoeth, or 2 ETH).

If an uncle is included in a block for block.number >= FORK_BLOCK_NUMBER 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-fork formula for uncle rewards, simply adjusted with new_block_reward.

The nephew reward for block.number >= FORK_BLOCK_NUMBER is

new_nephew_reward = new_block_reward / 32

This is the existing pre-fork formula for nephew rewards, simply adjusted with new_block_reward.

Rationale

This change will keep ETH issuance per day stable with pre-fork values in the face of a permanent decrease in blocks per day down to 15 seconds per block.

If there is a desire to keep ETH issuance per day stable in the face of decreasing blocks per day then this EIP is not a good solution and another EIP should be implemented that adjusts the block reward formula to be a function of time rather than a function of block number.

## Simple Summary
Changes the block reward to be a fixed amount per block of 2 ETH.

## Abstract
As of FORK_BLOCK_NUMBER, set the block reward to 2 ETH and the Uncle and Nephew reward following the same formula as before.

## Motivation
There has been an expectation of block reward reduction up to now as a side effect of the ice age.  If the Ice Age is removed or delayed, there will be an increase in block reward per time.  This change makes the most sense on a chain that removes or delays the Ice Age, but it can be implemented on a chain in isolation.

## Specification
```
new_block_reward = 2_000_000_000_000_000_000 if block.number >= FORK_BLOCK_NUMBER else block.reward
```
(2E18 attoeth, or 2,000,000,000,000,000,000 attoeth, or 2 ETH).

If an uncle is included in a block for `block.number >= FORK_BLOCK_NUMBER` 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-fork formula for uncle rewards, simply adjusted with `new_block_reward`.

The nephew reward for `block.number >= FORK_BLOCK_NUMBER` is
```
new_nephew_reward = new_block_reward / 32
```
This is the existing pre-fork formula for nephew rewards, simply adjusted with `new_block_reward`.

## Rationale
This change will keep ETH issuance per day stable with pre-fork values in the face of a permanent decrease in blocks per day down to 15 seconds per block.

If there is a desire to keep ETH issuance per day stable in the face of decreasing blocks per day then this EIP is not a good solution and another EIP should be implemented that adjusts the block reward formula to be a function of time rather than a function of block number.
@axic
Copy link
Member

axic commented Oct 15, 2018

Should this be merged and or just closed since EIP-1234 apparently also sets it to 2 ETH and is part of Constantinople.

@MicahZoltu
Copy link
Contributor Author

Closing this since EIP-1276 was merged.

Note: I still think that 1276 should not have bundled two changes into a single EIP, just like laws in a traditional legal system should not bundle tax changes in with new regulations.

@MicahZoltu MicahZoltu closed this Mar 9, 2019
@MicahZoltu MicahZoltu deleted the patch-2 branch March 9, 2019 05:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants