When you hear “smart contract,” what do you picture? Maybe a legal contract on an ipad, maybe nothing; it’s not a very vivid term. Let me introduce a better way to visualize the crypto-space.
Ethereum uses a similar method as Bitcoin to safely store a bunch of information but Ethereum’s a lot more flexible.
Bitcoin stores transactions and that’s it. A transaction is something like “I give you 0.05 BTC”. Bitcoin stores every single transaction ever created and when you send some BTC, it looks through the history of transactions and says “Ahh I found some bitcoin you received but haven’t spent yet, you can spend these” and then a new transaction is created where ownership of this particular piece of BTC is transferred to the next person.
Ethereum can also process a transaction like “I give you 0.05 ETH” but Ethereum keeps track of everyone’s balances. So this transaction would subtract 0.05 ETH from my account’s balance and add it to yours. Each transaction is stored in the Ethereum database but old ones can be thrown away to save disk-space.
Introducing the Digital Vending Machine
The Ethereum State doesn’t just include a list of human-controlled accounts and their balances. It also includes digital vending machines. Bitcoin is peer-to-peer electronic cash; Ethereum is too, but inside an arcade. I can transfer my ETH to another person or put it into one of these digital vending machines and maybe receive something in return. I can also write a message on the money I insert into the digital vending machine and tell it to do something special according to the code that controls it. Anyone can read or verify this code and be confident that this digital vending machine will do exactly what it’s public code tells it to do.
Digital Vending Machines (DVMs) are smart contracts. But a smart contract is an abstract term that doesn’t provide much useful context. Vending machines, being static, sturdy & not controlled by humans provides a much more useful mental model that taps into our prior knowledge and helps us to reason more intelligently about what’s actually going on. Therefore, I prefer to think of smart contracts as DVMs.
ICOs: the original DVM
Initial Coin Offerings (ICOs) are centered around DVMs built on Ethereum that just give out tokens, exactly like a dollars-to-token machine at Chuck-E-Cheese’s. They’re super simple but they’ve already enabled ambitious projects to receive massive amounts of funding to build new DVMs that these tokens will one day be used to interact with.
They’ve also given con men the opportunity to fund a project and then run away with all the money, so the system isn’t perfect yet. There are more elaborate ICO DVMs being considered that could, for example, make a monthly payment to the builders for as long as the token holders are satisfied with their progress.
Fun fact: of the top 100 most popular cryptocurrencies, at least a quarter of them are simply tokens that were given out from various eth-to-token DVMs built inside the Ethereum arcade.
EtherDelta: the grand token exchange
One notable DVM that you can visit and use right now is EtherDelta (this link will take you right to their DVM). Spoiler alert: DVMs look a lot like a normal websites except they’re usually a little slower and buggier because we’re still figuring out the best ways to build and use them.
If you’ve installed MetaMask (aka the wallet that stores your money & tokens in the Ethereum arcade) then you can visit the EtherDelta DVM and stick some ETH into it (or some BAT or OMG or any other token built on Ethereum). This will simply increase your ETH balance within the EtherDelta DVM the same way putting 1 dollar into a traditional vending machine gives you 1 dollar of spending power to make your muchie selection.
I can stick some ETH into the EtherDelta DVM and browse the selection of OMG tokens for sale. If I don’t see any at a price I like, I can tell it to put my ETH up for sale instead. Later, someone can stick their OMG into the EtherDelta DVM, see my ETH for sale, and decide to make that purchase. Funds are exchanged securely without any 3rd parties needing to be involved thanks to these shiny new high-tech vending machines.
Cryptokitties: A taste of what’s to come
Cryptokitties is a DVM that gives out pictures of cats, the same way a baseball card vending machine might give out baseball cards. Except we can use it to buy and sell cryptokitties the same way we use EtherDelta to exchange tokens.
I can also write “Breed kitty 123 with kitty 456” on some money and use that to receive a new kitten. The code running this vending machine had a special algorithm in it that, when asked to breed, takes the genomes of the two parent kitties and mixes them together to produce a kitten with some traits from each parent and maybe a cool, new mutation if you get lucky.
Cryptokitties is first in it’s class as a project that uses Ethereum plus some of it’s own private resources. It’s like you and a traditional website are interacting as normal except you’re both standing in front of an Ethereum DVM pushing buttons together.
If you go to https://cryptokitties.co and buy or breed some cats, you’ll have a user-friendly interface where you can select which cats to breed and then click “Give them some privacy” when you’re done. Nothing new or complicated required!
The cryptokitties website then tells your wallet which buttons on the DVM you need to press to get what you want & MetaMask will push them for you after you review & confirm the transaction. You, the user, don’t have to think about or interact with the underlying DVM which is awesome! Because DVMs are complicated and it’s easy to lose money if you fat-finger a button press.
But you can interact with it on your own if you want to. And you don’t even need the cryptokitty team’s permission to start pushing buttons yourself. Some random people thought that their cryptokitties would be cooler if they could wear hats. They created KittyHats, their own little DVM that interacts with the cryptokitty DVM to give out hats and watches and tattoos which can be attached to and traded with cryptokitties.
Still a hard-hat zone
Cryptokitties is awesome but you wanna know the most exciting part? There are way bigger & more elaborate DVMs being built as we speak. That team that raised a few million dollars from an ICO a couple years ago? They and the team of developers they hired have been hard at work (if they didn’t run off with your money).
Ethereum isn’t an arcade with just a couple games. It’s an arcade with a couple games plus 100 multi-year construction projects that are building things which, before now, haven’t been possible.
I have no idea what 2018 holds for Ethereum but I’m excited to find out!