Ethereum, the leading smart contract platform, will be taking the first step towards its most awaited upgrades this year. The platform will initiate its shift from proof-of-work to proof-of-stake with the launch of phase zero of Serenity. The main aspect of this stage is the rollout of Beacon Chain, while the other phases will see the launch of Shard Chains and State Execution.
According to Joseph Lubin, founder of ConsenSys, the first phase is supposed to roll out in Q1 of 2020. However, developers have still not decided on a definitive block number for the upgrade. Justin Drake, an Ethereum 2.0 Researcher, had previously outlined that the probable date will be the fifth anniversary of Ethereum on a GitHub post in December 2018. Drake had said,
“(For discussion.) July 30, 2020 is Ethereum’s fifth anniversary, a natural candidate schelling point for genesis.”
The changes that would be brought to the table was one of the topics discussed by Paul Hauner, a developer at Sigma Prime, one of the teams contributing to the development of Ethereum 2.0. Speaking about the different components introduced in phase zero in an interview with EthHub, Hauner stated that while there is not going to be “super interesting user-facing functionality” in this phase, it, however, is “primarily about building a stable base layer [that] has staking.” This layer, in turn, would later be used for introducing sharing and execution topics.
He went on to say that there would be two primary concepts in this phase; proof-of-stake and a new networking stack. With respect to proof-of-stake, validators will be able to share messages and come to an agreement on the canonical chain, albeit, they won’t be able to agree on transactions. He added,
“They’re [validators] not really agreeing on transactions or something that’s glaringly obviously useful but it’s mostly an effort to prove that you know we can build this like massive proof of stake chain using Ethereum technologies in Casper and for it to be stable.”
In terms of the networking stack, Hauner pointed out that Ethereum 1 uses devp2p, a protocol built specifically for Ethereum. Ethereum 2 would be using libp2p, a new networking stack introduced by the Protocol Labs Team that powers IPFS.
“ETH 1 has been interested in swapping to libp2p for a while but it’s a little bit hard; once you’re kind of that big and you’re moving, it’s tricky to swap these things […] the networking stack won’t be super apparent to users in the ideal case […] there’s like technology being used by IPFS and substrate and other blockchains […]”
Subsequently, the developer briefly explained the networking stack in terms of what it does for the protocol. According to him, libp2p performs on a high-level view, while it has the same functions as that of devp2p. He added,
“It allows this decentralized network where computers can like discover each other and then make connections and maintain this mesh, but what Libp2P has is it’s got a different structure, it’s being built to be composable so you kind of like building blocks […] it allows us to swap out components more easily as opposed to devp2p which is a little bit more like one unit […]”