What is Ethereum? I mean, I keep
hearing about it all the time, I’ve seen it’s the second-largest cryptocurrency
around but I just can’t seem to wrap my head around it. Is it as revolutionary
as Bitcoin? Can it actually change the world as we know it?
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.
Ethereum |
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 a set of “If's” and “Then”. 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. 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 supercomputer
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. Ethereum’s network and Ether are a whole new rabbit hole that we’ll cover but I think this will do for now as an intro to Ethereum.