Ethereum is a decentralized computing platform. It generates a crytocurrency token known as Ether. Programmers can write “smart contracts” on the Ethereum blockchain, and these contracts are automatically executed according to their code.
What is Ethereum?
Ethereum is often mentioned in the same breath as Bitcoin, but it’s rather different. Bitcoin is a cryptocurrency and decentralized payment network that allows Bitcoin tokens to be transferred between users.
The Ethereum project has larger goals. As the Ethereum website puts it, “Ethereum is a decentralized platform that runs smart contracts.” These contracts run on the “Ethereum Virtual Machine,” a distributed computing network made up of all the devices running Ethereum nodes.
The “decentralized platform” part means that anyone can set up and run an Ethereum node, the same way anyone can run a Bitcoin node. Anyone who wants to run a “smart contract” on the nodes has to pay the operators of those nodes in Ether, which is a cryptocurrency token tied to Ethereum. Thus, people who run Ether nodes provide computing power and are paid in Ether, in a similar way to how people who run Bitcoin nodes provide hashing power and are paid in Bitcoin.
In other words, while Bitcoin is just a blockchain and payment network, Ethereum is a distributed computing network with a blockchain that can be used for many other things. Detailed information is available in the Ethereum white paper.
What is Ether?
Ether is the digital token (or cryptocurrency) associated with the Ethereum blockchain. In other words, Ether is the coin and Ethereum is the platform. However, people now often use these terms interchangeably. For example, Coinbase allows you to buy Ethereum—by which it means Ether tokens.
This is technically “altcoin,” which really just means a non-Bitcoin cryptocurrency. Like Bitcoin, Ether is backed by a decentralized blockchain—in this case, the Ethereum blockchain.
Developers who want to create apps, or “smart contracts,” on the Ethereum blockchain need the Ether token to pay nodes to host it, while users of Ethereum-based apps may need Ether to pay for services in those apps. People could also sell services outside the Ethereum network and accept payment in Ether, or Ether tokens could be sold for cash on an exchange—just like Bitcoin.
Why Are Decentralized Applications Interesting?
The Bitcoin blockchain stores a history of Bitcoin transactions, and that’s it. The Ethereum blockchain stores the Ether tokens in people’s wallets, but it also stores the most recent state of each smart contract as well as each smart contract’s code.
A blockchain is a distributed ledger stored in multiple locations, so this means that the smart contract data is stored by those Ethereum nodes. If you create a “smart contract”—also known as an application—on the blockchain, it’s stored and run in a decentralized manner.
For comparison, think of many of the applications we use today. This includes email apps like Gmail, note-taking apps like Microsoft OneNote, and anything else where you use an app and store your data on a company’s servers. If the company storing your data bans your accounts, shuts down the app, or goes out of business, you’d lose all the data you had in that app unless you had an offline backup copy.
If you were using an app built on top of Ethereum, both the code that makes up the app (the smart contract code) and personal data (the state of the smart contract) would be stored on the blockchain. Whenever you used an app and changed your data, all the Ethereum nodes would update the state of the smart contract. This means that there’s no central “point of failure” that could take away your access to the data or shut down the app you use. Your data and the app’s code itself would be backed up all over the world, and no one could take all those notes offline. Of course, your data would be encrypted by the blockchain so no one else could read it.
What Are Smart Contracts?
Smart contracts are applications that run on the Ethereum Virtual Machine. This is a decentralized “world computer” where the computing power is provided by all those Ethereum nodes. Any nodes providing computing power are paid for that resource in Ether tokens.
They’re named smart contracts because you can write “contracts” that are automatically executed when the requirements are met.
For example, imagine building a Kickstarter-like crowdfunding service on top of Ethereum. Someone could set up an Ethereum smart contract that would pool money to be sent to someone else. The smart contract could be written to say that when $100,000 of currency is added to the pool, it will all be sent to the recipient. Or, if the $100,000 threshold hasn’t been met within a month, all the currency will be sent back to the original holders of the currency. Of course, this would use Ether tokens instead of US dollars.
This all would happen according to the smart contract code, which automatically executes the transactions without the need for a trusted third party to hold the money and sign off on the transaction. For example, Kickstarter takes a 5% fee on top of a 3% to 5% payment processing fee, which would mean $8000 to $10000 in fees on a $100,000 crowdfunding project. A smart contract wouldn’t require paying fees to a third-party like Kickstarter.
Smart contracts can be used for many different things. Developers can create smart contracts that provide features to other smart contracts, similar to how software libraries work. Or smart contracts could simply be used as an application to store information on the Ethereum blockchain.
To actually execute smart contract code, someone has to send enough Ether as a transaction fee—how much depends on the computing resources required. This pays the Ethereum nodes for participating and providing their computing power.
CryptoKitties Use Smart Contracts
One of the most well-known applications built using smart contracts on the Ethereum network is CryptoKitties, which bills itself as “one of the worlds’ first games to be built on blockchain technology.”
Essentially, CryptoKitties are a form of digital “collectible” stored on the Ethereum blockchain. CryptoKitties provides a good demonstration of the ability to store and exchange digital items on the Ethereum network.
New CryptoKitties are generated through “breeding.” This involves choosing two base CryptoKitties and spending Ether tokens to run a smart contract. The contracts use the two chosen cats to spawn a new CryptoKitty. These kitties and the details of the breeding process are stored on the Ethereum blockchain’s public ledger.
You can “own” CryptoKitties, which are stored on the Ethereum blockchain ledger. You can sell or trade them to other people, or buy them. This is different from using a smartphone app that allows you to buy, trade, and breed cats. Those will generally be stored on the app’s own servers, and you could lose your precious digital pets if the company shut down the app or banned your account. But, because CryptoKitties are stored on the blockchain, that can’t happen. No one can take your kitties away from you.
In December 2017—coincidentally, around Bitcoin’s all-time high prices—people had spent the Ether equivalent of more than $12 million on CryptoKitties, and the most expensive CryptoKitty was sold for around $120,000.
Like Ether, Bitcoin, and expensive paintings, CryptoKitties are worth whatever people are prepared to pay for them.