Early Days of Ethereum

Preserving the history and stories of the people who built Ethereum.

James Hormuzdiar

James Hormuzdiar

Co-Founder of BlockApps, Haskell client developer

(Sep 2014 to present)

James "Jim" Hormuzdiar is the CTO and co-founder of BlockApps and the primary architect of the Haskell Ethereum client. A physics PhD with deep Haskell expertise, he built one of Ethereum's alternative client implementations and contributed to the enterprise blockchain movement.

Background: Physics and China

Jim has a PhD in physics and developed expertise in Haskell through his academic work. In 2011, he moved to China, where he met Victor Wong through a VC while both were working in Beijing:

"I didn't really know [Victor] particularly well at that time, but then I moved back and we got to know each other better."

Path to Ethereum

Jim discovered Bitcoin around 2014, slightly later than his future co-founders. He was initially skeptical:

"I heard about it and it still sounded like crazy internet money like after that… There's got to be a vulnerability somewhere, right?"

What changed his mind was understanding the decentralization:

"What made me like decide that it was really onto something was the moment when I understood that like, okay, even if there is a bug somewhere, even if everything is exploited, there are so many people running this that there'll be a hard fork and everything will be fine."

By September 2014, Jim began building an Ethereum client in Haskell with Kieren James-Lubin.

Building the Haskell Client

Jim was the primary technical architect of the BlockApps Haskell Ethereum client. Working from the yellow paper specification and the evolving codebase, he built an implementation from scratch:

"The yellow paper was just the EVM at that point, like that was, I remember that was my sort of scope. And then [Kieren] was working on, like, basically the wire protocol."

The development process was challenging due to the rapidly evolving nature of Ethereum itself:

"I remember going through and learning about it and kind of like going back and forth between the C++ code and the yellow paper and the Go code… And my impression was that, like, the yellow paper was this sort of semi-accurate description of what the code was doing."

The team had to constantly adapt as the protocol changed:

"It was brutal at first because like what they would do is like change the algorithm and then like push the testnet and like not tell anybody about what they did. And so I'd be like, what is going on? Like, I can't sync. And then you'd have to go like dig through the chat or dig through the code or whatever to figure out what changed."

Predicting the Launch

Jim developed an innovative method to predict Ethereum's launch date by analyzing GitHub commit patterns:

"I plotted a commit graph where like it was like commits by day in the Ethereum repo… You were looking through the Git commits at the time… You make this plot. It was like commits by day. And as like the commits and you like extrapolated it, you probably got within a couple of days of the launch date."

Mining Rigs and AWS

When Ethereum launched in August 2015, Jim and Kieren built physical mining rigs:

"I remember [Kieren] and I drove up to Fry's and picked up a bunch of components… we had helped build just like a workstation or two before. Basically, like the compile times on my laptop were double or quadruple what they were on the workstation."

The hardware mining had mixed results (one power supply exploded), but the rigs eventually worked:

"We spent, like, two or three days building these machines, getting it up, putting the software on, getting it running, hitting some problems. And it started, like, Ether started to dribble in at that point in time. So we're like, oh, this is awesome."

Meanwhile, Victor rapidly spun up cloud instances that matched their output in half an hour, demonstrating the advantages of cloud-based approaches.

ConsenSys and Brooklyn

Jim worked from the early ConsenSys offices in Brooklyn, which he found charming:

"I had never been to Williamsburg or Bushwick and it was sort of moving in various locations there so I used to love coming and hanging out at the offices… I remember, like, sitting there one day, and all of a sudden, everybody came screaming in, and they were filming an episode of Girls Outside."

DEVCON1 and Microsoft

Jim was part of the team that announced BlockApps STRATO at DEVCON1 in London, alongside Microsoft's Blockchain as a Service announcement. When the Java client team pulled back from the Microsoft partnership, BlockApps stepped up to deliver:

"Microsoft guys were pretty mad at that time… They had like pre-announced something or something and then the Java guys sort of disappeared."

Devcon 2 and Technical Challenges

At Devcon 2 in Shanghai (September 2016), Jim was deep in technical work while his co-founders were forming the Enterprise Ethereum Alliance:

"There was some big attack on Ethereum… I remember in the morning and lots of stuff was happening on the business front there. But I remember like waking up and suddenly I was just like completely involved in like digging in with the Haskell client and figuring out what was going on and what changes we had to make."

During a meeting with the head of Hyperledger, Jim demonstrated that enterprise Ethereum actually worked:

"My engineers claim that this is completely impossible. And Jim, I think you like pulled out your laptop and you're like, here it is, like, I'm going to show you like this is, this is how it works."

Reflections

Looking back on Ethereum's early days, Jim reflected on the unique energy of the project:

"It's dangerous to look back in time and say, like, I knew that was going to happen. But I will say that even before the launch, I remember feeling that I'd never seen such a large group of people so excited about a particular project as that one. So… it felt like it was going to be successful."

The Early Days of Ethereum Project

Jim is one of three hosts of the Early Days of Ethereum video series, alongside Victor Wong and Kieren James-Lubin, documenting their first-hand accounts of blockchain history.

Primary Sources

This profile draws from James Hormuzdiar's appearances in the Early Days of Ethereum Episode 1 and Episode 2, which provide first-hand accounts of building the Haskell client and the enterprise Ethereum movement.