If “Ethereum” sounds like a sci-fi concept to you, that’s because it kinda is.
The name Ethereum originated from “ether,” which was a hypothetical term for an invisible medium that fills all space and carries and distributes light.
Ether doesn’t really exist, but the founder liked the cool name AND the idea of an underlying and invisible medium for every application.
How the heck can Ethereum do that?!
To put it simply, it does so by allowing applications to run over a distributed network of computers, that would act as a kind of a “global computer”.
Not only would this network of computers run applications, but it’d also keep track of any changes to data that were made by the applications by creating an electronic version of a “paper trail” that’s public for all to see, yet secure.
Say whu?! Huh?!
Thatt may sound like gibberish to some of you, but don’t worry because we’ll talk more about how Ethereum works. But first, we gotta go back to the basics and talk about blockchain technology.
What is a blockchain?
A blockchain is a public database that stores information in groups known as “blocks”.
The blocks are arranged in chains so that the public will know which transactions came first.
Only a dedicated (but distributed) network of computers can add new transaction blocks. They use cryptography to make sure transactions are legit and to check if the nameless blockmaker is building on the same chain that everybody else is seeing.
The use of cryptography in verifying transactions and building the blockchain makes the chain secure and immutable. “Immutable” basically means that no one – not even John Cena or Doctor Strange – can change the record of transactions on the blockchain.
The distributed nature of the computers that build the blockchain allows the ledger to be decentralized. That is, no single authority can make changes to the blockchain.
Again, not even John Cena. Sad.
Because all participating computers keep the same updated copy of the ledger, information on the blockchain is also open and transparent to anyone who would want to take a look.
These blockchain features come in handy when applications need a trustless vehicle to execute transactions that may involve important documents, digital assets, or just a lot of $$$.
Let’s say you want to send money to a friend who’s buying the latest hot Air Jordan sneaker release for you since they’re sold out in your city.
You can send your friend the money with a bank, but it could take hours or days to verify the transfer. The store could run out of your shoe size by then!
You can also use an app but storing $$$ in a centralized app makes your account vulnerable to a hacker draining all your funds. Or the app freezing your account because you posted #TeamPineappleOnPizza on your social media.
If you transfer the money using blockchain technology, no one can stop you from spending your own money and it would reach your friend faster than if you had waited for traditional banks to confirm. Finally, your friend can verify that you’ve made the transfer on a public and secure ledger.
Example: Bitcoin’s Blockchain
To understand how blockchain works, let’s look at its OG real-world working example: Bitcoin.
Bitcoin is widely known as a digital currency that allows people to send and receive funds globally, without relying on financial institutions or middlemen.
Bitcoin was designed to be an alternative to traditional fiat currencies, functioning as a “medium of exchange” (something that is widely accepted in exchange for goods and services).
Instead of banks or financial institutions keeping track of transactions on their own books, these transactions are recorded on the blockchain.
Since the blockchain is a distributed ledger stored across a vast network of computers, it is virtually impossible for the data to be lost if servers crash or be tampered with by hackers.
Anyone with access to the internet can send money abroad, receive funds, and make payments using bitcoin.
The downside, however, is that setting up a Bitcoin wallet and getting the hang of private and public keys can be a complicated process.
But that’s why I wrote a Beginner’s Guide to Bitcoin Wallets.
Also, since there is no central authority in charge of maintaining the network, you can’t exactly call customer support when you make a mistake. Now that could mean permanent losses since Bitcoin transactions are irreversible!
While there’s still plenty of room for improvement, Bitcoin opened the door to the exciting new world of blockchain technology for Ethereum to tap into and explore its full potential.
What is Ethereum?
When man first discovered fire, it was mainly used to keep warm, heat food, and deter predators.
And then one day, someone woke up and said, “Ooga booga. Lemme heat this rock-a.” This is how fire use evolved into weapons-making, pottery, and eventually steam power and other industrial applications.
In Ethereum’s case, the “fire” is blockchain technology.
Bitcoin represents the first use case of blockchains. It opened our eyes to the benefits of using a secure, distributed ledger to transfer value (in a digital currency denominated in bitcoin).
But then one day, a dude named Vitalik, woke up and thought, “What if we tweaked the blockchain software to do more than just transfer value? What if we created a global computer?”
This is essentially what Ethereum does. Not only can it keep track and transfer value using blockchain technology like Bitcoin, but it can also run computer programs (instructions that tell a computer what to do).
Rather than being a one-trick pony like Bitcoin, Ethereum is a computing platform that allows developers to build their own purpose-specific applications.
With the Ethereum Virtual Machine (EVM), Ethereum can execute programs like “smart contracts”.
A “virtual machine” is a piece of software that behaves like an actual physical computer that can run programs and deploy apps. It’s basically a software program on a computer that works like it is a separate computer inside the main computer.
You read that right!
Ethereum goes beyond the original capabilities of Bitcoin in that it can support and execute programmable smart contracts.
Smart contracts are agreements written in code and have pre-determined instructions that can be executed as soon as specific conditions are met and verified.
A smart contract is pre-programmed software code (“computer program”) so that once specified conditions are met, the code is automatically executed.
A simple example would be if Person A was promised a 10% interest rate if he lends 2 BTC to Person B for a year. Once the year is over, Person A would automatically get his 2 BTC + 10% interest rate even without talking to Person B or asking a third party to fulfill the contract.
Score one for introverts!
Not surprisingly, the ability to execute contracts trustlessly and then record them on a secure and decentralized network has found many use cases.
By writing these programs (“smart contracts“), developers can create all sorts of programs (called decentralized applications or “dApps“.)
Decentralized finance (DeFi), for example, uses dApps based on smart contracts that execute peer-to-peer transfers, fundraising, lending, borrowing, and other financial activities.
Users can also write smart contracts linking information to an Ethereum address. This is useful when apps or governments ask for identity features such as name, bank information, medical history, or e-signature to avail of their services.
Last but definitely not least, users adopt smart contracts to attach a real-life or digital asset to a non-fungible token (NFT).
Once the token is on the blockchain, gamers can own and trade their in-game assets; homeowners can sell a portion or all of their home on online marketplaces, and writers and composers can prove ownership of copyrighted material.
Take note that Ethereum is not only executing these smart contracts but also recording them. Unlike Bitcoin, Ethereum’s blockchain contains more than transaction history.
When new contracts are executed, the “state” of the machine changes into a new “state” that contains new account balances, transformed assets, or other data.
This new machine “state” is then recorded by a distributed network of participating machines (“nodes”) who then update their own “states”.
This is why Bitcoin is usually called a distributed ledger (tracks the changes in ownership of bitcoins) while Ethereum is more often compared to a distributed state machine (tracks the changes of the “state” of a broader range of data).