The deposit smart contract for Ethereum 2.0 has completed formal verification and audit of the bytecode. Continued optimizations to ETH 2.0’s beacon chain are also underway.
Ethereum 2.0 is Getting Closer to Reality
Formal Verification (FV) is essential to production software development. FV is a method of analyzing the code semantics to make sure they adhere to certain properties. Many of the vulnerabilities in smart contracts are semantic errors in the code that allow undesired outcomes of code execution. This means glitches like the DAO hack can happen, contrary to the intentions of the creator of the smart contract.
Ethereum just finished its FV analysis of the Ethereum 2 deposit smart contract bytecode. Bytecode is a low-level code that runs in the Ethereum Virtual Machine (VM). The Ethereum VM takes code written in Solidity and then translates and runs it in the VM as bytecode. Having an audit of this code for ETH 2.0’s deposit contract is a big step forward.
Continued work on Ethereum 2’s beacon chain optimizations is also taking place. The beacon chain is the main reference chain that ETH 2’s shards will sync too. To allow for better scaling, the ETH 2 blockchain will be broken into pieces called shards, each like a mini-blockchain, which handles a subgroup of the total amount of transactions. Each shard will need to sync to this main beacon chain to stay in sync with every other shard.
Ethereum 2.0’s Lighthouse testnet recently patched a bug and was able to run 100K validator nodes, without any issues. Prysm test net, another implementation has successfully run with 35,000 validator nodes.
Core Spec Also on the Path to Mainnet
Ethereum’s core spec is like a rough draft of the entire codebase, it describes how the code should properly function. At critical junctures in the code, ETH devs have been adding various different implementation choices, and the tradeoffs involved. This allows them to carefully weigh and consider each design choice implemented in the ETH 2 codebase.
The code in the spec is not optimized for performance, but to allow developers to consider just how their clients will need to be designed to accomplish the performance goals laid out in the spec. After the final design decisions have been made, the developers can then implement a sophisticated algorithm that allows a client to efficiently become optimized.
Consensys and The Ethereum Foundation (EF) have both been working on phase two development for Ethereum 2. Phase two is adding state and execution to the Ethereum shards. This is developing methods and standards for cross-shard communication, using tools like Merkle proofs and cross-links.
The phase two research is being carried out by Consensys’ Quilt team and EF’s eWASM team, and now another Consensys team has entered the fray, TXRX. TXRX is working on developing models to understand cross-shard complexity.
Do you think Ethereum 2.0 is making significant progress? Let us know in the comments!
Image via Bitcoinist Media Library