A few months back, a buddy of mine had the pleasure of hearing Vitalik Buterin speak about Ethereum. I asked him how it was going, and he replied:

Watching Vitalik talk about Ethereum. The Ethereum development process — single spec, multi client is just so much better than Bitcoin. Wish there was a way to get Bitcoin there.

For some context, my friend had the slight misfortune of entering development in the Bitcoin space at what now looks to be the peak of The Great Block Size Debate (sure to be renamed Block Size Debate I later). He’s a brilliant person and a phenomenal software developer, so while I applauded the win for Bitcoin overall, I secretly shuddered at the thought of having to rehash a lot of arguments over block size and Core development that I had since written off. If you were a relative newcomer back then, and to an only slightly lesser degree today, odds are your exposure to the debate was fairly one-sided: Raise the block size, duh!

I can’t blame anyone for adopting this view before spending an excessive amount of time with Bitcoin. Bitcoin is anything but intuitive, and the arguments for why the block size should be raised are intuitive, if nothing else. It’s as a nice reprieve from the constant brain malleation that is understanding the blockchain, transaction scripts, and wait, what the hell is money anyway? Then, once we accept that the solution is easy, we now have to question the motives and viability of that now seemingly far too privileged group of Core developers who refuse to deploy it. We know the arguments.

My friend’s answer was, of course, more proof positive of this narrative. Ethereum was so elegantly constructed, so intelligently specified! Why can’t Bitcoin be like that? The time for sorting out Bitcoin’s structural development problems was ever more nigh.

But I had to ask, how is Ethereum’s spec development process actually different? Multiple implementations in different languages is certainly different from Bitcoin, and that every implementation works towards the same spec is a very nice-to-have (especially when compared with source code forked implementations attempting consensus rule changes via hard fork). But how is the spec decided? Isn’t that ultimately what the block size debate is about? He conceded to me this point, but noted that it would at least be nice if Bitcoin had a spec.

I understand. Imagine you’ve just taken your first look at the Bitcoin white paper, and that you even understood most of it. That puts you about half way to understanding just how much it would take to actually implement Bitcoin. Plenty of things aren’t featured in that document that we take for granted today:

How the P2P network will actually work

Addresses

Scrypt

The UTXO set

P2SH

The inflation schedule of bitcoins

An upgrade mechanism of any kind

A maximum block size or any other constraints associated with blocks and transactions

The list goes on, and will continue to grow. Satoshi released his or her client shortly after the white paper appeared, and it was understood Bitcoin-QT was ultimately a reference implementation. There was simply a lot to figure out. I’d argue that a spec exists in various forms of documentation if you’re looking to figure out how Bitcoin works. Between wikis, development meeting logs, BIPs, IRC, and mailing lists, you can derive what the client is being developed towards. It’s Bitcoin; you get what you give. So why not do things the Ethereum way instead?

Ethereum vs. Bitcoin

If you’ve ever checked out Ethereum development, it’s impressive. It’s awesome. I recommend anyone interested in cryptocurrencies also read Vitalik’s blog for some delicious food for thought. I understand why anyone would be impressed by the tech, and why it might appear comparatively better than Bitcoin’s development and surrounding ecosystem. But let’s remember a few things:

Ethereum development received a lot of funding before a client was launched As far as we know, Bitcoin development was largely unfunded for a while Bitcoin was the first (known) instantiation of a blockchain and all that it entails Ethereum thus benefited from research and ideas proliferated by its precursor The two projects have different focuses

Ethereum was an organized effort from the get go. It was crowdfunded. It gave people Ether in exchange for bitcoin on the implicit promise that they would work toward returning more than was paid for it. Bitcoin came about more organically. Run a node and mine some Bitcoin. If it turns out to be worth something, all the better! This difference in origin is more than a historical footnote though. Bitcoin and Ethereum are different in beginnings as they are different in ends. The idea that Ethereum is a more feature rich, more ambitious Bitcoin just really needs to die. Conversely, the idea of Ethereum as a bloated Bitcoin can share the same grave. They aspire to different things. That’s why we can’t do Bitcoin the Ethereum way and vice versa.

Block Sizes and Hard Forks

If that all seems obvious to you, then I’d have to put you in the minority. Nothing has convinced me more that the different value propositions of Bitcoin and Ethereum are widely misunderstood than the uproar over Core’s unwillingness to hard fork to a larger block size, and the surprise of many over Ethereum’s willingness to hard fork to mend the DAO theft problem.

Both courses by both development teams fit perfectly in line with what I consider — if we wanted to pretend that these two platforms could both be aptly described as products — their respective requirements. Immediately you might think that having a problem with one and not the other is a contradiction of sorts. That’s just ideology incorrectly returning references to information that is out of scope.

Firstly, a quick refresher:

Requirements: Determine the needs or conditions to meet for a new or altered product, taking account of the possibly conflicting requirements of the various stakeholders. Specifications: They provide a precise idea of the problem to be solved so that they can efficiently design the system and estimate the cost of design alternatives. They provide guidance to testers for verification (qualification) of each technical requirement.

To get one thing out of the way: Bitcoin and Ethereum’s requirements are not to multiply your investment in them. That’s your requirement of your investment. If all they existed to do was make you rich, they wouldn’t be all that compelling, while the case for Bitcoin or Ethereum as much ado about pyramid schemes would be.

The major difference I argue here is that Bitcoin and Ethereum are largely different in their concern for bitcoins and Ether. Bitcoin cares more about bitcoins than Ethereum does about Ether, in a formal way. Bitcoin is bitcoins, Ethereum is a singleton instance state machine powered by Ether and yadda yadda.

We can go back to the Bitcoin white paper introduction, in what is probably the meatiest sentence of the 21st century thus far:

What is needed is an electronic payment system based on cryptographic proof instead of trust, allowing any two willing parties to transact directly with each other without the need for a trusted third party.

I’m not sure whether the Bitcoin white paper was intended to be an incredibly concise critique of our at-the-time ontological understanding of money, or just a really clever way of making it easier for Amazon.com and everyone else to eventually accept payments. In either case, there is as much to unpack in that paper as the whole of papers on the subject to come after it still; we still don’t understand trust or blockchains or money as much as we’d like.

The paper goes on to describe how we might exchange tokens without a trusted third party. Along the way, we have to invent what is effectively a new currency controlled by entities engaged in a permanent arms race, and to truly keep it safe from intermediaries, it needs to somehow stay decentralized. What the end result is, we don’t really know.

While Bitcoin looks to create intermediary-free money and all that is required for that, Ethereum’s scope is a bit more explicitly defined (from the Ethereum white paper):

However, another, arguably more important, part of the Bitcoin experiment is the underlying blockchain technology as a tool of distributed consensus, and attention is rapidly starting to shift to this other aspect of Bitcoin… Ethereum intends to provide is a blockchain with a built-in fully fledged Turing-complete programming language that can be used to create “contracts” that can be used to encode arbitrary state transition functions

One interesting thing to note here is that the term “blockchain” is not contained in the Bitcoin white paper. All the same, Ethereum is going to make one, it will allow for Turing complete scripts to be executed. Reading the white paper, you get the sense that Bitcoin is largely a solved problem, and that to get to the ‘real’ interesting stuff, Ethereum is the next leap to take.

Bitcoin vs Blockchain

But Bitcoin isn’t a solved problem. And scaling Bitcoin certainly isn’t a solved problem. For Ethereum, Ether is less a requirement and more a necessary implementation detail to enable their greater aims. Should you want a decentralized blockchain, you probably need something like bitcoins, but only to enable a decentralized blockchain with smart contracts, because that’s the more interesting case than bitcoins themselves, right?

Maybe, but that’s all beginning to sound familiar as the 'Bitcoin vs. Blockchain' debate. Can you separate the token from the tech? If you got into cryptocurrencies, as a lot of people did, on the basis that they can act as a hedge, or total exit, against the less-than-scrupulous monetary and content policies of central banks and governments, this probably seems like a boring enterprise to you. To Ethereum, the answer is seemingly that the blockchain is the more interesting concept, while the underlying currency and issues of decentralized money are less-so. If you want to understand the DAO 'bail out’, you should probably understand that.

And I don’t mean that Ethereum and Ether won’t or can’t be incredibly valuable themselves. I believe that the end goals of Ethereum are valuable and interesting. But there’s a reason Microsoft is rolling out 'blockchain as a service’ tech with a focus on Ethereum, and I’m inclined to believe it’s not just a matter of a belief in a superior tech. Microsoft is looking to bring blockchain to enterprises, and Ethereum’s development is a hell of a lot more business friendly than Bitcoin’s. Ethereum is building a platform, and Bitcoin is building a currency. I guess it makes more business sense to adopt a platform than some 'intermediary free' currency.

The Bitcoin Way

In lieu of these differences, the way Bitcoin development has proceeded should make a lot more sense to people, especially after the Ethereum hard fork. Bitcoin isn’t trying to answer the question of how to bring a platform up at scale, or how to create an ephemeral state machine. It’s trying to achieve money without the need of endorsement from State, or banks, or centralized service of any kind. Ideally, we can do so without the ability for any set of actors less than the whole set of Bitcoin users to make changes to the properties of that money (but we can function beyond ideals). Bitcoin’s onboarding mechanism is that regardless of how marginal an economic actor you are, your bitcoins are worth the same as anyone else’s. That’s its requirement.

It’s a rather stark difference from Ethereum’s goals. Its why issues of scale and decentralization are far more central to its development, and a bit more secondary to Ethereum’s. Where Ethereum tries to be a lot, Bitcoin has one true requirement spec:

Be money with hard incentives to stay that way.

That it should scale and be cheap to transact is secondary. Where Ethereum is looking to be the world’s first shared computer, Bitcoin is looking to be the world’s first real money. If you’re not looking for bailouts, but you’re also looking for a decentralized money that scales to Global Order today, it doesn’t exist. If you’re wondering whether Bitcoin or Ethereum can achieve both tasks at the same time, I’d look to the one that is defying the logic and form of every mint to come before it though.