Testnets, testnets, testnets!
- Medalla multi-client testnet launch date set 🚀
- Initial beta attacknets are up. Calling all whitehats 👩🍳
- Exciting progress on the eth1+eth2 merger 👊
Following the excellent stability of Altona and based on conversations with eth2 client teams, Medalla - the next multi-client testnet - will have a MIN_GENESIS_TIME of 1596546000 (or for those of you that don't think in unix time -- August 4th, 2020, 1pm UTC)!
This is a major step up from Altona in the sense that Medalla is a testnet built for and maintained by the community. The multi-client testnets prior to Medalla were considered "devnets", run primarily by client teams and members of the EF (see the Altona section of my last post for a more complete explanation), but with the launch of this network, the stability and health of the chain will be almost entirely in the community's hands (your hands ✋🤞🤟!).
Note that MIN_GENESIS_TIME is the earliest the chain can start, but the chain won't start until the minimum validator count has also been reached. In order to stay faithful to the mainnet spec, Medalla will start with no fewer than 16,384 validators (524,288 ETH). In the event that minimum deposits (16,384 of them) are not met by 1pm UTC on August 2nd (48 hours prior to min genesis), the chain will start later than MIN_GENESIS_TIME. This is okay.
In sum, genesis will happen 48 hours after both conditions are met. We'll all be on our toes, watching deposits, and when the genesis time is known, we will make a bunch of noise about it 🎉
We'll also be releasing a version of the validator "Launchpad" for Medalla -- an educational interface for validators to make deposits. More details on this are imminent
We'll have no fewer than four clients fully running at genesis -- lighthouse, nimbus, prysm, and teku. As usual, we strongly encourage client diversity to add strength and resilience to the network (see discussion of eth2's many clients). Please don't hesitate to check out client docs, mess with compilation and configuration, and drop by their discord servers to ask questions :)
In addition to the four clients listed above, I fully expect lodestar to be on net in some capacity at the start, and we might even have another surprise client join the mix.
Another exciting announcement: Medalla will have special POAPs for those who participate in the launch! Stay tuned for more details 🏅
Attacknets beta-0 launch
Calling all whitehat 1337 h4x0rz👩🍳!
Three attacknets were launched this week (lighthouse-attack-0, prysm-attack-0, and teku-attack-0), each with a $5k bounty to bring it down (that is, disrupt finality for at least 16 continuous epochs).
These initial attacknets are purposefully simple (1 client each) and small (4 nodes each) so they should be pretty easy to take down. Check out the README for more details and notes on getting started, and join the Eth R&D #attacknets channel for dicussion and tips.
Following the beta-0 attacknets, we'll scale up the size and complexity of attacknets as well as add more complex challenges with larger bounties.
Oh! and an honorable mention 🏆 goes out to Jonny (TXRX) for managing to take down lighthouse-attack-0's discovery. Although this did not crash the finality of the testnet, he discovered a critical bug! Thank you Age (Sigma Prime) for the quick fix.
eth1+eth2 merger progress update
I want to give a quick update on the eth1+eth2 merger progress and to give a huge shout-out to Mikhail (TXRX) and Guillaume (geth) for their excellent work.
The current vision of the future of Ethereum is for the current chain to be integrated into the new eth2 consensus as a shard. This is the marriage of eth2 clients (consensus) with eth1 clients (highly optimized user layer) into a single system. The high level on the client relationship can be found here; a more detailed scope of the merger discussed by Mikhail is here; and a discussion of the architecture of a geth based eth1-engine (called Catalyst) by Guillaume is here.
Since the above posts were written, Mikhail and Guillaume have been busy turning these concepts into reality. Guillaume's Catalyst -- a version of geth which defers its consensus to RPC calls (i.e. an eth2 client) -- is built and ready to go; and Mikhail's Phase 1 implementation is running fully sharded eth2 simulations with select shards deferring block production and validity calls to a local, stubbed eth1-engine.
The next step is to plug these two pieces together for an end-to-end eth1+eth2 simulation!
Again, great work Mikhail and Guillaume. I'm incredibly excited about this and the fact that it's happening in parallel to the imminent launch of the beacon chain 🚀