The Ethereum Virtual Machine (EVM) is an integral part of Ethereum’s inner workings and one of the main reasons why Ethereum is unique among blockchain technologies. It is the EVM that is referenced when people refer to the “Turing completeness” of Ethereum. As a lead developer for the EVM’s C++ client, Greg Colvin is an integral part of what makes that specific iteration of the EVM work. He, like his work, is also unique.
Draped with long grey hair and a matching beard, Colvin looks like the kind of scientist that would work on a global virtual computer. To hear him talk you would immediately assume his doctorate is in applied mathematics, computer sciences, or a type of physics from another dimension. Surprisingly, Colvin is actually a doctor of psychology, although to hear him reminisce about his life trajectory, and how it brought him to Ethereum, is to get the impression that he regards his Ph.D. as just another thing he used to do, like earning a merit badge in the Boy Scouts.
Colvin is somewhat of a Gandalf figure for Etherians, providing not just knowledge, but wisdom to an ecosystem where the average age of his fellow researchers, developers, and scientists is considerably younger. ETHNews had the opportunity to sit down with him and discuss what makes the world go ‘round … and how the EVM goes around the world.
Colvin On the EVM & EVM Evolution
Regarding the EVM language clients as a whole, Colvin told ETHNews: “There are a number of versions, which we consider a strength rather than a weakness. Everything is based on consensus. There’s a consensus protocol, everyone has to agree and if you have multiple clients, if there’s any ambiguity in the specification, any mistakes in implementation, in any one of the clients, the consensus will fail. Right now all of the data is on every client, leaving beside the light clients. A block gets loaded up and the EVM has to process any smart contracts on every transaction. That gets processed on every node, so it’s happening in parallel, but you’re getting no performance improvement out of the parallelism. Everything is in lockstep all across the world.”
The parallelism mentioned by Colvin is not necessarily a negative. While it is true that processing every transaction on every node hinders processing speed, it’s that exact effect that makes a blockchain so secure.
Colvin’s work is mainly focused on improving the speed of the EVM as well as developing ideas for successor EVM implementations that will work with future iterations of Ethereum. In each case the central focus is the same – increase performance. This is easier said than done, however. Colvin explained why during his main hall presentation.
The Optimization Quandary: EVM Benchmarks and Clients
To understand the path to increased performance, Colvin referenced how he grapples with the notion of the “optimization quandary.” Generally speaking, there are two principles of this seemingly paradoxical thought framework. First is that optimization benchmarks are, in the words of Colvin, “bogus.” Second is that those imperfect data models are the closest we will get, barring a monumental breakthrough in computer or physics fundamentals, to an accurate representation of computer-modeled truth. Per Colvin’s presentation: “You’ll never have a set of benchmarks that actually represents the real world, but if you don’t have benchmarks, you’ll just go in circles. You’ll never make progress.”
Colvin went on to explain how algorithmic kernel benchmarks provide a best guess for generally understanding how EVM clients perform. In short, different versions of the EVM coded in different programming languages interact with various benchmark algorithms in different ways. By graphing the intersections of this data, Colvin is able to roughly determine which clients might offer greater performance.
Competitive Technical Solutions
Colvin told ETHNews that improving the EVM’s performance is often a matter of choosing between multiple technical paths of relatively equal novelty by weighing their merits
Sooner or later, the Ethereum Foundation EVM developers (who met at Devcon3) will have to decide on a way forward. The EVM, like Ethereum itself, will eventually have to be scaled in order to accommodate the increasing number of EDCCs being run. This is a pressing issue, as the current level of traffic on Ethereum is already causing delays.
The decisions that need to be made revolve around technical solutions. Counterintuitively, however, choosing between the varied technical options doesn’t mean picking the “better” solution. “With the EVM we’re hitting the wall on performance. We have some decisions to make there, and the hard decisions aren’t technical.”
Kicking back on a couch in a Tommy Bahama-esque button-down and crossing his scuffed cowboy boots ankle over ankle, Colvin gave an example of how he weighs varies technicalities against each other and what he believes to be the proper path forward. “There’s often more than one technical solution, and they’re all perfectly adequate, technically. The choice has sort of been the web-assembly route,” which Colvin explained as essentially being the project developed by “W3C group, Microsoft, Google – along with some other biggies supposedly behind it. So that makes sense as far as leveraging a larger community.”
Colvin, however, believes more in Ethereum than in solutions from industry giants. “I’ve been proposing, ‘no,’ let’s extend the machine that we have. Either of those technically, I think, will work. I can find reasonable criticisms, technical criticisms, of either approach.”
The Best Doesn’t Always Win
“It’s like Intel and Motorola chips,” said Colvin. “The Motorola architecture was clearly superior I think, but Intel won out. They both do the job. The world didn’t end either because Betamax died and VHS won and now it’s DVD and who even cares anymore.”
Apparently, being best doesn’t necessarily translate to being selected, not when the margin of difference is so thin. There will, of course, be higher level discussions among EVM developers as the technology improves, and like with everything else that makes up Ethereum, the eventual solution will likely be tailored.
Colvin On the Decentralized Revolution
For now, technical solutions, no matter how ingenious, are still subject to human factors like ethics or politicking. Colvin elaborated briefly about how new technologies have influenced history with the weathered insight of a former cypherpunk.
“I was reading recently about the transition from the Bronze Age to the Iron Age. The Bronze Age was an era of extreme centralization – very powerful monarchs, with their bronze-armored armies defending them. Then iron making got invented, and it was possible to make much cheaper and effective weapons out of iron. Suddenly, all of the peasants were able to arm themselves with iron weapons and depose the monarchs because they could fight on even terms with the expensive bronze-armored armies.”
It seems that in the Wild West of Ethereum, where so much of the tech is being developed by younger generations, we all may still have a thing or two (or a thousand) to learn.