In order to get a proper grasp of Ethereum, we should first briefly go through the history of blockchain systems. This will help us understand why the systems exist in the first place and what their advantages are.
If you're already familiar with Bitcoin and Ethereum, feel free to skip this chapter.
The tale of Bitcoin...
In 2008, a mysterious programmer published a whitepaper under the pseudonym "Satoshi Nakamoto", which would come to revolutionise the way we view money.
He explained in detail how a decentralised ledger (the so-called "Blockchain") could be the basis for this new digital monetary system, how transactions were added to the ledger through "mining", and how the user's cash was secured thanks to advanced cryptography. He called the system Bitcoin.
At the time, few people understood what a breakthrough this new invention was. Not only did Bitcoin spark a debate about what money really is, but it also solved a decades-old problem in computer science – how can a series of independent computers agree on the state of a network without having to trust each other?
To understand how and why the blockchain system works, I recommend checking out this excellent video by Anders Brownworth:
Bitcoin quickly stirred the imagination of programmers and entrepreneurs worldwide: if the Blockchain technology could be used to free the monetary system from old institutions, what else could it disrupt?
In 2013, a group of clever people started working something that they thought was missing in Bitcoin and the blockchain ecosystem: a Turing complete programming language. To make it work, they designed a new system, which was more permissive and flexible, called Ethereum.
This opened the door for many new exciting possibilities. Instead of just sending money back and forth, programmers could now design entire applications that live on the blockchain.
So why should you even care about all this? Well, the truth is – we don't know. No one knows for sure what companies and apps will use this technology to their advantage.
Many people have drawn analogies to the internet in the early 90s – when the HTTP protocol was conceived, almost no one could really predict the social media boom that would follow a couple of years later, but the dreams and promises of the internet eventually came true.
I believe Ethereum is going through a similar phase at the moment – a decentralised world computer seems like a cool futuristic thing, but we don't know for sure what applications it will give rise to. Everything depends on the imagination of people like you and me – the developers that are willing to bet that the future of the web is decentralised.
With all this being said, there are already some use cases where blockchain applications have obvious benefits:
Applications where certain data or state has to be independently verifiable, without necessarily trusting a centralised third party. (e.g. digital identities)
Applications with data that cannot be censored. Everything stored on the blockchain is there permanently, forever and cannot be removed by any single party. (e.g. an uncensorable Twitter)
Applications that want to issue transferrable unique tokens where the authenticity is easy to verify (e.g. digital stocks, coupons... etc.)
Applications that need programmable transactions, where the flow of money is automatically sent from one place to another depending on certain events. (e.g. a decentralised crowdfunding platform)
These are just some ideas to illustrate Ethereum's potential. Throughout the rest of the course, we're going to explore the Ethereum ecosystem together and start building our own blockchain applications.
In the next chapter, we're going to specifically look into the concept of smart contracts in more detail.