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?
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?
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.