Developers working to create the next iteration of the ethereum blockchain have developed code intended to help client developers boost their testing efforts ahead of the upgrade.
is by far the biggest upgrade on the agenda of developers said to bring massive improvements to scalability and usability on the now four-year-old blockchain network, which with its $17 billion market capitalization is the world's second-most valuable blockchain. The work on the 2.0 iteration (also known as Serenity) continues apace, and according to Fredik Harryson, chief technology officer for client developer Parity, code specifications for the initial phased roll-out of the upgrade are about half complete.
As such, while many aspects of the upgrade are still under research and presently being finalized, on April 23 new code was unveiled that, if approved and ultimately implemented, will facilitate the basic communication between nodes that run the ethereum 2.0 software.
The protocol, called Hobbits, was developed in partnership between blockchain performance testing company Whiteblock, ethereum venture capital studio Consensys, and ethereum 2.0 implementer teams Chainsafe and Yeeth.
The wire protocol gets at the heart of how these distributed networks work, because nodes pass critical information between one another -- namely transaction histories -- that compose the blockchain itself.
Speaking to CoinDesk back in February, ethereum founder Vitalik Buterin explained that a wire protocol essentially determines “the rules for what messages get sent across the network.”
“For example, if two nodes talk to each other and one node wants to sync to the blockchain or publish a block, then how do you say I want to hear about a block? How do you say I want to hear about transactions? ” Buterin told CoinDesk.
Ethereum 2.0 will be actually be leveraging a wire protocol called “libp2p” developed and maintained by San Francisco-based startup Protocol Labs, the firm behind projects like Filecoin and IPFS. However, until that implementation is fleshed out for all ethereum 2.0 clients, Hobbits is envisioned as a means to establish cross-communication between those clients who don’t have libp2p ready.
Jonny Rhea, a protocol engineer at Consensys who contributed to building Hobbits, explained to CoinDesk:
Every blockchain, Buterin pointed out at the time, has a wire protocol or “mini-language” to define how messages get transmitted and received across the network. For bitcoin and ethereum presently, the wire protocol uses what are called gossip networks.
As Buterin told CoinDesk:
As such, the new ethereum 2.0 wire protocol – libp2p – will have two major benefits. It will first leverage a new protocol design called “gossipsub” to prevent the network from being flooded and congested every time a node wants to send a message.
“If I have a new block and I’m connected to six of my peers, I’ll randomly send that block to two or three of my peers,” Rhea said. “I propagate that message. Then those nodes have peers, they don’t send it back to me, but they probabilistically pick two more peer to send the message to.”
More generally, the second benefit of using a libp2p wire protocol Rhea adds is modularity.
“The nice thing about libp2p is that it is modular,” Rhea said. “Let’s say you don’t like … how one node finds another node on the Internet. That can be replaced. It can be swapped out.”
At present, according to Van Epps, there are only two implementations of libp2p for ethereum clients written in programming languages Go and Rust.
However, Van Epps notes that "the long path to a ETH 2.0 launch hinges on having proper implementations of libp2p for each client language."
Rhea told CoinDesk:
Wires image via Shutterstock
The leader in news and information on cryptocurrency, digital assets and the future of money, CoinDesk is a media outlet that strives for the highest journalistic standards and abides by a strict set of editorial policies. CoinDesk is an independent operating subsidiary of Digital Currency Group, which invests in cryptocurrencies and blockchain startups.