“We don’t want to reinvent the wheel when building [ethereum] 2.0.”
Speaking to the complementary efforts of developers working on two separate upgrades to the ethereum blockchain – one dubbed ethereum 2.0 and the other dubbed ethereum 1x – Raul Jordan insists upgrades to be included in ethereum 1x on a shorter time horizon would have benefits to ongoing research for ethereum 2.0.
Jordan is the co-lead for one of eight different developer teams currently building software clients for ethereum 2.0.
(As background, clients are software implementations usually written in differing programming languages that users deploy to connect to and participate in the ethereum network.)
Maintaining that the “incremental enhancements” being proposed within ethereum 1x don’t affect the blockchain’s long-term roadmap, Jordan told CoinDesk:
“I think both groups are fairly orthogonal but we must at least be aware of what each is implementing.”
Presently, the technical guidelines also called specifications for both upgrades are still very much in the works.
Having been discussed in earnest among ethereum developers only in the last couple of weeks, ethereum 1x is intended to be an intermediary upgrade that focuses on enhancements to the current ethereum network.
Ethereum 2.0, on the other hand, features a more ambitious agenda that dates back to 2014 and consists of fundamental changes to the blockchain platform.
Known in its early days under project name “Serenity,” the current specifications for ethereum 2.0 can be summarized as a combination of three main components:
And while one of these components – namely ethereum’s implementation of WASM – has the potential of being tested in the earlier roadmap for ethereum 1x, the majority of the work to build out ethereum 2.0 is still ongoing as a separate project.
And that work is being carried out by eight different teams spread out across the globe.
Based in Toronto, ChainSafe Systems is a blockchain research and development startup offering consulting services to a number of different ethereum-based projects including Shyft, Bunz, Aion, and Polymath.
Motivated by a desire to “contribute to something bigger,” project lead at ChainSafe Mikerah Quintyne-Collins told CoinDesk:
“For me, developing ethereum 2.0 was my way to make a mark on the future of the internet.”
Called Lodestar, Collins and her team are currently building an ethereum 2.0 client written in Javascript – the primary programming language for web development.
Privately funded and seeking additional support through the Ethereum Foundation grant program, Lodestar according to Collins is envisioned to “bring a whole host of web developers to the [ethereum] ecosystem.”
“All of these programming languages have their own communities. The whole community might not want to contribute but they’re big enough that parts of it will want to contribute and build on top of ethereum,” said Collins.
Even suspecting development work to help other blockchain platforms progress, Collins emphasized that in her view ethereum 2.0 is not about ensuring ethereum’s future as “the main blockchain,” saying:
“It’s not about who’s going to be the next big thing. It’s more about trying to make these systems work. Rushing it just so we can catch up with another supposed ethereum killer defeats the purpose of working on this.”
“Our goal is to bring enterprises to the mainnet. We want to do that by creating software that is easier for enterprises to adopt.”
That’s Faisal Khan, strategy and business development head for blockchain protocol engineering group, PegaSys.
Fully supported by Consensys – the self-proclaimed “venture production studio” of ethereum headed by ethereum co-founder Joseph Lubin – PegaSys is building out ethereum 2.0 specifications for an existing ethereum Java client called Pantheon.
Unveiled recently at a gathering of ethereum developers in Prague, Pantheon uses an open-source software license called Apache 2.0 to enable businesses building products on top of the ethereum platform to monetize their intellectual property.
Speaking to CoinDesk, Khan highlighted that extending support for ethereum 2.0 specifications meant close collaboration with Ethereum Foundation researchers and other client development teams.
“There’s a lot of touch points. There’s a weekly call. There’s a research forum, ETH Research. There’s a Gitter channel. The communication is pretty frequent. Obviously, there’s crypto Twitter. It’s pretty rich the conversation between any of the [ethereum] 2.0 teams and the Foundation,” said Khan.
Adding that, ethereum 2.0 would kick-start a new “cycle of network effects, dapp development and user growth” on the platform, Khan reiterated that the biggest need at present for the project was “more people involved.”
Launched last October, Harmony is ethereum’s original Java client formerly maintained by a group of independent developers called Ether Camp.
Now called simply the Harmony team, these group of developers were recently awarded $90,000 through the Ethereum Foundation grants program to build out specifications for ethereum 2.0.
Subsidized by the Ethereum Foundation, Harmony is expected to continue running as an alternative Java client to the enterprise-focused Pantheon.
Separate to the Apache 2.0 software licence underpinning Pantheon, Harmony operates under a General Public License (GPL) designed to ensure any implementations of the code remain “free software and stay free software,” as described in the official GPL guide.
Likening the project to “building a new internet,” Harmony developer Mikhail Kalinin told CoinDesk:
“The biggest challenges are staying on top of all changes in the research area and following the progress of every part of the work. The scope of it is huge.”
Co-founded by former Ethereum Foundation chief of security officer Jutta Steiner, Parity Technologies is a blockchain infrastructure company responsible for maintaining the second most popular ethereum client on the platform today.
The name of the client called Parity Ethereum is self-proclaimed to be “the fastest and most advanced ethereum client.”
As detailed on the official Wiki page, Parity Ethereum is programmed in Rust and built for “mission-critical use,” meaning fast synchronization speeds and maximum operation uptimes.
Speaking to renewed efforts to build a ethereum 2.0 client within the organization, Head of Public Affairs for Parity Peter Mauric explained ethereum 2.0 was really the “production-ready” version of the ethereum blockchain.
He told CoinDesk:
“Broadly speaking, I believe that ethereum as it exists today is very much in beta … Ethereum 2.0 is going from this experimental project that Vitalik launched just a few years ago to a more production ready blockchain protocol.”
Building out the first implementation of ethereum 2.0 in programming language Go, Prysmatic Labs launched this January with the goal of helping the ethereum blockchain reach scalability.
Speaking about the endeavour, team lead at Prysmatic Labs Raul Jordan told CoinDesk:
“Ethereum 2.0 is a system that is scalable to the needs of a global computer…What this means is that it will be able to handle the load of real world necessities…Anything from something simple to a completely immense financial system built on top of it.”
Named Prysm, the ethereum 2.0 client will act as a counterpart to the blockchain’s current most popular client implementation also written in Go called Geth.
Not seeing client development as a competitive process, Jordan highlighted that multiple different client implementations is a great necessity on the ethereum blockchain.
“The reason is that when you’re working on a blockchain like this, you want as much decentralization of implementations. So for example if the ethereum blockchain is running on Prysm and there’s a bug in Prysm, everyone can just switch to [another client]. You have options,” said Jordan.
Still, likening the endeavour to building “a public good,” Jordan highlighted support for development work was largely by donation from both the Ethereum Foundation and other private donors.
Receiving roughly $1 million in support to date, Jordan told CoinDesk one of the biggest challenges of building out an ethereum 2.0 client was making sure work corresponded “closely with the research.”
He explained:
“There are new ideas coming out every week, every day, and we’re basically building on a ever changing specifications… So I think one of the biggest challenges has really been multitasking between developing and also making sure that the research is good and we evaluate options moving forward.”
Founded in 2016, Sigma Prime is an information security and blockchain technology consulting company.
Recently awarded a $150,000 grant from the Ethereum Foundation, the company is building an ethereum 2.0 client called Lighthouse written in programming language Rust.
Being the second client implementation in Rust next to Parity, co-founder of Sigma Prime Paul Hauner told CoinDesk that he didn’t expect there to be “any fundamental differences” between the two products.
Emphasizing that a duplication of work was actually “really desired in a blockchain,” Hauner explained:
“Software has bugs. So, if everybody runs the same client and there’s a bug, everyone goes down. If there’s this diversity of clients, they’re most likely going to have different bugs. One client goes down that’s fine. The rest of the network still stays up.”
And speaking to the importance of the ethereum 2.0 upgrade in general, Hauner added that not only would users notice “a huge increase in transactions in per second” but also significant environmental gains under a proof-of-stake consensus protocol.
“Personally, I feel people are going to use it and it’s going to work. In terms of the actual technology, I don’t have any concerns about is it feasible. Is it bulletproof at this point in time? Absolutely not. It hasn’t been built,” said Hauner.
A messaging platform and mobile browser specifically designed to engage users on the ethereum blockchain, Status unveiled this August active development for an ethereum 2.0 client called Nimbus written in programming language Nim.
Funded in part by a $500,000 grant from the Ethereum Foundation, the goal of the project as highlighted on the official website is “to drive mass adoption of ethereum” by optimizing Nimbus for performance on “resource-restricted devices.”
As such, leveraging the lightweight capabilities of running Nim code, Nimbus is expected to be ethereum’s first mobile client connecting smartphones devices and other handheld electronics to the blockchain platform.
With eight core contributors to the project, Status highlighted in a blog post a few months ago that it is looking for additional developer support.
“We are entirely open source and encourage contribution from those who want to get involved,” wrote head of research development at Status Jacek Sieka.
In addition, speaking to CoinDesk, Sieka added that he foresaw development work for ethereum 2.0 being rolled out in multiple stages, with a suspected test network for one of the first components called the beacon chain coming some time in the next year.
“That being said research is ongoing and any timelines are usually in flux but from an end user perspective, a year, two years is a reasonable timeline to expect for [ethereum 2.0] to become generally useful,” said Sieka.
Last but not least, Trinity is a current ethereum client written in programming language Python.
Championed to be the new standard Python implementation for ethereum, Trinity features upgraded code to the now dormant PyEthApp originally authored by founder of ethereum Vitalik Buterin.
Having launched this year in a preliminary alpha phase, Trinity is comprised of six developers including Merriam all except one of whom are contracted to work by the Ethereum Foundation.
Expected to build support for ethereum 2.0 specifications as well, lead architect for Trinity Piper Merriam highlighted developing “at the boundary between research and implementation” was what he did best.
“I like the application of theory more than the theory. Protocol research is neat but implementing the protocols is more inline with what I’m good at,” said Merriam.
Adding that the work was really “only just getting started,” Merriam likened the process of ethereum 2.0 client development as putting together the pieces of “a puzzle.”
A puzzle requiring many hands, the collective work of all eight teams are expected to mutually reinforce each other and secure the future of the ethereum blockchain.
Merriam told CoinDesk:
“By having many implementations of any protocol … we can derive confidence that the written definition of the protocol is accurate [and] that the individual clients are correct.”
Metal working image via Shutterstock