The Schlesi testnet was the first multiclient testnet for ETH2 clients. Lighthouse, Prysm, Teku were in consensus before it forked.
What were the causes of the forks? Is there a technical post mortem report on it?
Ethereum Stack Exchange is a question and answer site for users of Ethereum, the decentralized application platform and smart contract enabled blockchain. It only takes a minute to sign up.
Sign up to join this communityThe Schlesi testnet was the first multiclient testnet for ETH2 clients. Lighthouse, Prysm, Teku were in consensus before it forked.
What were the causes of the forks? Is there a technical post mortem report on it?
What were the causes of the forks?
There were some issues relating to rewards/penalties calculation. Both Lighthouse and Prysm were incorrectly computing the validator balances.
Interestingly, Lighthouse, Prysm and ZCLI (reference spec implementation in Go) all computed different values, the result of multiple unrelated issues. Teku stayed faithful to the specification.
v0.12.0
has refactored balance calculations so they're easier to test. More tests have been added.Side note: this fork highlighted an interesting balance calculation quirk in the spec when the network isn't reaching finality. The specification was changed here.