eth2 quick update no. 8
eth2 Quick Update No. 8: A Comprehensive Look at the Latest Developments
Audit and Formal Verification of Deposit Contract Bytecode
The eth2 community has made significant progress in the past month, with a major milestone achieved in the audit and formal verification of the deposit contract bytecode. Runtime Verification, a leading provider of formal verification services, has completed the audit and verification of the eth2 deposit contract bytecode. This is a crucial step towards the eth2 Phase 0 mainnet launch.
The formal semantics specified in the K Framework define the precise behaviors the EVM bytecode should exhibit and prove that these behaviors hold. These include input validations, updates to the iterative merkle tree, logs, and more. The community is encouraged to review and comment on the formal specification, which can be found on the eth2 specs repo.
The Word of the Month: Optimization
The past month has been all about optimizations. While a 10x optimization here and a 100x optimization there may not feel tangible to the Ethereum community today, this phase of development is just as important as any other in getting us to the finish line.
Beacon chain optimizations are critical, as the beacon chain is a requisite component for the rest of the sharded system. To sync any shard, whether it be a single shard or many, a client must sync the beacon chain. Thus, to be able to run the beacon chain and a handful of shards on a consumer machine, it is paramount that the beacon chain is relatively low in resource consumption even when high validator participation (~300k+ validators).
Lighthouse and Prysmatic Testnets
Lighthouse has made significant progress in optimizing their client to run 100k validators like a breeze. After an attestation gossip relay loop caused the nodes to essentially DoS themselves, Sigma Prime quickly patched the bug and looked to bigger and better things – i.e. a 100k validator testnet! The past two weeks have been dedicated to optimizations to make this real-world scale testnet a reality.
A goal of each progressive Lighthouse testnet is to ensure that thousands of validators can easily run on a small VPS provisioned with 2 CPUS and 8GB of RAM. Initial tests with 100k validators saw clients use a consistent 8GB of RAM, but after a few days of optimizations, Paul was able to reduce this to a steady 2.5GB with some ideas to get it even lower soon. Lighthouse also made 70% gains in the hashing of state, which along with BLS signature verification is proving to be the main computational bottleneck in eth2 clients.
Prysmatic testnet has also seen significant improvements, with over 35k active validators and a sync speed of more than 20 blocks/second. This greatly improves validator UX, allowing them to connect and start contributing to the network much faster.
Proto_array: A New Fork Choice Algorithm
Proto_array is a new fork choice algorithm that has been implemented in Lighthouse and Prysmatic. It has proven to run in orders of magnitude less time and perform significantly less database reads. This algorithm is quickly becoming a crowd favorite, and it is expected to see other teams pick it up soon!
Ongoing Phase 2 Research
Phase 2 of eth2 is the addition of state and execution into the sharded eth2 universe. Quilt, eWASM, and TXRX are dedicating a portion of their efforts towards Phase 2 research. There are many open questions and design spaces to explore, including state provider models, netted balance maps for cross-shard transfers, and fee markets for Phase 1 shard data.
Whiteblock Releases Libp2p Gossipsub Test Results
Whiteblock has released libp2p gossipsub testing results as the culmination of a grant co-funded by ConsenSys and the Ethereum Foundation. The results look solid, but further tests should be performed to better observe how message propagation scales with network size.
Stacked Spring!
This Spring is stacked with exciting conferences, hackathons, eth2 bounties, and more! There will be a group of eth2 researchers and engineers at each of these events. Please come chat! We'd love to talk to you about engineering progress, validating on testnets, what to expect this year, and anything else that might be on your mind.
Conclusion
The eth2 community has made significant progress in the past month, with a major milestone achieved in the audit and formal verification of the deposit contract bytecode. The community is encouraged to review and comment on the formal specification, which can be found on the eth2 specs repo. The past month has been all about optimizations, and the beacon chain optimizations are critical. Lighthouse and Prysmatic testnets have seen significant improvements, and proto_array is a new fork choice algorithm that has proven to be efficient. Phase 2 research is ongoing, and there are many open questions and design spaces to explore. Whiteblock has released libp2p gossipsub testing results, and this Spring is stacked with exciting conferences, hackathons, eth2 bounties, and more!
Source: https://blog.ethereum.org/en/2020/02/04/eth2-quick-update-no-8




