-
-
Published
Linked with GitHub
# Merge Implementers call
Date: 17 June
Agenda: https://github.com/ethereum/pm/issues/340
## Start
Mikhail: working on Merge transition implementation in Teku.
Next step is to start a local PoW testnet, and run the transition.
We can reuse rayonism scripts to setup nodes, and use the Geth PR of Gary to apply the transition on the execution side.
## Spec polishing
Justin polished some of the Merge spec, see https://github.com/ethereum/eth2.0-specs/pull/2472
No major changes, but breaking (e.g. execution payload field re-order).
## Randao
RANDAO could be send directly to EVM context, not embedded in the execution payload. (it's part of the Beacon State).
We have to change `DIFFICULTY` regardless, it could be used for RANDAO, or set to constant 1.
Micah: If `DIFFICULTY` becomes randao, do we have to change it later?
A: randomness source may change again (VDF), so `RANDAO` is misleading. Naming it `RANDOM` may be better.
We use full `256` bits of randao mix. Potential source of bugs (overflow, difficulty wasn't as large).
Tomasz: AuRa uses uint256 (Open Ethereum and Nethermind support it)
Danny: we'll need an EIP for `DIFFICULTY` -> constant/random change
## Where specs go
Tim Beiko:
- EIPs for eth1 changes
- Work in progress Eth2-like spec for Eth1, but don't wait for that
- Need to track a list of changes, also to answer "when-merge?"
Danny:
- fork eth1-executable spec
- track EIPs
- Maybe start with informational EIP, like with phase0
Tim Beiko:
- Network syncing doesn't all have
Micah: EIPs are not a non-technical documentation place. It's just technical specs.
Tim: we need a wrapper/list to define the Merge. Some things can live in EIPs.
Mikhail/Tim: timeline doesn't work well, checkboxes can help track progress.
Micah: split up the eth1 consensus changes in more EIPs. Large monolithic EIP can get stuck on bike-shedding.
Micah/Danny: list of things first, then find balance.
Mikhail/Tim: start with combined document, then split up when themes/times are clear.
## Post-research
Research is near-completion, but then more implementation left. State-sync, API, etc.
Also organize testing. Hive, test-vectors, etc.
And soon rebase Merge work on Altair, and try to do this move in-sync with all Merge implementers.