“If you wish to make an apple pie from scratch, you must first invent the universe”
For many, building decentralized applications on the Ethereum blockchain feels like they must first invent a new universe. Reflecting on scientist Carl Sagan’s quote above, Jarrad Hope, co-founder of Status, a mobile Ethereum operating system, shares his view.
“A lot of the infrastructure isn’t there or it hasn’t been built out yet. Even though we have this mass adoption, consumer-facing goal at the very front, this is the tip of the iceberg in terms of what you have to actually build out to get to that point.” To get to that point, the Ethereum blockchain community has been building software tooling and applications. Users are providing use cases. The chain is storing tens-of-billions of dollars. It’s all maturing, but it’s still in its very early phases.
“The developer tooling that we’re seeing now is a lot, lot better now,” Jarrad says, referring to both the Truffle and Embark development frameworks. “They’re doing great. There’s great communities around them.”
Nick Johnson, founder and lead of the Ethereum Name Service which maps human-readable names to resources on Ethereum and elsewhere, recalls that “In the two-and-a-bit years I’ve been part of the space, I’ve seen developer tooling go from dire to merely needs improvement.”
Tools for development and debugging have evolved significantly, Nick says. From providing very basic frameworks to much more complete and easy to use ones. And there are other examples too.
“The Remix browser IDE has got some really useful features now that make debugging a lot easier. At the same time, it’s not at all uncommon to run into issues where your transaction failed and now you’re going to have to do print statement debugging and commenting lines out and so on in order to figure out what’s going wrong. I think we’ve got a long way to come, but the general trend is in the right direction.”
While tooling for the current “Ethereum 1.0” ecosystem is evolving, many protocol teams are engaged in a massive engineering race to build the new “Ethereum 2.0” sharded blockchain. It could change everything.
In Carl Sagan’s apple pie metaphor, developers have built a universe to bake their first pie, Ethereum 1.0. Now they need to build a whole other universe to bake an even better pie. The bakers making this new sharded universe are busy refining the recipe, throwing aspects out, bringing new aspects in, and saving ingredients for later use.
Piper Merriam, lead architect for Py-EVM’s Trinity sharding implementation, assessed the fast paced evolution of the ecosystem against the lifecycle of a software project: “There’s this super early discovery phase — it’s the research phase — where things are moving fast and things change. We built the wrong thing and we threw it away, and I think we’re past that part definitively.”
There is a middle phase that the software transitions through, from always breaking to working really well. Crossing that line so that the software can be a reliable foundation to build on top of can be tricky, Piper says.
“Our things are straddling that line on one side or the other. We’ve got a lot of stuff that is really settled in the sense that it’s a library that does what it’s supposed to do and it does it well and we rarely even touch it anymore because it does what it does very well. Then we’ve got end user libraries, like our Web3.py library, that are really solid at this point.”
A firm policy on breaking changes and deprecation strategies gives Piper’s team confidence in saying when developers can build production applications on top of their product and when not. “Then we’ve got Py-EVM and Trinity, which are past this early research phase. They’re built out and they work and they work quite well for what they are, but we still make regular breaking changes and are not comfortable saying: ‘You can build on top of these.’”
While much of Ethereum’s 1.0 ecosystem tooling and software seems to have matured toward a state that is ready for production, other things are not yet ready and the protocol itself, based on Proof-of-Work, is only capable of about 15 transactions per second. This major obstacle to mass adoption has made scaling the protocol a top priority. Sharding is still in the mostly research and early protocol development phases.
For Brett Sun, EVM Engineer for Aragon which provides a platform for decentralized organizations, the state of software engineering in the Ethereum ecosystem is interesting because software engineering, more broadly, is still very young as an engineering field.
“It’s not like we’re making bridges, let’s say, that have stood for thousands of years. We’re still figuring out things even in the general scope of software development.”
“So far a lot of it has been prototyping and I think that’s generally a theme in the ecosystem, is that we have a lot of good ideas and we take them to prototype.”
This is the work that has gone into building foundations. The next step, Brett says, is to make something that people can actually get value from.
“Give them a good reason why they should use it and then start building those killer features to drive adoption towards these types of tools.”
If the existing Ethereum 1.0 blockchain is any measure, the Ethereum 2.0 sharded universe is evolving. New engineering may be driving it, but a solid foundation has been built.
Note: Scaling Today is funded by the May 2018 Ethereum Grants Program. For more information visit: scaling.today