Skip to content

Commit 4bd90de

Browse files
Merge pull request #2 from ethereum/master
Updating fork
2 parents 2b6dd98 + 2f3fa28 commit 4bd90de

File tree

8 files changed

+3255
-0
lines changed

8 files changed

+3255
-0
lines changed

All Core Devs Meetings/Meeting 116.md

Lines changed: 372 additions & 0 deletions
Large diffs are not rendered by default.

All Core Devs Meetings/Meeting 117.md

Lines changed: 1259 additions & 0 deletions
Large diffs are not rendered by default.

All Core Devs Meetings/Meeting 118.md

Lines changed: 548 additions & 0 deletions
Large diffs are not rendered by default.

Merge/Meeting 06.md

Lines changed: 335 additions & 0 deletions
Large diffs are not rendered by default.

Merge/Meeting 7.md

Lines changed: 604 additions & 0 deletions
Large diffs are not rendered by default.

Merge/mainnet-readiness.md

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
# The Merge Mainnet Readiness Checklist
2+
3+
This document outlines various tasks to work through to make the Merge ready for Mainnet release.
4+
5+
*Note*: The set of items is not final and will be aligned with ongoing R&D and implementation work.
6+
7+
## Table of contents
8+
9+
<!-- TOC -->
10+
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
11+
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
12+
13+
- [Specification](#specification)
14+
- [Consensus layer](#consensus-layer)
15+
- [Execution layer](#execution-layer)
16+
- [Consensus API](#consensus-api)
17+
- [Public facing documents](#public-facing-documents)
18+
- [Testing](#testing)
19+
- [Unit tests](#unit-tests)
20+
- [Integration tests](#integration-tests)
21+
- [Stress tests](#stress-tests)
22+
- [Fuzzing](#fuzzing)
23+
- [Testnets](#testnets)
24+
- [R&D](#rd)
25+
26+
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
27+
<!-- /TOC -->
28+
29+
## Specification
30+
31+
### Consensus layer
32+
33+
* [x] Specs feature complete
34+
* [x] Transition process specified [#2462](https://github.com/ethereum/eth2.0-specs/pull/2462)
35+
* [x] Ensure structural conformance with existing specs [#2472](https://github.com/ethereum/eth2.0-specs/pull/2472)
36+
* [x] Rebase with Altair [#2530](https://github.com/ethereum/eth2.0-specs/pull/2530)
37+
* [x] Rebase with London (update `ExecutionPayload`) [#2533](https://github.com/ethereum/eth2.0-specs/pull/2533)
38+
* [ ] Consider weak subjectivity period implications
39+
* [ ] P2P spec (primarily just version bumping topics for new types)
40+
* [ ] Upgrade [`eth2.0-apis`](https://github.com/ethereum/eth2.0-apis) to handle new types
41+
* [ ] [BONUS] Annotated specs
42+
43+
### Execution layer
44+
45+
* [x] High level [design doc](https://hackmd.io/@n0ble/ethereum_consensus_upgrade_mainnet_perspective)
46+
* [x] [Rayonism spec](https://github.com/ethereum/rayonism/blob/master/specs/merge.md)
47+
* [ ] EIPs
48+
* [ ] EVM `DIFFICULTY` -> `RANDOM`
49+
* [ ] EVM `BLOCKHASH` [unchanged but weaker randomness documented in PoW -> PoS transition EIP]
50+
* [ ] [IN PROGRESS] Transition process (Draft EIP -- [#3675](https://github.com/ethereum/EIPs/pull/3675))
51+
* [ ] Network -- devp2p
52+
* [ ] Block gossip deprecation
53+
* [ ] State sync post-merge
54+
* [ ] Block sync post-merge
55+
* [ ] Discovery
56+
* [ ] Upgrade JSON-RPC ([`eth1.0-apis`](https://github.com/ethereum/eth1.0-apis)) with new methods and deprecations
57+
* [ ] [BONUS] Executable [`eth1.0-specs`](https://github.com/ethereum/eth1.0-specs/pull/219) and testing through the Merge
58+
59+
### Consensus API
60+
61+
* [x] Basic JSON-RPC extension, [link](https://github.com/ethereum/rayonism/blob/master/specs/merge.md#consensus-json-rpc) (used in rayonism)
62+
* [ ] Production refinements
63+
* [ ] Support execution-layer state sync
64+
* [ ] Support async block insert
65+
* [ ] Consider support for `Consensus <-> Execution` consistency (e.g. recover from crash or bad insert on execution layer)
66+
* [ ] Consider bi-directional communication
67+
* [ ] ...
68+
* [ ] Discuss JSON-RPC vs websockets vs restful http
69+
* [ ] Migrate to [eth1.0-specs](https://github.com/ethereum/eth1.0-specs) or other permanent home
70+
* [ ] Test vectors?
71+
72+
### Public facing documents
73+
74+
* [ ] Merge architecture design document
75+
* [ ] Infrastructure provider guide
76+
* [ ] Rename eth1/eth2 to execution/consensus across repos and documentation
77+
* [ ] [BONUS] Consider relationship between execution and consensus spec/API repos and build processes
78+
79+
## Testing
80+
81+
### Unit tests
82+
83+
* [ ] Consensus
84+
* [x] Inherit all prior unit tests and generators
85+
* [ ] [IN [PROGRESS](https://github.com/ethereum/eth2.0-specs/tree/dev/tests/core/pyspec/eth2spec/test/merge)] Merge specific tests with mocked execution-layer
86+
* [ ] Fork and fork-choice tests across merge boundary
87+
* [ ] Execution
88+
* [ ] Reuse existing framework for most prior EVM unit tests
89+
* [ ] New `DIFFICULTY` opcode tests
90+
91+
### Integration tests
92+
93+
* [ ] Transition process tests with fully enabled consensus and execution layer
94+
* [ ] Consensus-layer vectors with fully enabled execution-layer
95+
* [ ] Hive with all client combos
96+
* [ ] Hive or something else for suite of consensus+execution integration tests
97+
98+
### Stress tests
99+
100+
* [ ] Single client load/metrics
101+
* [ ] Network load testing
102+
103+
### Fuzzing
104+
105+
* [ ] Beacon-fuzz applied to merge ready consensus clients
106+
* [ ] Existing EVM fuzzing infra applied to merge ready execution engines
107+
108+
## Testnets
109+
110+
* [ ] Short-lived devnets without transition process
111+
* [ ] Short-lived devnets *with* transition process
112+
* [ ] Long-lived devnets
113+
* [ ] Fork public testnets
114+
115+
## R&D
116+
117+
Most research has been completed. Only listing things still left to dig deeper into
118+
119+
* [ ] Transition process analysis
120+
* [ ] Simulate PoW network partitioning
121+
* [ ] Evaluate precision of TD computation on historic data
122+
* https://ethresear.ch/t/using-total-difficulty-threshold-for-hardfork-anchor-what-could-go-wrong/10357
123+
* [ ] Execution-layer sync
124+
* [x] Historic block sync (reverse header then forward body)
125+
* [ ] Historic state sync
126+
* [ ] Sync during transition period
127+
* [ ] Discovery [is there actually anything to do here?]
128+
* [ ] Execution-layer proof of custody
129+
* [ ] Further threat analysis
130+
* [ ] Miner attacks
131+
* [ ] Resource exhaustion post-merge

Merge/merge.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ The purpose of thess calls is for various teams/individuals working on aspects o
1212
003 | Merge Implementers' Call 3| Apr 29 2021 | [🔗](https://github.com/ethereum/pm/issues/305) | TBA | [Youtube](https://www.youtube.com/watch?v=KAm718N_bvA) |
1313
004 | Merge Implementers' Call 4| May 13 2021 | [🔗](https://github.com/ethereum/pm/issues/316) | TBA | [Youtube](https://www.youtube.com/watch?v=uzjhLPtvTMQ) |
1414
005 | Merge Implementers' Call 5| Jun 03 2021 | [🔗](https://github.com/ethereum/pm/issues/290) | TBA | [Youtube](https://www.youtube.com/watch?v=j61FqoQwEHo) |
15+
006 | Merge Implementers' Call 6| Jun 17 2021 | [🔗](https://github.com/ethereum/pm/issues/340) | TBA | [Youtube](https://youtu.be/b5gh0Mw2oPU) |
16+
007 | Merge Implementers' Call 7| JUl 01 2021 | [🔗](https://github.com/ethereum/pm/issues/345) | TBA | [Youtube](https://www.youtube.com/watch?v=6d944TCNpqc&t=523s) |
1517

1618
### Who Can Attend
1719
The meeting is open to all client developers and community members researching or implementing the merge. The meeting notes are made available to the public, and meeting are recorded and uploaded to the [Ethereum Foundation Youtube Channel](https://www.youtube.com/channel/UCNOfzGXD_C9YMYmnefmPH0g).

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ The meetings are independent of any organization. However, Tim Beiko is a contra
2828

2929
№ | Date | Agenda |Notes | Recording |
3030
--- | -------------------------------- | -------------- |-------------- | -------------------- |
31+
119 | Friday 6 August at 14:00 UTC | [agenda](https://github.com/ethereum/pm/issues/365) | [notes](All%20Core%20Devs%20Meetings/Meeting%20119.md) \| [Twitter](https://twitter.com/TimBeiko/status/1418618923172261892?s=20) | [video](https://www.youtube.com/watch?v=jNxAB3WpAD0&ab_channel=EthereumFoundation) |
32+
118 | Friday 23 July at 14:00 UTC | [agenda](https://github.com/ethereum/pm/issues/354) | [notes](All%20Core%20Devs%20Meetings/Meeting%20118.md) \| [Twitter](https://twitter.com/TimBeiko/status/1418618923172261892?s=20) | [video](https://youtu.be/tjvviOLy0hw) |
33+
117 | Friday 09 July at 14:00 UTC | [agenda](https://github.com/ethereum/pm/issues/340) | [notes](All%20Core%20Devs%20Meetings/Meeting%20116.md) \| [Twitter]() | [video](https://youtu.be/b5gh0Mw2oPU) |
34+
116 | Friday 25 June at 14:00 UTC | [agenda](https://github.com/ethereum/pm/issues/337) | [notes](All%20Core%20Devs%20Meetings/Meeting%20116.md) \| [Twitter](https://twitter.com/TimBeiko/status/1408459851349467136) | [video](https://www.youtube.com/watch?v=uhvhfxiC-NA) |
3135
115 | Friday 11 June at 14:00 UTC | [agenda](https://github.com/ethereum/pm/issues/330) | [notes](All%20Core%20Devs%20Meetings/Meeting%20115.md) \| [Twitter](https://twitter.com/TimBeiko/status/1403390897614561282) | [video](https://www.youtube.com/watch?v=XYhN26UrJ5o) |
3236
114 | Friday 28 May at 14:00 UTC | [agenda](https://github.com/ethereum/pm/issues/321) | [notes](All%20Core%20Devs%20Meetings/Meeting%20114.md) \| [Twitter](https://twitter.com/TimBeiko/status/1398329483434741762) | [video](https://www.youtube.com/watch?v=7MSYLbn-Xro&ab_channel=EthereumFoundation) |
3337
113 | Thursday 14 May at 13:00 UTC | [agenda](https://github.com/ethereum/pm/issues/309) | [notes](All%20Core%20Devs%20Meetings/Meeting%20113.md) \| [Twitter](https://twitter.com/TimBeiko/status/1393230961890906115) | [video](https://youtu.be/ODcNpWiLASk) |

0 commit comments

Comments
 (0)