Ethereum - The world computer
A lot of people might have heard of Ethereum, the new blockchain technology coming up as a successor to the bitcoin cryptocurrency.
Although widely celebrated as the next big thing, the reaction to being stressed by the DAO hacker(s) recently and an ethically questionable hardfork revealed that not everyone has fully understood how Ethereum works.
The price of Ether - Ethereum’s cryptocurrency - seemed to be strongly coupled with the success of the DAO (The Decentralized Autonomous Organization), being just one of many projects built upon the Ethereum technology. Every hardfork announced inexplicably leads to a price drop, revealing how scared those who bought into Ethereum are. All the hardforks ever made on the Ethereum technology either brought improvements as planned or fixed minor issues without harming any of its users.
The only hardfork discussed controversially was the DAO hardfork which wasn’t necessary because of a flaw in the Ethereum technology, but rather because the developers of the DAO and its reviewers were unfamiliar with the Ethereum technology. Critics say the DAO is a contract written as code, and there are clear rules how to execute the code within the Ethereum VM. So basically, there is no space for interpretation on how the contract could’ve been meant, it is all contained “within the code”. On the other hand, people have invested huge amounts of money, and the DAO project that once has been the flagship project transformed into the weight that eventually might have sunk the Ethereum ship. So it was not like there was a choice for the developers to rescue the DAO token holders, but not for technical reasons, but because people do not seem to understand the technology. Of course, this is opinionated, but if you ask me as the tech guy playing with Ethereum and building mining farms, the Ethereum project undoubtedly is the most promising, highly underrated technology I have seen for a long time.
The technology stack
Let’s take a deep dive into how Ethereum works. You will probably remember the early days of torrents when people shared media on the peer to peer networks (peers = connected computers). The blockchain technology is built on top of this concept, but instead of sharing a variety of different files, the blockchain tries to synchronize a single file on the network that contains transactions. So it introduces a new dimension with its truth being built by the surrounding peer to peer network.
Because all the peers are physically spread across the world, it may happen that more than one truth forming the local consensus may exist temporarily, but depending on chance one or another truth will dominate and force those believing in the “wrong truth” to rewrite their history. A consensus is achieved when a certain truth (i.e. transactions on the blockchain) has been propagated and accepted by most of the peers. Physically limiting the number of propagations a single peer can emit slows down the propagation process, but also hardens the network so evil minded peers cannot spam the blockchain. Similar to Bitcoin, the physical limitation is implemented using a hashing algorithm trying to guess the outcome. Think of a number code lock. Each mining peer that wants to propagate a block tries to find the random number code to be able to propagate.
This process is called mining. There are quite impressive builds of mining farms on the net, running thousands of mining units such as graphics cards or ASIC miners in shelves. These mining farms consume an insane amount of electricity powering the network by propagating blocks trying to guess numbers all day long and being rewarded by the network if they were able to. Said reward is a certain amount of the respective cryptocurrency (the so-called “block reward”), it gets paid out until the volume of cryptocurrency has been exhausted. It is like mining with a pickaxe, hoping to find gold nuggets after each hit.
On websites like whattomine.com, you can look up the statistical worth of mining at a given time. Whattomine.com roughly compares several cryptocurrencies’ mining electricity costs against their current market price. At 9elements we have built an Ethereum mining farm, too, which is both a challenging and exciting project. Mining is like walking uncharted territories for us developers. You have to solve quirky problems with creative solutions, and there have been many people hoping to make a quick buck by putting up some mining rigs that later on have been overwhelmed by technical difficulties. But that is just one side of the technology. If you look at the differences between Ethereum and Bitcoin, and especially why Ethereum has been said to be the successor to Bitcoin, you will notice that the Bitcoin system is only capable of transferring cryptocurrency between accounts. Ethereum has been designed to do a lot more.
Each address on the network - think of it as an account - can be operated by someone holding the key to this address or by a contract. Think of a contract as a virtual robot acting exactly as defined in code. If you send the robot some money and ask it to do something, it will do whatever the contract specifies (for example take a certain amount of it and send it to someone else). The robot is equipped with a limited amount of memory, not much, but yet enough to keep track of things. The contract defines all the behavior, so there is no ambiguity about what is going to happen as long as you have seen and understood the contract before interacting with it.
Of course, there is limited use for such a robot not being able to operate with the surrounding world without any sensors and the like. But the idea is not to use such a contract as a complete solution for solving every problem; it has been designed to be the unmanipulatable part of a machine, holding data that has been approved by the network to be the universal truth. It’s the digital notary that reassures you to trust this data at a particular point in time with a certain probability. That probability increases with the number of propagated blocks stacking up in the transactional history. If you are not trying to propagate blocks for rewards, the hardware requirements are pretty low. What you can get rid of is the middleman you need to trust.
Ethereum in the physical world
By connecting to peers and being a part of the blockchain, any IOT (Internet of Things) device can be operated based on trusting a contract. Think of integrating this into real world applications, the most primitive being an IOT lock for a door, or more sophisticated solutions such as Blockcharge as proposed by Slock.it. Blockcharge is an ingenious example of how to connect physical devices and combine them with the Ethereum technology. The key value of this product lies in the Blockcharge power socket which contains a small computer. Using the blockchain technology, this small device automatically negotiates energy prices and charges for the energy taken from the socket by being able to build up trust through the Ethereum network.
However, the usage is not limited to IOT devices, even though a decentralized network seems to be the perfect fit for decentralized devices. Every application that has to ensure trust in a pay as you go manner use-case is suited. At the very basic level, all the rental businesses can be easily transformed. Think of carsharing with cars connected to the blockchain automatically unlocking doors, energy distribution, apartments for rent and the list goes on. Ethereum as a decentralized network seamlessly fits into our zeitgeist. By eliminating the central authority, the Ethereum technology liberates its users.
Problems to solve in the future
Now, these are theoretical considerations, but practically, the Ethereum technology still has a long way to go. The liberty to interact with any contract requires that all signees must be able to understand the implications of interacting with in full. This hasn’t been achieved yet, as the case with the DAO perfectly depicts. Still, many things are very technical, and we will probably need some adaptive technology to break down bare contracts into something everyone can understand and sign, without having an in-depth knowledge on programming. When the DAO stress (I prefer to use the word “stress” instead of “attack”) hit the network, it became evident how underdeveloped the political structure of the community still is. Since there was a limited time frame given by the DAO creation phase, the community had to hurry up to decide whether to fork or not in this ethically complicated case. I am sure that everyone involved tried to fix the chaos somehow, but there hasn’t been enough time for exhaustive discussions. As the recent spam attacks in the Ethereum network showed, there are still some screws to be adjusted for stability. However, without a doubt, Ethereum as a concept is the most underrated, revolutionary technology I stumbled upon in the last few years. In fact, many people still struggle to understand it, but once you get the idea, you will be completely fascinated.