What on earth is Ethereum?
I mean, the second largest cryptocurrency around.
Is it as revolutionary as Bitcoin?
Can it actually change the world as we know it?
If you want to have a better understanding of Ethereum, but are tired of explanations that sound like complete technical gibberish, stick around…
We’ll answer these questions and more. Before we get into Ethereum we need to do a quick recap about Bitcoin, since it’s the basis from which Ethereum was born.
By now you probably know that Bitcoin is a form of decentralized money, and if you still have some questions about what that means or how it works, then you might consider revisiting our blog, “what is Bitcoin”.
Before Bitcoin was invented, the only way to use money digitally was through an intermediary like a bank, or Paypal. Even then, the money used was still a government issued and controlled currency.
However, Bitcoin changed all that by creating a decentralized form of currency that individuals could trade directly without the need for an intermediary. Each Bitcoin transaction is validated and confirmed by the entire Bitcoin network. There’s no single point of failure so the system is virtually impossible to shut down, manipulate or control.
Pretty neat huh? Well, now that we know that money can be decentralized, what other functions of society that are centralized today would be better served on a decentralized system? What about voting? Voting requires a central authority to count and validate votes. Real estate transfer records currently use centralized property registration authorities. Social networks like Facebook are based on centralized servers that control all of the data we upload to them.
What if we could use the technology behind Bitcoin, more commonly known as Blockchain, to decentralize other things as well?
The interesting thing about Blockchain technology is that it’s actually the by-product of the Bitcoin invention. Blockchain technology was created by fusing already existing technologies like cryptography, proof of work and decentralized network architecture together in order to create a system that can reach decisions without a central authority.
There was no such thing as “blockchain technology” before Bitcoin was invented. But once Bitcoin became a reality, people started noticing how and why it works and named this “thing” blockchain technology. Blockchain is to Bitcoin what the Internet is to email; a system on top of which you can build applications and programs.
A currency like Bitcoin is just one of the options. So this got people very excited, and they began to explore what else we can decentralize. However, in order for a system to be truly decentralized it needs a large network of computers to run it. Back then the only network that existed was Bitcoin and it was pretty limited.
Bitcoin is written in what is known as a “Turing incomplete” language which makes it understand only a small set of orders, like who sent how much money to whom. If you want to create a more complex system, you’ll need a different programming language, which means a different network of computers.
Imagine for a second you wanted to build your own decentralized program, just like Bitcoin, at home. You’d need to understand how Bitcoin’s decentralization works, write code that mimics the same behavior, and get a huge network of computers to run this code and so on…. And that is a lot of work. Enter Ethereum.
Ethereum was first proposed in late 2013 and then brought to life in 2014 by Vitalik Buterin who at the time was the co-founder of Bitcoin Magazine. Ethereum is the Do It Yourself platform for decentralized programs also known as Dapps – decentralized apps. If you want to create a decentralized program that no single person controls, not even you even though you wrote it, all you have to do is learn the Ethereum programming language called Solidity and begin coding.
The Ethereum platform has thousands of independent computers running it meaning it’s fully decentralized. Once a program is deployed to the Ethereum network these computers, also known as nodes, will make sure it executes as written. Ethereum is the infrastructure for running Dapps worldwide. It’s not a currency, it’s a platform. The currency used to incentivize the network is called ETHER but more on that later. Ethereum’s goal is to truly decentralize the Internet.
Wait? The internet is centralized?
I thought the Internet already was decentralized and that anyone can start their own site. While in theory that might be true, in practice Amazon, Google, Facebook, Netflix and other giants control most of the World Wide Web as we know it.
There’s almost no activity on the web that happens without some sort of intermediary or 3rd party. But once the concept of digital decentralization was demonstrated by Bitcoin, a whole new array of opportunities became available.
We can finally start to imagine and design an Internet that connects users directly without the need for a centralized 3rd party. People can “rent” hard drive space directly to other people and make Dropbox obsolete. Drivers can offer their services directly to passengers and remove “Uber” as the middleman.
People can buy cryptocurrencies directly from one another without the need for an exchange that can get hacked or steal your money.
Ethereum allows people to connect directly with each other without a central authority to take care of things. It’s a network of computers that together combine into one powerful, decentralized supercomputer.
Ok, so now you know what Ethereum does but we haven’t touched upon HOW it does it?
Ethereum’s coding language, Solidity, is used to write “Smart Contracts” that are the logic that runs Dapps.
Let me explain…
In real life, all a contract is, is a sets of “Ifs” and “Terms”. Meaning a set of conditions and actions.
For example, if I pay my landlord $1500 on the 1st of the month then he lets me use my apartment. That’s exactly how smart contracts work on Ethereum.
Ethereum developers write the conditions for their program or Dapp and then the ethereum network executes it. They are called smart contracts because they deal with all of the aspects of the contract – enforcement, management, performance, and payment.
If I have a smart contract that is used for paying rent, the landlord doesn’t need to actively collect the money. The contract itself “knows” if the money has been sent. If I indeed sent the money, then I will be able to open my apartment door. If I missed my payment, I will be locked out. However smart contracts also have their downsides.
Going back to my previous example, instead of having to kick out a renter that isn’t paying, a “smart contract” would lock the non-paying renter out of their apartment.
A truly intelligent contract on the other hand, would take into account other factors as well, such as extenuating circumstances, the spirit with which the contract was written and it would also be able to make exceptions if warranted. In other words, it would act like a really good judge.
Instead, a “smart contract” in the context of Ethereum is not intelligent at all. It’s actually uncompromisingly letter strict. It follows the rules down to a T and can’t take any secondary considerations or the “spirit” of the law into account like what commonly happens with real world contracts. Once a smart contract is deployed on the Ethereum network, it cannot be edited or corrected, even by its original author.
It’s immutable. The only way to change this contract would be to convince the entire Ethereum network that a change should be made and that’s virtually impossible.
This creates a very serious problem since unlike Bitcoin, Ethereum was built with the ability to create really complex contracts, and complex contracts are very difficult to secure. With any contract, the more complicated it is, the harder it is to enforce as more room is left for interpretations, or more clauses must be written to deal with contingencies.
With smart contracts, security means handling with perfect accuracy every possible way in which a contract could be executed in order to make sure that the contract does only what the author intended.
Ethereum launched with the idea that “code is law”. That is, a contract on Ethereum is the ultimate authority and nobody could overrule the contract. Well, that all came to a crashing halt when the DAO event happened.
“Dow” or DAO stands for “Decentralized Autonomous Organization” which allowed users to deposit money and get returns based on the investments that the DAO made.
The decisions themselves would be crowd-sourced and decentralized. The DAO raised 150M$ in Ethereum currency, ether, when ether was trading around 20$. While this all sounded very good, the code wasn’t secured very well and resulted in someone figuring out a way to drain the DAO out of money.
Now you could say that the person who drained the DAO was a “hacker”. But some would argue that this was just someone who was taking advantage of the loopholes he found in the DAO’s smart contract.
This isn’t very different than a creative lawyer figuring out a loophole in the current law to effect a positive result for his client. What happened next is that the Ethereum community decided that code no longer is law and changed the Ethereum rules in order to revert all the money that went into the DAO.
In other words, the contract writers and investors did something stupid and the Ethereum developers decided to bail them out.
The small minority that didn’t agree with this move stuck to the original Ethereum Blockchain before its protocol was altered and that’s how Ethereum Classic was born, which is actually the original Ethereum. We’ve covered a lot up until now and the last thing I want to talk about is Ethereum as a currency.
We’ve already established that Ethereum is basically a large bunch of computers working together like one super computer to execute code that powers Dapps. However this costs money – Money to get the machines, to power them up, store them and cool them if needed. That’s why ETHER was invented. When people talk about the price of Ethereum they actually are referring to ETHER – the currency that incentivizes people to run the Ethereum protocol on their computer. This is very similar to the way Bitcoin miners get paid for maintaining the Bitcoin blockchain.
In order to deploy a smart contract to the Ethereum platform, its author must pay to do so. That payment is made in the form of ETHER. This is done so that people will write optimized and efficient code and won’t waste the Ethereum network computing power on unnecessary tasks. ETHER was first distributed in Ethereum’s original Initial Coin Offering back in 2014. Back then it cost around 40 cents to buy one ETHER. Today, one ETHER is valued in hundreds of dollars since the use of the Ethereum network has grown immensely due to the ICO hype that started in 2017.