The complete beginner’s guide to Ethereum
Last updated: 12/18/18
In this article we’re going to explain in depth what is Ethereum. Don’t worry, the whole explanation will be non technical and easy to understand!
Ethereum was proposed in 2013 and brought to life in 2014 by Vitalik Buterin. Unlike the Bitcoin network which was designed for Bitcoin transactions only, Ethereum is a blockchain network that runs DIY decentralized programs (or Dapps). ‘Ether’ is Ethereum network’s currency and it is used for running Dapps.
Here’s what will go over in this post:
Don’t like to read? Watch the video version of this article:
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 original video, “what is Bitcoin”.
Before Bitcoin was invented, the only way to use money digitally was through an intermediary such as 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?
From Bitcoin to Blockchain
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 a 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 can we 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 behaviour, get a huge network of computers to run this code and so on….that’s a lot of work.
Ethereum was first proposed in late 2013 and then brought to life in 2014 by Vitalik Buterin who back 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 centralized 3rd parties. 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 “Thens”. 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.
For example, if I have a smart contract that is used for paying rent, the landlord doesn’t need to actively collect the money from me. 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 can not 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.
This all came to a crashing halt when the DAO event happened.
When smart contracts go wrong
“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 at 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 that 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.
Hopefully by now you have a better understanding of what Ethereum is – A network of computers working together to replace the centralized model of programs and companies which run the Internet today. If you want to learn more about how Ethereum works I suggest continuing with our Ethereum wallets guide.
You may still have some questions. If so, just leave them in the comment section below.
Special thanks to: