BLOCKCHAIN USE CASE
Blockchain is the underlying distributed ledger technology for cryptocurrencies such as Bitcoin; it has been at the forefront of business news in the last two years. Fortunes have been built and lost buying and selling cryptocurrencies. In one case, a gentleman threw away a CD containing his private keys, losing all access to his bitcoin portfolio. He petitioned the city to allow him to climb through the dump to salvage a CD that will give whoever finds it access to millions of dollars in bitcoin. There have been countless initial coin offerings promising to revolutionize business with underlying applications of blockchain technology. An organization created digital cats, called Cryptokitties, and a single, rare, digital cat can fetch close to $100,000.
Clearly, the hype cycle is in full swing. Interestingly, though, many people have very little understanding of the capabilities and limitations of blockchain technology. Moreover, the hype cycle has caused business leaders to spend time investigating use cases that are not necessarily good fits for blockchain.
As with many technologies that generate heavy conversation among technologists, media outlets, and consultancies, an easily agreed-to definition of blockchain becomes very hard to triangulate. This makes discussing potential use cases challenging because we don’t always share a mutual understanding of the scope and limitations of the technology. The graphic below is adapted from a working definition presented in The Business Blockchain: Promise, Practice, and Application of the Next Internet Technology, and I believe it captures the three primary capabilities of blockchain: Technology, Business, and Legal.
From a business perspective, these boundaries allow us to work toward desired outcomes that the application of the technology might support. Placing the technology component aside for a moment, the business and legal pieces are key to our mutual understanding. A blockchain is a network that allows the movement of value between peers. It also has an inherent validation mechanism that doesn’t require third parties. Trust is assured because the rules within the smart contracts utilized in the blockchain guarantee execution and movement of value will occur when the correct conditions are met. For example, a blockchain will allow the secure settlement of options in the equity market as soon as an agreed-to strike price is hit, without the need for clearinghouse involvement. Blockchain has the potential to drive the disintermediation of many business transactions previously requiring trusted third parties. It also can eliminate manual and inefficient processes such as data reconciliations between internal financial systems or external warehouse management and third-party logistics platforms.
Looking more closely at the technology components, we can build various hypotheses of the business outcomes that the technology might be able to support. There are four key technology components that make up the blockchain:
The decentralized network is the piece that leads many people down the path of defining blockchain capabilities in terms of a decentralized ledger. While this is an important characteristic of the blockchain, the decentralized network does some other very interesting things from an outcome perspective. Decentralization makes blockchains extremely redundant. High redundancy is a prized feature for business-critical systems.
A decentralized ecosystem of organizations on a single blockchain removes boundaries between organizations created by different systems, such as different inventory and payment systems. For example, if this ecosystem relies on the blockchain protocol and smart contracts to govern payment and track custody of goods in a supply chain, it eliminates the need for multiple data entry efforts and disjointed process flows across the organizations. A key drawback of this architecture is that the decentralization impedes throughput, but that problem is being tackled by the blockchain community and isn’t a concern for many use cases. Additionally, within the majority of blockchain networks, the transaction history maintained on each of the decentralized nodes is not encrypted. This is a problem for use cases where owners want transaction data to remain anonymous. New cryptocurrencies such as Zcash are being developed to address this issue.
The second part of the technology component is the presence of smart contracts. Bitcoin does not have smart contracts, while Ethereum employs smart contracts, resulting in a critical difference between the two. Smart contracts are a key component of the working definition of a blockchain above. A smart contract is the set of instructions that execute based on a trigger condition, the execution transfers some sort of value between parties. With smart contracts and their associated code existing on every node of the blockchain, we can be sure every participant is validated and contract terms are fully executed and enforced. The execution of a contract and the transfer of value occur immediately and without the reliance on third party verification. Smart contracts are another powerful lever that will change how business models work.
All the features above are possible because of the advances we’ve seen in cryptography that allow us to establish trust between parties and provide assurance that the contents of the chain are immutable. From a process perspective, each transaction that is initiated on the chain is signed by a digital signature. This signature is verified as coming from only a single holder of the private key that initiated that transaction, via the wonders of public/private key cryptography. This feature allows us to have certainty that we are dealing with the correct counterparty in a transaction and provides proof that the contents of a transaction have not been altered while in transit between parties.
Blocks, or transactions, on a blockchain are represented by hashes. A hash is a unique set of characters that represents a piece of digitized data that has been run through an encryption algorithm. Using the current hashing algorithms, no two hashes will ever be the same. For example, if we run the text of this blog through a hashing algorithm, we will get a hash consisting of a set of characters that represents a unique result from that hashing algorithm. If I change a single character in this blog and run it through the hashing algorithm again, a totally different hash will be produced. This is a key piece of the magic behind the blockchain; allowing the decentralized network to verify and agree that the transactions added to the blockchain represent the historical transactions, in the correct order. If anything is changed, the resulting hash will be different than the consensus that the blockchain shares and it will be rejected by the nodes in the network.
The consensus algorithm forms the core of trust that is established by the blockchain. Currently, the most common algorithm relies on proof of work, which requires a tremendous amount of computational power applied to creating a unique hash that represents the contents of the blockchain, preceded by a string of zeros. The number of zeros is very important and is set by the nodes in the blockchain network. The combination of the zeros and the hash representing the contents of the chain creates a “target” hash that is used by the network of nodes to determine which node is able to add new blocks (transactions) to the blockchain.
Once the target hash is set, each computer in the network races to create this target hash. This race is key because it protects the contents of the blockchain by creating a random winning node each time a block is to be added to the chain. By ensuring that no single node can always add blocks to the chain, the integrity of the network is assured. The nodes race each other by placing a random number in front of the hash of the contents of the blockchain and creating a new hash, which produces a potential match to the target hash. This process is repeated trillions of times, and once a node believes it has won the race by finding the random number and blockchain contents combination that creates the target hash, the entire network of nodes is asked to confirm the result.
To confirm the winner, the random number that the winning computer used to create the target hash is used by the other nodes in the network to create a hash and determine if the correct target hash has been created. If the answer is yes, the winning computer is allowed to add the block of transactions to the chain. This extremely important computational race is held every time a new block is added to the chain and ensures the accuracy and immutability of the data within the blockchain.
Why would anyone devote compute power to this exercise? Follow the dollars, or more appropriately, the Bitcoin as the winning computer is then paid in cryptocurrency for the effort spent maintaining and validating the blockchain. These computers are known as miners and play a critical role of making sure that no single computer can control the contents of the blockchain. The consensus algorithm drives the following:
- Because a node, or computer in the network, cannot be paid unless it produces the correct hash, the network is incented to reach a consensus on the state of the blockchain
- Transaction times are slow compared to transactional databases because of the massive compute power needed to reach consensus
- There are periods of time where there is disagreement as to the current state of the blockchain as nodes reach consensus
Knowing how the technology pieces fit together allows us to focus on outcomes that can be generated from the capabilities of the blockchain. There are many business outcomes that blockchain will enable, but many proposed use cases we see today simply don’t require a true blockchain. Instead, the use cases are better served using a distributed ledger that doesn’t require the tremendous computational power required by the consensus algorithms. They also don’t require smart contract functionality. Additionally, blockchains are not completely safe at this point, due in part to the difficulty of programming smart contracts in a secure manner. This challenge will likely be mitigated as programmers gain experience and additional security solutions are developed.
In, Ethereum: Blockchains, Digital Assets, Smart Contracts, Decentralized Autonomous Organizations, Henning Diedrich states the following as a guiding principle for the application of blockchain technology: “If it doesn’t need guaranteed execution, it’s not a blockchain use case.” This is a very simply stated rule for evaluating potential blockchain use cases in these relatively early days. As the technology matures and the capabilities change, this guiding principle may change as well.
Blockchains shine when there is a need for the disintermediation of a third party that is used to establish trust, or verify a transaction. For example, the payment of funds between two parties no longer requires banks to be in the middle of a transaction because logic in the smart contracts ensures the value exists in the sending account prior to the transaction being executed. We can extend this to areas such as loyalty point redemption and machine to machine commerce. Imagine the jobsite where an autonomous vehicle carrying diesel automatically refuels equipment that needs fuel because it receives a signal sent by an IIOT sensor. The payment and invoicing of the refueling is handled through a blockchain with fuel price agreements outlined in a smart contract between the vendor and the company that owns the equipment. No need for delay in payment, no need for paper invoices, and no need to haggle over pricing. The entire process is executed without human interaction. That is a small vision into the future applications of blockchain technology. If you’re a fan of complex adaptive systems, the emergent properties of Plantoids, a blockchain-based life form, will inspire your imagination. This is a revolutionary technology. Ignore at your organization’s peril.
Every organization must understand how blockchain will affect current business models and present new business opportunities. The challenge for leaders is to understand the capabilities of blockchain, determine appropriate use cases, and make smart decisions based on business outcomes that create value for the organization. For many decisions it comes down to a question of efficiency, security and transparency. If you decide to use a true blockchain like Ethereum to solve a business problem, make sure that you need a tool that accomplishes the totality of what a blockchain utilizing smart contracts is designed to do. Otherwise, you are paying a steep price in terms of execution speed, scalability, ease of programming, and anonymity that may not make sense. For a very interesting article that compares blockchain to TCP/IP and a framework for the adoption of blockchain, please see: HBR – The Truth About Blockchain
By Evan Golly, Director of Enaxis Consulting