’13 | Ethereum — The World Computer

Till Antonio Mahler
blockwhat?
Published in
16 min readNov 14, 2018
Photo by Scott Webb

Hello there and welcome back, it’s a pleasure to have you here once more!

This story revolves around an engineering marvel and a truly groundbreaking invention — Ethereum. We will explore the history of its emergence and dive into the technological side of it as well — nothing too insanely technical though. Once through with that, we’ll look at some real-world applications of this amazing technology! Are you ready?

It’s going to be an awesome ride, so hop on and let’s go!

This article is part ten of our journey. If you’re new here and want to understand what’s going on, just click here.

  1. 3000 BC | Hiking Up Mount Blockchain
  2. ’82 | The Birth Of Digital Cash
  3. ’96 | Oncologist + Gold = Revolution?
  4. ’97 | Anybody interested in some hash(cash)?
  5. ’98 | Wei Dai — Who dat?
  6. ’98 | Make It Rain (Bit) Gold!
  7. ’03 | It’s Karma
  8. ’04 | Use me baby, one more time
  9. ’08 | Bit what? Bitcoin! — Hello world.
  10. ’13 | Ethereum — The World Computer (This article)

This series on the history of blockchain is coming to an end for the moment being and the next posts will explore the technological foundation of this groundbreaking innovation.

How It All Began

Source

This guy with the funky unicorn/lama/UFO/rainbow shirt is Vitalik Buterin, the mastermind and “father” of Ethereum, one of the most successful and influential blockchains to exist. And he’s 24 — not bad, huh?

Back in 2013 he came up with an idea that should prove to be a revolutionary one. One that would forever transform the way things would be thought and done. Buterin was fascinated by Bitcoin (read everything about Bitcoin right here) and saw a lot of potential in the technology underlying it — yet, there were way too many constraints if one wanted to actually create something else. You either would have to live with the shortcomings of Bitcoin or would have needed to build a completely new blockchain (which is super gnarly and hard stuff).

After his idea for a more sophisticated and extended version of Bitcoin was applauded, but not adapted, by the most innovative blockchain project back then (an israeli company called Mastercoin), he simply decided to go at it by himself.

“I thought [those in the Bitcoin community] weren’t approaching the problem in the right way. I thought they were going after individual applications; they were trying to kind of explicitly support each [use case] in a sort of Swiss Army knife protocol.”

- Vitalik Buterin

So in 2013 he began talking a lot about his idea for a more capable new blockchain and some prominent developers soon began taking notice — most notable a guy called Gavin Wood. He was the one who eventually pivoted Buterin’s idea towards a more general-purpose direction and was a substantial part of bringing their idea to life — Ethereum.

Photo by Ravi Roshan

Let’s try to understand what this thing that has everybody talking actually is.

In one sentence, Ethereum is an open source, decentralized computing infrastructure for building and executing smart contracts, on top of which you can develop decentralized applications.

Hmm.

Doesn’t sound too mindblowing? No worries, once you’re done with this article, you’ll have grasped why that one sentence contains a truly revolutionary power.

Back in 2014, Gavin Wood published their yellow paper, which laid out the mathematical reasoning behind their ingenious idea. To get things up and running, the team behind Ethereum decided to do a crowdsale, which got them 14$ million in August of that same year. The people who invested all this money got their native cryptocurrency in return for their dollars, called Ether (we’ll cover this aspect of Ethereum later in the article) — in total about 60 million Ether were sold.

All this money allowed them to go ahead with the development of their idea and in July 2015 the first version of their software was finally released — nicknamed “Frontier”.

While being inspired by Bitcoin and building on a lot of the same technological concepts, there are some key differences that are important to understand.

“Bitcoin is first and foremost a currency; this is one particular application of a blockchain. However, it is far from the only application. To take a past example of a similar situation, e-mail is one particular use of the internet, and for sure helped popularise it, but there are many others.”

- Dr Gavin Wood, Ethereum Co-Founder

Bitcoin was designed primarily as a payment system and is geared towards that, therefore it was quite difficult to properly extend its capabilities. Ethereum in contrast, while also having cryptocurrency called Ether, is not designed primarily as a payment system, but rather as a general purpose network. It is meant to serve as a foundation for all kind of powerful decentralized applications with built-in economics functions.

Basically it comes down to one thing. Bitcoin’s programming language (known as scripting language) is intentionally very limited and is constrained to simple true/false evaluations of spending conditions. Ethereum in contrast is designed as a programmable blockchain which is able to run code as complex and arbitrary as wanted — this is called Turing completeness (and will be explained later).

Due to that exceptional aspect, Ethereum is often called a world computer — an awesome and ingenious feat!

Photo by Fernando @cferdo

There are a couple of characteristics that make Ethereum so unique and powerful.

As with Bitcoin, the underlying blockchain technology enables some truly remarkable feats, such as an extremely high availability. A problem with centralized computing services, such as Amazon Web Service, is that once their servers are down, nothing works anymore. Due to the distributed nature of Ethereum, it doesn’t matter if some of the computers running the software are down — guaranteeing an almost 100% uptime.

Being an open and public blockchain also ensures a high level of transparency and audibility — all the code that is run and executed on the Ethereum is viewable and verifiable by each and everyone who’s interested and has the technical prowess.

Since there is no central authority that decides which code can be run and which not, there is virtually no censorship possible.

The automated nature of the smart contracts that are run without any human interference, drastically decreases counterparty risk, as any contract gets executed exactly as programmed.

Now let’s take a look at the technology that underpins Ethereum and enables these ingenious characteristics.

Technology

Photo by Ari He

First and foremost it is important to point out that Ethereum is being developed as an open software, meaning that it is 100% open source and everybody who wishes to work with the code can do so freely.

We won’t go too much in depth here about the specific technological components (this will be done in the future series on Technological Foundations), but after working your way through the following passages, you’ll walk away with a sound and comprehensive understanding of the concept that makes Ethereum work.

As already explained above, while Ethereum and Bitcoin built upon more or less the same blockchain architecture to validate and secure data in the network, Ethereum has a way broader scope and aim. Vitalik Buterin describe it as a:

“[…] decentralized mining network and software development platform rolled into one”

The essential feature of Ethereum that makes this possible is called the Ethereum Virtual Machine (EVM).

Photo by Tony Webster

A virtual machine can be described and imagined as a seperate computer that runs on another computer (computer inception in other words).

What the EVM does, is creating the internal state of the network. The internal state is literally the state of all the different aspects of the system at a given point in time. With all kinds of different things happening and taking place inside the network, it moves from one state to the other. How exactly that change is happening will be explained later.

The magic and extraordinary characteristic of the EVM is that is is (quasi) Turing complete. What’s Turing complete you might wonder?

Well, Turing completeness is a concept that goes back to the legendary mathematician and computer scientist Alan Turing who in 1936 published a groundbreaking paper in which he describes and defines a theoretical computer. If something is Turing Complete, it basically means that any given problem that is fed to the system can be computed eventually (this characteristic can be mathematically proven). You might wonder why I wrote that Ethereum’s EVM is “quasi” Turing complete.

This is due to something essential that is required for running code on Ethereum — so-called gas. Every transaction that is happening requires some of that gas in order to be executed — this is done in order to prevent infinite cycles of computing which would bring the system to a complete halt and render it unusable. You can think of it as a simple fee. Just like your car needs gasoline to drive, transactions on Ethereum need gas to run.

Photo by Markus Spiske

There has been a lot of talk about running code on Ethereum so far — but what exactly does this refer to?

The unique thing that can be done with Ethereum is to write so-called smart contracts. These smart contracts can be very simple or very complex and are the foundation of a class of applications known as decentralized applications or in short dApps (more on that later). They are used to automate certain transactions and they execute those without any human interference, making them run as programmed without any possibility of censorship, downtime, fraud or third party interference.

“A smart contract is a computerized transaction protocol that executes the terms of a contract. The general objectives are to satisfy common contractual conditions.”

— Nick Szabo, 1994

If you want to explore the origins of smart contracts, read this post about Nick Szabo (the father of smart contracts).

What’s awesome about Ethereum is that it offers the possibility to write these contracts in so-called high level programming languages, such as Solidity, Bamboo or Vyper, which are then compiled (translated) to a so-called EVM bytecode, which is the only language that the EVM actually understands.

So far so good, now let’s take a look at the blockchain aspect of Ethereum.

As with Bitcoin, all the transactions and the data comprised in them is validated and secured using certain cryptographic concepts and tools.

Let’s imagine that you’ve just finished writing a fancy new smart contract. You’ve programmed the smart contract to automatically order a delicious cake from the artesanal bakery next door, if it’s your birthday.

Photo by Patricia Prudente

Once the big day arrives, the smart contract is triggered and it automatically orders this yummy cake for you. In order for the smart contract to run, you need some gas though. Fortunately you thought ahead and have some beautiful Ether laying in your (electronic) wallet. The code runs as programmed by you, some gas is reduced from your account balance — a couple of hours later the doorbell rings and you’re thrilled to see a magnificent cake being delivered right to your doorstep. Awesome!

What seems super easy on the surface, actually has some really sophisticated engineering under its hood.

How did the state (a day like any other day, not your birthday) got changed to the new state (it’s your birthday)?

Well, in come so-called oracles. They are the connection between the blockchain and the off-chain world. These oracles are collecting information from different sources and then let the smart contract know if a certain event has happend or not.

And how is all this data secured and verified? Say hello to our good old friends the miners and the Proof of Work (PoW) consensus mechanism.

This foundational part of the tech is inspired by Bitcoin and works in exactly the same way.

Satoshi, the mysterious founder of Bitcoin, found a groundbreaking and mesmerizing solution to an old problem known as Byzantine Probleme (there will be a full length article about this soon). This problem describes the great challenge to coordinate resources among different participants and to find consensus. The problem is often described as a group of Byzantine generals who all besiege a city. Only if they attack at the same time, thy will be able do win the battle — the only problem is that they need to find a way of how to trust each other to attack in a coordinated manner.

Bitcoin managed to achieve Byzantine Fault Tolerance and solved this problem elegantly. It does so by using a marvelous consensus mechanism known as Proof of Work (PoW).

Miners collect all the transactions and changes happening in the system, verify them and then put them into a block. While they do this bookkeeping, they also participate in a cryptographic puzzle and try to find a solution to a difficult task.

This puzzle is based on hashing. It’s used all over the place but for now it’s simply important to understand the basic idea behind it. A hashing algorithm takes an input (this can be literally anything), runs it through some magic mathematical processes and then creates a unique output. In the case of Bitcoin, where it is used in the , it takes the resulting number (which is a hexadecimal number) and converts it again to a “regular” number. This regular number can then be converted to a binary number (0s and 1s).

The participating mines try to find a hash with a value that is underneath a set target. This is super difficult to do for them and they simply have to guess solutions. Once a correct hash has been found by someone, they have won the right to broadcast their block to the whole network. Once confirmed by the others, it’s get accepted and added cryptographically to the chain of blocks before it.

Why all this hassle you might ask yourself?

Well, this guessing is using a lot of computational power. And this computational power needs energy. Energy that you need to pay for. Therefore, by proving that you worked hard to find a solution and were willing to pay for it, you eventually at some point get rewarded big time: the one who finds the correct solution for the puzzle gets a reward (5 Ether) plus the transaction fees, aka gas (that the other people have to pay in order to have their transactions be conducted).

All the blocks that have been linked together are a testament to all the work that went into finding them. If you’d want to change something in a past block, you’d need to redo all the work that has been conducted afterwards!

Photo by Adi Goldstein

The computer who run the Ethereum software (more on this in a future article) always take the chain with the most Proof of Work put into them as the valid one. Thus consensus is reached in a decentralized network. Crazy, right?

Another fundamental building block is public key encryption, which works as follows: We start by taking a random string of numbers (e.g. 3860280357), from now on this will be called our private key) and mathematically derive another string of numbers from it — the resulting new string of numbers is called public key. A very important aspect of this process is, that it’s a so called one way function, which means that it’s very easy to calculate it into one direction (ergo from private key to public key), but not the other way around (aka it’s almost impossible to derive the private key from the public key)! The main take away that you need to remember and understand right now, is that these two keys share an intimate relation and are linked to each other.

One awesome thing that you can do with this is digitally signing something.

The Ether that you own are stored in your wallet, which is your public key. If you want to send someone Ether, you need to sign that transaction using your private key. You’re now your own bank and are solely responsible for not losing your private key (aka your password).

Ether

Source

There has been a lot of talk about Ethereum’s cryptocurrency, called Ether, so far in this post.

As already explained above, Ether is needed to run code and therefore to run the distributed applications built on top of them. The ominous gas that is needed to run this code, is denominated in wei (in honor of the prolific cryptographer Wei Dai).

Everytime you want to interact with smart contracts and the ethereum blockchain, you’ll need Ether for that.

Ether has actually different functions, it is for one intended as an incentive for writing high quality code (the better the code, lesser ether is needed) and secondly, miners get rewarded for their contributed resources (PoW).

There are two different ways in which you can get hold of Ether — either you’re a successful miner or you can pay a visit to an online exchange and buy some there.

Applications

Photo by Yannis Papanastasopoulos

“On the blockchain, no one knows you’re a fridge”

— Richard Brown

The general purpose nature of Ethereum is a technical marvel and an extraordinary feat, as it allows other people to build innovative applications on top of it — without having to build their own blockchain everytime.

One of the most essential things you can do with Ethereum is to create a custom cryptocurrency on top — a super duper easy process (takes you about 20 min).

These cryptocurrencies founded a completely new field that surrounds around incentivizing people to act in certain behaviours — this is known as cryptoeconomics.

Decentralized applications are manyfold and there is an ever-growing number of new projekts that try to find innovative solutions to many different problems. Let’s check some of the out below:

Digital Identity is an essential field that is being explored by many different startups. For example, uPort is a project that aims at preserving your online identity, including all the data that you create while being online. All your data is collected by them — they don’t have access to it though, only you with your corresponding private key can decide to make it available to another party.

Gaming is another field where there is a lot of development — the most famous one being cryptokitties. They make use of a unique token type that is not fungible (not interchangeable = unique) and you can buy, sell or breed your own cryptokitten on the blockchain. The most expensive one ever sold had a prize of 170.000$!

Prediction markets are another super interesting field — one of the most famous projects here is Gnosis. User can create bets for literally everything (an election outcome, the avocado harvest next year, ect.) and experts then weigh in — placing bets in the form of token. Thus the company hopes to harvest the swarm intelligence to pinpoint into the most probable outcome — the experts who were right get the staked tokens afterwards.

A decentralized supercomputer has also been developed to run on the Ethereum blockchain — called Golem. Through this dApp people can harness the computing power of all the computers connected to the Golem network — paying for it in their native token called GNT. If you happen to have some extra computing power that you’d like to be used, you can provide that and earn GNT in return.

One of the mostly used things that Ethereum enables people to do, are definitely so-called Initial Coin Offerings (ICO). It’s a beloved way by many project to raise capital without having to go through any intermediaries (such as banks, etc.). This is a topic that warrants its own article in the future, therefore if you’re interested in it right now, just click here for a quick explanation.

A truly revolutionary thing made possible are so-called decentralized autonomous organizations (DAO). These structures are a collection of smart contracts, that operate completely independently and transparently, without any human interference (even its creators). Ideas that fall under this category are for example cars that own themselves.

“A DAO consists of one or more contracts and could be funded by a group of like-minded individuals. A DAO operates completely transparently and completely independently of any human intervention, including its original creators. A DAO will stay on the network as long as it covers its survival costs and provide a useful service to its customer base”

- Stephen Tual, former CCO Ethereum

There are countless other applications that are being developed right now in all kinds of industries, so we can be sure to see some exciting new stuff coming out soon (hopefully).

We will end this post with two quotes that perfectly sum up the ingenious invention that Ethereum is. The first one by Mohit Mamoria perfectly sums up the advantage that Ethereum has over conventional systems:

“To enjoy the lower costs of using a centralized computer, we give them the power to control us. If the central computer (server) goes down or gets hacked, it takes down with it all the clients attached to it. A decentralized computer will only go down if every single node goes down, making it a computer that will always be available. Wherever there’s internet, there’s Ethereum.”

And last but not least, Vitalik Buterin’s thought on the baby he created:

“When I came up with Ethereum, my first first thought was, ‘OK, this thing is too good to be true.’ As it turned out, the core Ethereum idea was good — fundamentally, completely sound.”

You’ve made it, we’re done with this post — high five yourself for working your way through this rather complex topic!

I hope that you’re walking away with a sound understanding of Ethereum and the engineering marvel that it is. If you have any questions, remarks or constructive feedback, please don’t hesitate to let me know.

Yours truly

Till

PS: If you’re looking for helpful and great resources to learn more about blockchain’s paradigm shifting technological potential, check out these awesome resources.

--

--

Till Antonio Mahler
blockwhat?

Technology enthusiast from Berlin. Lover of random yet mesmerizing knowledge. Curious about all aspects of life.