Prove characteristics of test environments such as the latest fork version
This project aims to prove characteristics of test environments on order to have more trust that these environments behave as expected. The challenge with test environments is that they could behave very differently than the mainnet. Using ZKP, it allows to prove characteristics without having to re-run any of these tests on the environment. For simplicity, we focus only on the Capella fork in this project but it can be expanded to other features as well.
We used Kurtosis to set up private networks. We configured networks to only schedule the Capella fork at a later epoch. We then developed a circuit that models stake withdrawals and created a proof that a certain environment has the Capella fork if it exists. We then developed a verifier that makes sure that this proof is valid. Future plans include that this smart contract potentially executes a limited version of the conducted test in order to get even more trust into the validity of the proof.