Blockchain is a revolutionary paradigm that will reshape every aspect of our lives. The first part of this series will present a high-level overview of the underpinnings of blockchain technology and develop some intuition for smart contracts. After finishing this post, readers will have a strong understanding of blockchain fundamentals and understand the term smart contract. Part two of this series will explore the development of a centralized derivative marketplace for US equities numerated in Ether. Part three will present an alternative marketplace construction utilizing smart contracts written on the Ethereum network.
Before we jump into an explanation of blockchain, let’s begin with a bit of history. The blockchain revolution began in 2009 when Satoshi Nakamoto published the reference implementation for Bitcoin. Interestingly, the identity of Satoshi Nakamoto is not known. Nakamoto’s work synthesized the concepts of distributed ledgers, public key cryptography, and so-called proof of work, thereby making a digital currency possible. In 2013, Ethereum was hailed as Bitcoin 2.0 when the Ethereum Foundation built a programming language into a blockchain framework. This combination allowed for the construction of so-called smart contracts.
So how does a blockchain work? Assume we have a collection of networked computers running a blockchain client (a piece of software). Transactions are broadcast to all participants on the network and cryptographic techniques ensure that transactions from account A to B were transmitted by the owner of account A. That is, I can send my friend Tony 10 coins, but Tony is not able to generate a transaction of 10 coins from my account. These concepts, when combined with the notion of proof of work, establish the necessary components for a decentralized, cryptographically-secured transaction network that incentivizes network participants to process transactions. Proof of work, or mining, is a complex process, but the idea is relatively simple. Every computer on the network receives a copy of each transaction. The computers on the network play a game where they bundle transactions together and attempt to solve a challenging cryptography problem using these transactions. If they successfully find the answer to this problem, they can add X coins to their account and broadcast their block to the network. Participants on the network verify the block contains a valid solution (proof of work) and then add this block to their chain; hence, blockchain.
Every block contains a certain number of transactions. By beginning at the first block, the genesis state, and successively applying the transactions in each block, it is possible to regenerate the state of the blockchain at any point in time. A blockchain is analogous to a bank statement where your account balance increases and decreases over time as new transactions are processed. However, unlike a traditional bank statement, every participant on the network has access to your transaction history. This does not present a security risk because individuals are not able to identify you from your account number. Furthermore, every computer on the network retains a copy of this chain, making it nearly impossible for a malicious party to alter the chain in any way.
Initial blockchain ledgers such as Bitcoin only allowed transactions and small messages to be stored on the distributed ledger. The following innovation in blockchain technology came to be known as smart contracts. Smart contracts are blocks of code stored on the blockchain that contain instructions and, possibly, account balance(s). Rather than provide an obscure definition for smart contract, let us see an example. Suppose you wish to place a bet on a sporting event with a person you do not fully trust. Rather than hope he or she makes good on their end of the bet, both parties could deposit, say, 10 coins into a smart contract on the blockchain network. This smart contract can serve as an escrow account and be programmed to send the winnings to the appropriate party following the game. For example, the contract code could query the result of the game from a predefined source and transfer the funds to the appropriate party at a future time. Hence, smart contracts can replace a trusted intermediary. This makes transacting value across the internet secure, robust, flexible, and cost-effective. In part two, we will explore the construction of a centralized derivative marketplace for US equities.