This blog is a two-part series on blockchain, a game-changing distributed ledger technology (DLT). Part 1 is an overview of the specifics of blockchain, including a description and example of its implementation. The focus is on the blockchain technology underlying bitcoin. Part 2, to be included in a blog next week, focuses on smart contracts and a description of the plethora of innovations and opportunities enabled by blockchain technology in diverse fields of endeavor.
Blockchain technology is a game-changing, disruptive, distributed ledger technology (DLT) that has the potential to accelerate creativity and catalyze innovation. It can reform and transform the delivery of public and private services in many fields of endeavor, including financial, legal, supply-chain, consumer, business-to-business and others.
WHAT IS A BLOCKCHAIN?
Marmelab defines blockchain as:
"A ledger of facts, replicated across several computers assembled in a peer-to-peer network. Facts can be anything from monetary transactions to content signature. Members of the network are anonymous individuals called nodes. All communication inside the network takes advantage of cryptography to securely identify the sender and the receiver. When a node wants to add a fact to the ledger, a consensus forms in the network to determine where this fact should appear in the ledger; this consensus is called a block."
A blockchain DLT promotes the collaborative creation of digital distributed ledgers with properties and capabilities exceeding paper-based ledgers. It is a new technology-focused method for storing, recording and transferring digital assets. A blockchain’s distributed ledger asset database can be shared across a global network of multiple sites, geographies and institutions. All participants, or nodes, within the network have their own identical copy of the ledger. Its entry can be updated by one, some or all parties in the network according to rules agreed by all parties, which forms a consensus. Any changes in the ledger is reflected within each node's copy within minutes or seconds, which enhances productivity and efficiency. The accuracy of the information stored in the ledger is maintained using cryptography. This is to facilitate security and a new kind of trust among a group of non-trusted peers, without the existence of a central authority.
There are several key components of a blockchain, including a peer-to-peer network, distributed data storage, computational engines (with memory) and cryptography. The network is a collection of globally distributed nodes, with associated computational engines and storage. The nodes are used to execute the cryptographic algorithms needed for reaching a consensus, based upon the established rules. The storage contains the distributed ledger or blockchain information.
See this infographic on blockchain technology.
HOW IS A BLOCKCHAIN USED AND IMPLEMENTED?
Consider the example of a modern credit card processing transaction. There are several processing steps from the consumer, merchant, processor and banks. Each step may encounter fees, which collectively may be significant. Now imagine a similar consumer-merchant process with no middle men (e.g., merchant, processor). This then becomes person to person, or peer-to-peer. It is desirable in such circumstances to facilitate a level of trust among peers, who may not know or trust each other, and reach a consensus. This is feasible with modern cryptography. As a result, a blockchain enables non-trusted peer-to-peer transaction processing with minimal fees and maximum efficiencies.
Implementing a peer-to-peer network can be complex. For example, consider the double spend problem. Sarah has $25 which she sends to two (2) individuals; Jerry ($25) and Stephon ($25); however, Sarah only has $25. Who gets the $25? Each potential transaction (e.g., Sarah sending $25 to Jerry and Sarah sending $25 to Stephon) is considered a fact that must be ordered using a methodology that has been agreed to by all global parties or peers. While the two facts are sent out at roughly the same time, they may arrive at their destinations at different times. The first to arrive at the destination, according to the globally agreed to order, gets the $25.
Blockchains are used as the foundational technology for cryptocurrency, as well as other trusted applications. PwC defines cryptocurrency as:
"a medium of exchange, such as the US dollar, but is digital and uses encryption techniques to control the creation of monetary units and to verify the transfer of funds"
Several blockchains exist today, many for cryptocurrencies such as bitcoin (the most popular) and ether. Blocks are a method of ordering facts in a network of non-trusted peers. Nodes, which are associated with peers, compete or mine to create the next official block in the chain. These competing nodes, denoted miners, submit their own local block in the competition. (This is synonymous to competitors rolling dice to see who gets the double six, except there are a substantially large number of competitors and the act of "rolling the dice" is each miner executing a complex cryptographic algorithm). A local block contains a collection of facts that are pending. Once a specific miner wins the competition, then it's local block becomes the next official block in the chain, and the pending facts within the block are confirmed.
The process of globally distributed miners reaching consensus on the next block may result in some conflicts. In such cases, reconciliation or resolution of the conflicts is required. This requires consensus. The blockchain network for bitcoin uses the hashcash proof-of-work (PoW) consensus algorithm to achieve distributed consensus.
The bitcoin blockchain uses the double Secure Hash Algorithm (SHA) 256. It creates a 256-bit (32 byte) hash (also called a digest or signature) of the facts, a hash of the previous block's header, and a random number. It executes two iterations of the SHA-256 algorithm. The hash is almost unique, and it is highly unlikely that any two individuals will generate the winning hash.
The winning miner's local block becomes the next block, and is added to the permanent chain of blocks to form or extend the blockchain. In addition, the winning miner gets a fixed amount of cryptocurrency as a reward. (Hence the term miners, as they are mining for cryptocurrency). The miners then repeat this process to find the next block in the chain.
See this infographic on bitcoin mining.
One pays to store facts in a blockchain. Reading facts are free, one just needs to run their own node. (Some nodes are used to simply store the blockchain ledger, while others are used to mine). Adding facts to a block costs a small fee. Mining a block brings in the money of all the fees of the facts included in the block, plus the reward if the miner wins the competition. All payments are made in the actual cryptocurrency; therefore, a blockchain generates its own money. A 12.5 bitcoin (BTC) reward is granted to the winner for bitcoin, while a 5 ether (ETH) reward is given for the Ethereum network.
OTHER BLOCKCHAIN TECHNOLOGIES
The blockchain network for bitcoin is one of several. Notable others include Ethereum and Hyperledger, open source platforms sponsored by the Ethereum Foundation and Linux Foundation, respectively.
Several blockchain consensus protocols exist, in addition to PoW. The most notable is the Proof-of-Stake (PoS) algorithm, which operates with a finite amount of cryptocurrency created at inception. With PoS, the winner of the next official block in the chain is determined by the fraction of coins one owns in the network. Several validators or stakeholders (as opposed to miners) compete and the validator with the largest amount of cryptocurrency wins. The Ethereum network, which currently uses PoW, plans to move to PoS in 2018.
Please see the crowdfunding campaign on iFundWomen.com to develop geeRemit, a global remittance global app based upon blockchain technology.