Preston Van Loon grew up with computer games. It wasn’t playing them that made him tick, though.
“My interest came from tinkering with video games and making addons or mods or running servers. I really liked editing a game and making it what you want,” he said. “Then I turned more towards automation: automating parts of gaming that were redundant or boring, like grinding for gold.”
“Grinding for gold” is a reference to World of Warcraft, a role-playing game where you have to stay alive, develop your character and perform quests. Van Loon would download and use bots that would control his character, making it gather resources and, when full, deposit those resources at the bank — sort of like how “yield farming” works in decentralized finance.
Indeed, it was his desire to create and manage automated systems that drew him to blockchains, and specifically Ethereum, in 2017. Van Loon, who was then working as a developer at Google, figured the blockchain was slow and expensive, but it struck him as a completely novel idea.
Five years later, he has one of the most important responsibilities in the history of Ethereum: As a founder of Prysmatic Labs, he runs the most widely used Ethereum consensus layer client — the software that the network’s validators run. It’s Van Loon’s role to help make sure that, when The Merge takes place, all of the network’s nodes operate in concert as they’re supposed to.
Van Loon started down a few different career paths before he finally found Ethereum. First, he went to aviation school for two years. Then he pivoted to computer science since to him it had more interesting problems. He studied at Middle Tennessee State University before dropping out in 2013 (the same year that Ethereum co-founder Vitalik Buterin did).
After that, he helped a jewelry seller automate auctions on eBay. He would make sure they went live at the optimum time, when everyone was home from work. Then Google recruited him and he eventually signed on to work as a developer.
Van Loon was a year into his role at Google when a friend told him about Ethereum. At first he was only mildly interested but he thought it was a cool idea. “After a few months of reading about how it works, I was hooked. By the end of the year, I was looking for ways to contribute and make Ethereum faster and cheaper to use.”
Van Loon read Buterin’s writing on sharding, a technique that splits up the blockchain’s data into sections in order to help ease the load on everyone maintaining a copy of it. Buterin was interested in sharding because at the time Ethereum transaction fees were rising heavily as the blockchain was getting congested, particularly by the onset of CryptoKitties. This was causing sluggish performance for the blockchain and an overall bad user experience.
Van Loon noticed that very few if any developers were working on it because it was such a new and radical idea, so he decided to see if he could create a version of it that could be added to the main Ethereum codebase.
In January 2018, Van Loon started messaging in chat rooms related to Ethereum clients and sharding. Through this he met Raul Jordan, who was a co-founder of a science research network and a computer science teacher at the time. A few days later they met up in New York and figured they could put a team together to make sharding a reality for the Ethereum blockchain.
Along with two other developers, Van Loon and Jordan founded Prysmatic Labs. The initial goal was to create an implementation of sharding that could be added to the main Ethereum codebase.
Two months later, the startup received a $100,000 grant from the Ethereum Foundation. In connection with the grant, Van Loon and some of his team flew to Taipei to meet other Ethereum researchers. Research into sharding was still in early days, but at the meetup some developers showed that they had nearly finished some implementations of certain elements to do with sharding.
Van Loon said he was overwhelmed by the feedback to his approach to sharding. After the meeting in Taipei, his team settled on a design that combined sharding with proof of stake. “I still think that was a great decision to this day,” he said.
A pivot to proof of stake
Technology development rarely goes as planned, however, and about a year in, Prysmatic Labs changed direction.
For the first year it had been working on iterations of sharding in combination with proof of stake. Then, Ethereum developers began a high-profile initiative called Casper, which entailed switching the blockchain to proof of stake. So the Prysmatic team focused its work on Casper, and in particular on implementing Casper with sharding.
In the end, however, Casper never came to pass and was replaced, in mid-2019, with a concept called the Beacon Chain. This change called for a whole new approach to sharding. “We had to start over, we deleted our entire codebase,” Van Loon recalled.
The shift also came about as a result of changing priorities. Sharding had fallen down the list while proof of stake had risen to the top. Besides that, new, so-called Layer 2 technologies had emerged that were easing the congestion on Ethereum.
“With Layer 2s that have been coming out, there's some relief for user activity and lower fees,” said Van Loon. “So, we can put sharding on the shelf for a minute while we fix this immediate problem that's getting worse and worse every day, only going up, which is the energy consumption and hash rate of Ethereum, which then presumably has a significant environmental impact.”
Ethereum’s new system can be thought of in terms of two layers. There’s the consensus layer, which determines which validators get to process blocks. And there’s the execution layer, which is focused on processing transactions.
With the emphasis no longer on sharding, Prysmatic Labs switched to creating a client called Prysm that would run the consensus layer of the blockchain, enabling validators to stake their tokens and be awarded the right to process transactions.
Besides Prysm, there are three other main consensus layer clients: Lighthouse, Teku and Nimbus. They are all written in different software languages. The Ethereum community values having a diversity of clients as a form of decentralization.
In May 2019, Prysmatic Labs released the first testnet iteration of its Prysm client and a public Ethereum testnet for anyone to start experimenting with proof of stake.
Implementing The Merge
For Van Loon, Ethereum moving to a proof-of-stake project didn’t feel real until a gathering that took place in Ontario in September 2019. There were around 40 developers there, each from the different Ethereum consensus layer teams.
They knew each of the clients worked independently on proof of stake but they didn’t know if they would sync up. It was similar to teaching five people a new language independently and then putting them in the same room and asking them to speak to each other.
The teams worked for a week, shared beers and played cards. Eventually they got all of the clients in sync and working together, overcoming small bugs and technical obstacles. It was a huge success.
Getting the software to sync up required getting the people behind it to sync up as well. “It was just nice to get to know people a little bit outside the computer because we're working together over the internet and are also very passionate about [Ethereum]. Getting to know the person a little bit more made it easier to work together, especially when we don't agree,” said Van Loon.
If the clients don’t work together the network could start to fragment, said Van Loon. If one client rejects the behavior of another client, you might see more forks on the network (where the blockchain temporarily splits) and an “overall degradation of the network,” he added.
Over the next year or so, Prysm became so popular that at one point more than two thirds of validators were using it — which many saw as a centralization risk.
“It became too successful to the point that it was a risk and we had to tell everybody, stop using Prysm, switch to something else. We’ve got to get this under control,” he said. It is currently the client running for around 35% of Ethereum’s nodes.
To make sure The Merge goes well, developers have carried out The Merge on multiple testnets and performed shadow forks (where the actual mainnet is forked on only a few nodes to see if it works). The Kiln, Ropsten, Sepolia and Goerli testnets have undergone The Merge and are running the full proof-of-stake code.
“At this point where the hard part is done, we've already done all the testing. We feel great about it. Everything's working now.” The next challenge is about getting everyone to download the new clients, he said.
Van Loon acknowledged that there isn’t really a back-up plan in case something goes wrong, for instance if the clients fall out of sync or if the consensus mechanism can’t agree on who gets to process transactions. In the unlikely situation that it doesn’t work, core developers could issue a rollback to undo it, he said.
But while one challenge would be finding the bug in the code, the bigger challenge would be coordinating all 6,800 node operators to agree on the same course of action. That’s why it’s so important that Van Loon and the other core developers make sure such disagreements have been all been anticipated and reconciled before Ethereum undergoes its final transformation.
Correction: We have fixed the number of node operators. H/T to Anatoly Yakovenko for pointing this error out.
© 2022 The Block Crypto, Inc. All Rights Reserved. This article is provided for informational purposes only. It is not offered or intended to be used as legal, tax, investment, financial, or other advice.