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?

Schlesi fork


  • This comment will be deleted. "Technical" is bolded to minimize popular media reports that are incomplete or inaccurate.
    – eth
    May 20, 2020 at 4:01

1 Answer 1


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.

Client Fixes

Steps taken to resolve:

  • All clients have fixed the bug.
  • The latest spec v0.12.0 has refactored balance calculations so they're easier to test. More tests have been added.
  • The offending blocks and states have been added to beacon-fuzz (eth2 fuzzer) to help protect against regression and find related bugs.

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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.