The ethereum 2.0 deposit contract has passed the last hurdle with an end to end formal verification by the aptly named Runtime Verification.
“All the bugs of the deposit contract have been reported, confirmed, and properly fixed in the latest version (v0.10.0),” they conclude.
There were some subtle bugs, some of which had to do with the compiler, but they’ve now all been addressed with the release of version 0.10 just over a week ago.
That means the deposit contract is now good to go, with it unclear whether it will launch on testnet first or straight to mainnet. That’s because last month Danny Ryan, the eth 2.0 coordinator, said:
“Runtime Verificaton will be publishing their full formal verification, analysis, and report within the month. Once that is published, we can deploy the contract.”
Ryan further confirmed today the formal verification was the last hurdle, stating:
“This is the primary audit/verification. The contract and the formal verification work is now for public review. I’ll be explicitly requesting review from some teams/individuals and will make a call out for it in my next blog post.”
The very detailed formal verification report is now out, with no other audit planned for the deposit contract and with little else left to do as far as this specific code is concerned save for some final peer review. So it may well be time for a countdown with a few things still left.
We’re waiting for two audits of the Beacon Chain code, both expected in February. Those audits will probably need some changes which are to be addressed in version 0.11. And that’s that.
The full on testnet might launch before these audits with a genesis block. As far as we are aware they were kind of waiting for this deposit contract first, so they may launch before version 0.11 or might wait for the audits.
Boneless testnets are out with some 22,000 validators in just one client and many are preparing for staking services and the like.
These single client testnets might start connecting to each other in a prelude to the testnet genesis block.
Our out of nothing estimate for the testnet genesis block is now next month with it needing three months to run.
So this could potentially go out in May, with the countdown having five milestones. The launch of the deposit contract, bonefull testnet, v0.11 release, the version 1 greenlight, and then finally the actual genesis block launch that brings Proof of Stake to life.