Ethereum developers appear to be making some last minute changes to ethereum 2.0, slashing shards from 1024 to just 64 while having a “clean slate” for phase 0 “to design phase 1 on top of,” according to Danny Ryan, the eth2.0 coordinator.
Ryan put forth some code changes recently “in light of discussions around the alternate phase 1 proposal” so as to remove “the notion of Shard and Crosslink entirely from Phase 0.”
He is referring to a proposal by Vitalik Buterin, ethereum’s co-founder, who called it “a radical alternative” that removes a number of complexities, “leading to ETH2 being usable sooner and with fewer risks.”
The proposal removes the concept of “a persistent shard chain. Instead, every shard block is directly a crosslink. Proposer proposes, crosslink committee approves, done.”
All this makes it easier for a testnet to launch because they’re removing all shard and crosslink mechanics, leaving them for phase 1.
“Let us retire the word ‘crosslink’ as we’re not ‘linking’ to a shard chain and use the word ‘shard block’ directly,” Buterin says.
The proposal basically links the “shards” through “a pathway by which a slot-N+1 block of any shard is aware of all slot-N blocks of all shards. Hence, we now have first-class single-slot cross-shard communication (through Merkle receipts)…
Beacon block N+1 is published, which includes these attestations for all shards. The state transition function of block N+1 processes these attestations, and updates the ‘latest states’ of all shards.”
In plainer language and from what we understand, instead of having different shard “universes” that have to somehow “talk” to each other, you send everything through the Beacon which basically does all the “talking.”
That makes the Beacon itself a bottleneck, but obviously there’s compression of data with “receipts” so it’s far less of a bottleneck than a node is currently.
This last minute change is because for a shard “universe” to talk to another takes quite a bit of time, even if you’re transferring eth between one shard to another.
Presumably they couldn’t quite figure out how to reduce such time requirement, so they’re changing the design somewhat considerably where phase 1 and 2 is concerned.
Where phase 0 is concerned, they’re removing things so it should be easier for that to get out, but it sounds like there’s still things to get through before a testnet with Age Manning of Lighthouse, an eth2.0 client by Sigma prime, stating last month:
“We are debugging and experimenting interoperability between clients. There are a number of stages to this.”
We couldn’t quite get an update today in time for publishing. There’s an eth2.0 call tomorrow where development updates are expected with another aspect of course being the deposit contract which starts the process.
That uses BLS signatures, newish cryptography that is yet to go through a standardization process with a draft under consideration.
Justin Drake, who appears to be in charge of the cryptography aspect, as well as other eth developers, have decided to have some sort of agreement between different projects that use BLS to agree to a standard without having to wait for the committee, with Dfinity devs seemingly hard at work on it.