With BitPay's launch of Ethereum support, we wanted to provide a simple introduction to this blockchain and explain its purpose, value, and potential. We have a list of resources at the end for anyone wanting to dive deeper into Ethereum.
What is Ethereum For?
Think about traditional money. If you’re buying a donut, you just need some cash. But if you’re buying a house or renting an apartment or setting up an annual subscription for your internet, it’s not as simple as paying with cash, a check, or a credit card. You have to sign an agreement and trust a third party to honor the terms of that agreement whether that’s a law firm handling your escrow, a landlord handling your rental agreement, or a company handling your annual subscription.
Bitcoin and other cryptocurrencies work well as digital currencies to buy goods and services online. But they have the same limitations as cash when it comes to more complicated transactions like mortgages and apartment leases.
You could build different blockchains for each of these types of purchases. You could have a blockchain just for mortgages, a blockchain just for renting apartments, a blockchain just for subscriptions to Netflix, and so on.
But that creates a problem. Every blockchain needs to be maintained and ones that are too small are vulnerable to attacks.
So what if you made a blockchain that was flexible and powerful enough to build all these kinds of things on top of? Well, Vitalik Buterein had exactly that idea back in 2013 and got to work with Gavin Wood, Joseph Lubin, and others to create the Ethereum we know and love today.
How Does Ethereum Work?
Another way to explain the Ethereum blockchain is as a world computer. Think about your computer or smartphone. You can make changes on it, but those changes only are on your machine. For Ethereum, every change is made to this global, public machine (a transaction from A to B updates the blockchain ledger and counts as a change made to the machine).
But Ethereum isn’t just any old machine. It allows for Turing complete programming. If you want, you can take a deep dive into Turing completeness and Turing machines, but, simply put, it means that something that is Turing complete can solve any computational problem on a computing machine. In plainer English, it means you can build any and all kinds of applications on top of Ethereum just like you can build all kinds of software on top of Mac and Windows and Linux.
How do you build stuff for Ethereum? The same way you build smartphone apps or video games or operating systems: with a blockchain programming language. You use a blockchain programming language like Solidity or Vyper to program smart contracts. Smart contracts are computer programs run on the Ethereum network. They will run the same way every time and they can’t be changed (if you want to stop them from running, you have to run a SELFDESTRUCT code, but even that won't erase their history from the Ethereum blockchain, it'll just make sure they stop running).
If Ethereum can do so much, why wouldn’t other cryptocurrencies like Bitcoin have the same flexibility and functionality? Why aren’t all blockchains Turing complete? To see why, you can read through a list of things that are Turing complete by accident. Here are some fun examples. First, you can, with the right series of movements, turn Super Mario World
into Flappy Bird.
As another example, someone else figured out how to beat a Pokemon game in 90 seconds by modifying the code (see the full video here)
In the first case, someone was able to change the entire game into something it wasn’t intended to do. In the second, the player was able to win the game in a way the creators didn’t intend. This stops being all fun and games when the code or software or app you’re using is managing your money. In fact, this amount of freedom offered by Ethereum’s Turing complete design has already affected the community. This is why developers have to be careful when building DApps on Ethereum.
Cryptocurrency is a decade old and Ethereum has hardly been around for half that time. Much like people in the early days of the Internet, PCs, and Smartphones couldn’t have predicted their impact, we can’t even imagine the full impact Ethereum and Web 3.0 will have on the world. Even right now, Stablecoins show that these smart contracts on the Ethereum blockchain have amazing potential for businesses making cross-border payments (we've already talked about that in a past blog post).
Resources and Additional Reading
Resources for Learning More About Ethereum
- Mastering Ethereum by Andreas Antonopoulos and Gavin Wood (available on Amazon and GitHub)