Blog

What is Ethereum?

Featured in #Ethereum Magazine

Imagine trying to describe an iPhone to someone circa 1965. The first episode of Star Trek aired in 1966, so using the word tricorder is cheating. Remember that you’ll be speaking to a generation where computers don’t have screens, take up entire rooms, and cost $100,000+.

Fast forward to somewhere a bit before 2007 and you would still have some trouble. In 2006 the best you could do was a fancy camera phone. Today, in 2015, we take it for granted that we have tiny computers in our pockets.

When I try to talk with people about Ethereum, I have trouble explaining what it is. There isn’t anything out there to compare it to. Nothing like it has existed before. There is a book (that I haven’t read) called zero to one which sums up what it means to create something new. Most products we use are the second, third, or 50th iteration.  But every one of those required someone to create the first one. To take the world from zero to one: Ethereum is one of those zero to one situations.

What is Ethereum?

It’s a distributed virtual computer that anyone can securely run programs on and trust their results. Applications on Ethereum require zero infrastructure and are immune to downtime. The code that runs an Ethereum application is verifiable. Users can know that the program they are interacting with does exactly what it claims to do.

Security

Today’s applications run on individual computers which must be kept secure from attackers. We trust that these machines are doing the correct computations, despite how easy it is to manipulate source code running the app or database entries that store the information.  It’s been shown repeatedly that nothing is safe from a motivated attacker.

The computations that happen on Ethereum cannot be corrupted or manipulated. The results of programs that run on Ethereum can be trusted the same way that we trust 2 + 2 = 4.  This isn’t backed by trust, but by mathematical certainty.

Zero Infrastructure and Zero Downtime

Today’s applications require physical infrastructure to run. As applications get larger they take more and more servers and infrastructure. They regularly suffer from downtime. The many layers of infrastructure that go into running applications can all fail, and regularly do.

Ethereum applications require zero infrastructure. The Ethereum network is the infrastructure. As long as there are people running Ethereum nodes, every Ethereum application will be functioning and available. Server-less applications also enable applications to live on after the companies that create them have gone out of business.

Trust

Today’s applications require their users to trust them on nothing more than a weak promise (or no promise at all). They trust that the application does what it says it does. More importantly, they trust that it doesn’t do extra things they don’t want. Users trust that the service will be up and online when they need it. They trust that their sensitive information will be handled responsibly. They trust that they will be treated fairly and not be censored, experimented on, or arbitrarily kicked out.

Anyone who’s been paying attention at least a little bit should know that every one of these points of trust has been broken repeatedly.

Applications on Ethereum can publish their source code, and thus have their application logic be verifiable. Users don’t have to trust that it behaves as advertised. Not only this, but users can know that the author of those applications cannot make changes to that source code. Once code is deployed to the Ethereum network, it is immutable.

Ethereum eliminates the need for trust. I hope this opens up room for a world where we trust each other more, knowing certain promises are impossible to break.

In later posts, I plan to explore some concrete examples of what can be done with Ethereum in the context of modern web applications.  The world has only seen the tip of a large iceberg of possibilities that Ethereum is creating.   You can dig deeper on your own at https://ethereum.org/.