The first version of the ethereum 2.o spec has been launched with it largely finalized for the Beacon chain Phase 0 while it appears to be a work in progress for Phase 1 data sharding.
“If you followed the 1.0 release process back in 2014-15, the spec is arguably more significant than a testnet,” Vitalik Buterin, Chief Scientist at the Ethereum Foundation, said before adding:
“For 1.0 we started having testnets in March 2014 and cross-client testnets in July 2014 but release only happened in July 2015.
What delayed us in the middle was largely ongoing spec changes and the need to get clients re-synced after that (and implementing Ethash, which was NOT done even as a spec until early 2015).
Here, we have a spec of basically the whole protocol for Casper, testnets halfway done, with remaining changes largely limited to those given to us by security auditors.”
The specification says that the ethereum 2.0 design goals are “to minimize complexity, even at the cost of some losses in efficiency, to remain live through major network partitions and when very large portions of nodes go offline, to select all components such that they are either quantum secure or can be easily swapped out for quantum secure counterparts when available, to utilize crypto and design techniques that allow for a large participation of validators in total and per unit time, to allow for a typical consumer laptop with `O(C)` resources to process/validate `O(1)` shards (including any system level validation such as the beacon chain)”
The beacon chain spec contains some core code (a snippet pictured above) as well as an overall description of the beacon:
“At the core of Ethereum 2.0 is a system chain called the “beacon chain”. The beacon chain stores and manages the registry of [validators](#dfn-validator). In the initial deployment phases of Ethereum 2.0 the only mechanism to become a [validator](#dfn-validator) is to make a one-way ETH transaction to a deposit contract on Ethereum 1.0. Activation as a [validator](#dfn-validator) happens when Ethereum 1.0 deposit receipts are processed by the beacon chain, the activation balance is reached, and after a queuing process. Exit is either voluntary or done forcibly as a penalty for misbehavior.
The primary source of load on the beacon chain is “attestations”. Attestations are availability votes for a shard block, and simultaneously proof of stake votes for a beacon block. A sufficient number of attestations for the same shard block create a “crosslink”, confirming the shard segment up to that shard block into the beacon chain. Crosslinks also serve as infrastructure for asynchronous cross-shard communication.”
While for phase 1 the document says “Ethereum 2.0 consists of a central beacon chain along with `SHARD_COUNT` shard chains. Phase 1 is primarily concerned with the construction, validity, and consensus on the _data_ of these shard chains. Phase 1 does not specify shard chain state execution or account balances. This is left for future phases.”
Phase 1 depends on the implementation of the beacon, which as the name suggests acts as a central coordinator for the whole system where stakers validate whats going on in ethereum 2.0.
The beacon was recently benchmarked with a dev saying the testnet is on track for launch this March. Meaning this is entering the final stages, but there is still some time to go.
There will have to be audits, of course, then potential changes made based on what auditors recommend, then more testing, then perhaps a launch by the end of the year.
At that point issuance would be reduced to 0.82 eth per block and ethereans can stake if they have 32 eth. There won’t be an increase of capacity in eth 2.0, however, until phase 2, but there might be an increase in the ethereum Proof of Work chain through eth 1x.
At a high level, ethereum 2.0 basically takes the current ethereum network (with some modifications like changing PoW to PoS) and clones it 1024 times with all of these pretty much identical networks (shards) linked together through the beacon chain coordinators.
That increases capacity by 1,000x or so in theory. In practice, such blockchain has never existed so we’ll have to wait and see how it really will work, but the race towards a world level capacity public blockchain is now very much on.