Skip to content

Commit

Permalink
Merge pull request #1073 from ethereum/exec-spec-archives
Browse files Browse the repository at this point in the history
Bring in files from /executions-specs and re-order some folders.
  • Loading branch information
timbeiko committed Jun 12, 2024
2 parents 35f11cb + 4af9669 commit fb485b2
Show file tree
Hide file tree
Showing 65 changed files with 2,558 additions and 0 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
61 changes: 61 additions & 0 deletions Network-Upgrade-Archive/Berlin/YOLOv2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@

# Client Integration Testnet Specification - YOLOv2


**Disclaimer: This is for testing basic infrastructure. It will be nuked. It is not for deploying dapps, nor does it define what will go into mainnet. For information on network upgrades, please follow the relevant meta EIPs and ongoing discussion on Ethereum/pm.**


The specification for Ephemeral Testnet Yolo. Clients who wish to sync need to implement the following features into their client. It is for testing basic infrastructure and will be nuked.

## Specification

Name: Yolo
ID: `YOLO-v2`

- [x] [EIP-2537](https://eips.ethereum.org/EIPS/eip-2537) Commit Hash - [5edff4ae6ff62c7e0bbfad624fc3d0ba7dc84392](https://github.com/ethereum/EIPs/commit/5edff4ae6ff62c7e0bbfad624fc3d0ba7dc84392)
- [x] [EIP-2315](https://eips.ethereum.org/EIPS/eip-2315) Commit Hash - [e8accf22cdc5562d6982c560080c6cd6b7f94867](https://github.com/ethereum/EIPs/commit/e8accf22cdc5562d6982c560080c6cd6b7f94867)
- [x] [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929)

*[ ] Proposed - [x] Consensus to include.*
## Timeline

- Deployed:

## Client Consensus -> Implementation

YOLO-v1
| **Client** | Signal | Spec | Merged | Syncing |
|--------------|--------|------|--------|---------|
| Besu | x | x | x | x |
| EthereumJS | | | | |
| Geth | x | x | x | x |
| Nethermind | x | x | | |
| OpenEthereum | | | | |
| Trinity | | | | |

**Signal** -
Client intends to participate. *(You are on the bus)*

**Spec** -
Client is satisfied with the proposed specification. *(You agree with the direction)*

**Merge** -
Changes are implemented in the client and configurable for YOLO. *(You are ready to hit the gas and go)*

**Syncing**
Client syncs with the network

<!--
## Syncing Instructions
**Geth**
- Yolo V1 testnet is up and running https://yolonet.xyz/
- Support is baked into Geth master branch via --yolov1
- Genesis config json is at https://yolonet.xyz/yolo.json
- EF bootnode at enode://9e1096aa59862a6f164994cb5cb16f5124d6c992cdbf4535ff7dea43ea1512afe5448dca9df1b7ab0726129603f1a3336b631e4d7a1a44c94daddd03241587f9@35.178.210.161:30303
- Stats page secret is YOLOv1, with geth you can --ethstats='yournode:[email protected]'
- Faucet is unauthenticated, you can reach it from the dashboard
-->

## Copyright
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
51 changes: 51 additions & 0 deletions Network-Upgrade-Archive/Berlin/YOLOv3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@

# Client Integration Testnet Specification - YOLOv3


**Disclaimer: This is for testing basic infrastructure. It will be nuked. It is not for deploying dapps, nor does it define what will go into mainnet. For information on network upgrades, please follow the relevant meta EIPs and ongoing discussion on Ethereum/pm.**


The specification for Ephemeral Testnet Yolo. Clients who wish to sync need to implement the following features into their client. It is for testing basic infrastructure and will be nuked.

## Specification

Name: Yolo
ID: `YOLO-v3`

- [x] [EIP-2565](https://eips.ethereum.org/EIPS/eip-2565)
- [x] [EIP-2315](https://eips.ethereum.org/EIPS/eip-2315) Commit Hash - [e8accf22cdc5562d6982c560080c6cd6b7f94867](https://github.com/ethereum/EIPs/commit/e8accf22cdc5562d6982c560080c6cd6b7f94867)
- [x] [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929)
- [x] [EIP-2718](https://eips.ethereum.org/EIPS/eip-2718)
- [x] [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930)

*[ ] Proposed - [x] Consensus to include.*
## Timeline

- Deployed:

## Client Consensus -> Implementation

YOLO-v3
| **Client** | Signal | Spec | Merged | Syncing |
|--------------|--------|------|--------|---------|
| Besu | x | x | x | x |
| EthereumJS | x | x | x | x |
| Geth | x | x | x | x |
| Nethermind | x | x | x | x |
| OpenEthereum | x | x | x | x |


**Signal** -
Client intends to participate. *(You are on the bus)*

**Spec** -
Client is satisfied with the proposed specification. *(You agree with the direction)*

**Merge** -
Changes are implemented in the client and configurable for YOLO. *(You are ready to hit the gas and go)*

**Syncing**
Client syncs with the network

## Copyright
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
73 changes: 73 additions & 0 deletions Network-Upgrade-Archive/Berlin/berlin-retro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Berlin Retrospective
To describe the process of preparing, activating and error handling during the Berlin upgrade.

## OpenEthereum Mainnet Consensus Issue

OpenEthereum's postmortem on the consensus issue can be found [here](https://docs.google.com/document/d/18BhIEB7V_f_GkL8NZptxq-xadu5sb8QUzego8YVVMUM/edit#).

### Problematic Block Information
* Date and time (in UTC): Apr-15-2021 11:05:04 AM +UTC
* Block Number (Mainnet): 12244294
* Block Hash (Mainnet): 0x53c7b43c15c489b012053d156bc5ef95f3f5d498c2d01a0a3d9f3cc1dd007601
* Transaction: 0x7006f38fa2e6654fae1a781aefc5885fe0cb8f778b1add10636eaf7e34279247

### Timeline of Events

**April 15, 2021 (all times in UTC)**
* 11:12 AM: ["I think etherscan just went down"](https://discordapp.com/channels/595666850260713488/745077610685661265/832211783883423754) shared in Eth R&D discord by `Agusx1211`
* 11:17 AM: ["all our openethereum nodes just died"](https://discordapp.com/channels/595666850260713488/745077610685661265/832211783883423754) shared in Eth R&D discord by `Peter [beaconcha.in]`
* 11:30 AM: [Confirmation](https://discord.com/channels/595666850260713488/745077610685661265/832216373312618508) by `denisgranha` from the OpenEthereum team that OpenEthereum nodes are having an issue and that the team is investigating it.
* 12:21 PM: [Zoom link shared by OpenEthereum](https://discord.com/channels/595666850260713488/745077610685661265/832229172126547998) for other developers to help find the issue.
* 12:41 PM: Potential fix for the bug identified, [PR opened](https://github.com/openethereum/openethereum/pull/364).
* 12:41 PM - 3:30 PM: Testing of potential fix by deploying against nodes and syncing to the head of the chain. Preparation for official release.
* 3:36 PM: [Confirmation](https://twitter.com/OpenEthereumOrg/status/1382752559073529856) that the potential fix is working.
* 5:47 PM: [Announcement](https://twitter.com/OpenEthereumOrg/status/1382752559073529856) of OpenEthereum v3.2.3 which contains the fix for the issue.


### Suggested Corrective Action
[Discord Suggestion](https://discordapp.com/channels/595666850260713488/745077610685661265/832280444967190559):
> Client tests must be run against mainnet spec **directly**. Having separate test spec and mainnet spec could be the reason for slippage as fuzzing can't catch this bug.
> It probably increases CI time and extra development effort, since it needs to take into consideration of the whole mainnet genesis block, and will probably have to fake block numbers so that it passes the activation block. But it is important because The test spec or the ropsten spec doesn't have non-active precompile definitions.
On [AllCoreDevs 110](https://youtu.be/-H8UpqarZ1Y?t=732), a longer conversation about testing process improvements to catch such bugs in the future was had. The idea of having chain configurations on Hive be identical to mainnet was also noted as the only way to catch such an issue.

### Resources

A detailed Twitter thread about the issue: https://twitter.com/ralexstokes/status/1382750001026146304l.

## Besu Testnet Consensus Issue

TBA.

## Berlin Planning

### Upgrade summary
* Date and time (in UTC): Apr-15-2021 10:07:03 AM +UTC
* Block Number (Mainnet): 12244000
* Block Hash (Mainnet): 0x1638380ab737e0e916bd1c7f23bd2bab2a532e44b90047f045f262ee21c42b21
* Mined by: 0x1ad91ee08f21be3de0ba2ba6918e714da6b45836 (Hiveon Pool)

### Process of EIP selection

Berlin upgrade was following process described in [Shedding light on the Ethereum Network Upgrade Process](https://medium.com/ethereum-cat-herders/shedding-light-on-the-ethereum-network-upgrade-process-4c6186ed442c).

### Timeline - Backlog check
- May 15, 2020: Proposal, decision and initial selection of EIPs for Berlin to spin up an [ephemeral testnet YOLO](https://medium.com/ethereum-cat-herders/yolo-an-ephemeral-test-network-for-ethereum-356d43179b1a) in [ACD 87](https://www.youtube.com/watch?v=bGgzALuyY3w&t=4788s)
- May 19, 2020: [Meta EIP-2657](https://eips.ethereum.org/EIPS/eip-2657) created for ephemeral testnet YOLO
- May 29, 2020: Selection of EIPs, a decision on the state-test name as Yolo-v1 (and not Berlin) in [ACD 88](https://github.com/ethereum/pm/blob/5198ef636a0f2c443a5c99374563ef285b002b0e/All%20Core%20Devs%20Meetings/Meeting%2088.md#decisions-made)
- June 03, 2020: Finalized spec of EIPs for v1, commit hash [added](https://github.com/ethereum/EIPs/pull/2657/commits/fb2a20f2d87a272edf0925f1e347b36644268f9b) to YOLO meta EIP
- June 03, 2020: Yolo v-1 deployed with [Geth](https://twitter.com/peter_szilagyi/status/1268123563850170368)
- Jun 10, 2020: [Open Ethereum](https://twitter.com/vorot93/status/1270597961014218752) and [Besu](https://github.com/hyperledger/besu/pull/1051) joined the network.
- June 10, 2020: [YOLO stopped](https://twitter.com/peter_szilagyi/status/1270824487886426113). It went out of disk.
- June 11, 2020: YOLO is back as [YOLT (You only live twice)](https://twitter.com/peter_szilagyi/status/1270931154267504643)
- June 12, 2020: Restarted at AWS cloud
- June 12, 2020: Proposed EIPs for Yolo v2 in [ACD meeting 89](https://github.com/ethereum/pm/blob/master/All%20Core%20Devs%20Meetings/Meeting%2089.md#3-yolo-testnet-update)
- June 22: [yolov1 sealer/bootnode](https://gitter.im/ethereum/AllCoreDevs?at=5ef07f5cfa0c9221fc5288f9) is up with a new IP
- September 18: yolov2 EIP selection in [ACD 96](https://github.com/ethereum/pm/blob/master/All%20Core%20Devs%20Meetings/Meeting%2096.md#decisions-made)
- October 30, 2020: EIP-2537 is not considered for yolov3, and will be delayed until after the next hardfork, decided in [ACD 99](https://github.com/ethereum/pm/blob/master/All%20Core%20Devs%20Meetings/Meeting%2099.md#decisions-made)
- November 27, 2020: EIP-2930 & EIP-2718 added to Berlin EIPs, decided in [ACD 1010](https://github.com/ethereum/pm/blob/master/All%20Core%20Devs%20Meetings/Meeting%20101.md#summary)
- March 08, 2021: Ethereum Berlin Upgrade [Announcement](https://blog.ethereum.org/2021/03/08/ethereum-berlin-upgrade-announcement/)
- Mar 10, 2021: Ropsten at block #9 812 189
- Mar 17, 2021: Goerli at block #4 460 644
- Mar 24, 2021: Rinkeby at block #8 290 928
- Apr 15, 2021: Mainnet at block #12 244 000
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
121 changes: 121 additions & 0 deletions Network-Upgrade-Archive/London/aleut.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# Client Integration Testnet Specification - Aleut

**Disclaimer: This network will soon be shut down in favor of [Baikal](/network-upgrades/client-integration-testnets/baikal.md).**

The specification for the Aleut Client Integration Tesnet. Clients who wish to sync need to implement the following features into their client. It is for testing basic infrastructure and will be deprecated.

## Specification

**Name:** Aleut

**ID:** `Aleut`

**ChainId:** `7822` # The deepest part of the Aleutian trench has been measured at 7,822 metres

**Genesis File:**

<details>
<summary>aleut.json</summary>

```json
{
"config":{
"chainId":7822,
"homesteadBlock":0,
"daoForkSupport":false,
"eip150Block":0,
"eip155Block":0,
"eip158Block":0,
"byzantiumBlock":0,
"constantinopleBlock":0,
"petersburgBlock":0,
"istanbulBlock":0,
"muirGlacierBlock":0,
"berlinBlock":0,
"aleutBlock":10,
"clique":{
"blockperiodseconds":15,
"epochlength":30000
}
},
"difficulty":"0x400",
"extraData":"0x000000000000000000000000000000000000000000000000000000000000000036267c845cc42b57ccb869d655e5d5fb620cc69a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"gasLimit":"0x1312D00",
"alloc":{
"fe3b557e8fb62b89f4916b721be55ceb828dbd73":{
"balance":"90000000000000000000000"
},
"627306090abaB3A6e1400e9345bC60c78a8BEf57":{
"balance":"90000000000000000000000"
},
"f17f52151EbEF6C7334FAD080c5704D77216b732":{
"balance":"90000000000000000000000"
},
"b8c3bfFb71F76BeE2B2f81bdBC53Ad4C43e3f58E":{
"balance":"90000000000000000000000"
},
"0x60AdC0F89a41AF237ce73554EDe170D733ec14E0":{
"balance":"90000000000000000000000"
}
}
}

```
</details>

**Static Nodes:**

<details>
<summary>static-nodes.json</summary>

```json
[
"enode://0c72e2b7873e4342d725b5990c17adb2b159aad2ff5853de7e4910b25522a1f9e78f9cd802a8a3225b8fae4e994e522b50d6bd5a163eb3a7b49a0a73ca9a1c7e@3.12.166.199:30303",
"enode://aec88fd902744bf67705c098bf532b01017ccc3a156395508e2d9c4e7c22699ecccae1e7316614f8a2d4c5698a9be3fe6151ee25b9ed4aa052f88e112c65387a@164.90.171.157:31559",
"enode://8e6788508278e514268307f27528ffabd6c86e755b0abd5ef170502b6444b35231dd0c7183e902c6a566c650104fdcfa58c6de28b54533f3dc243af444a60f51@quilt.link:30308"
]
```
</details>

**Included EIPs:**
- [x] [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) Commit Hash - [79f4fe6cbe0d323dfac7412270c6e8cf33e62af3](https://github.com/ethereum/EIPs/commit/79f4fe6cbe0d323dfac7412270c6e8cf33e62af3)
- [x] [EIP-3198](https://eips.ethereum.org/EIPS/eip-3198) Commit Hash - [081db1a6614e523dd791691cff7016e32c369912](https://github.com/ethereum/EIPs/commit/081db1a6614e523dd791691cff7016e32c369912)

## Client Consensus -> Implementation

| **Client** | Repo | Signal | Spec | Merged | Syncing |
|--------------|--------------------------|--------|------|--------|---------|
| Besu | [URL][besu-repo] | x | x | x | x |
| Geth | [URL][geth-repo] | x | x | | x |
| Nethermind | [URL][nethermind-repo] | x | x | x | x |
| OpenEthereum | [URL][openethereum-repo] | x | x | | |
| EthereumJS | [URL][ethereumjs-repo] | x | x | | |
| TurboGeth | [URL][turbogeth-repo] | x | x | x | x |


**Signal** -
Client intends to participate. *(You are on the bus)*

**Spec** -
Client is satisfied with the proposed specification. *(You agree with the direction)*

**Merge** -
Changes are implemented in the client and configurable for the network. *(You are ready to hit the gas and go)*

**Syncing**
Client syncs with the network

## Syncing Instructions:

TBA

## Copyright
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).


[besu-repo]: https://github.com/hyperledger/besu
[geth-repo]: https://github.com/ethereum/go-ethereum
[nethermind-repo]: https://github.com/NethermindEth/nethermind
[openethereum-repo]: https://github.com/openethereum/openethereum
[ethereumjs-repo]: https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client
[turbogeth-repo]: https://github.com/ledgerwatch/turbo-geth
Loading

0 comments on commit fb485b2

Please sign in to comment.