Bitcoin, Blockchain and Smart Contracts: Commercial Law Is About to Be Disrupted
Bitcoin, Blockchain and Smart Contracts: Commercial Law Is About to Be Disrupted
New distributed blockchain technology-enabled systems have been developed—and are rapidly gaining acceptance—that will fundamentally change the way many commercial transactions are conducted. Lawyers, bankers and other professionals must adapt.
Modern commerce depends on a system of centralized record keeping and trusted trading partners. Over the past century, a robust body of commercial law and commercial norms have developed around this system.
Recently, new distributed blockchain technology-enabled systems have been developed—and are rapidly gaining acceptance—that will fundamentally change the way many commercial transactions are conducted. Commercial lawyers and other professionals who fail to become familiar with these new concepts and the attendant vocabulary—and adapt their practices accordingly—do so at the risk of having their practices disrupted by those that do.
Money and Commerce
To understand Bitcoin, it is helpful to first briefly review the history of money. In order to overcome the inefficiencies of barter, currency was developed in ancient times as a medium of exchange. Precious metal coins were early examples of currency and satisfied the core characteristics of money: limited supply, portable, divisible units of exchange and widely accepted in commerce.
Alongside currency developed the concept of credit, where for example one would go to the local general store and have their purchases recorded in the store’s ledger, and they would eventually settle their ledger balances with the store in cash.
Ledger-based commerce developed over time into retail card accounts, passbook savings accounts and credit cards. Of course what all of these systems have in common is that the official ledger of transactions is kept in one central place by one institution—the store or bank—requiring the customer to trust that institution to keep accurate and honest records, and to protect the customer’s funds tracked in that ledger.
Problem of Trust and Advantage of Distributed Systems
The inherent problem with the centralized ledger/trusted institution model of commerce can be summarized in two words: Lehman Brothers. On Sept. 15, 2008, Lehman Brothers collapsed and filed for bankruptcy, and thousands of people and institutions that had trusted Lehman Brothers to safe-keep and account for their financial assets learned a very hard lesson. Conversely, the inherent advantages of a distributed, interconnected peer-to-peer network model of commerce, where no single member of the network has authority over others or can cause the network to fail, is probably best demonstrated by the internet.
To avoid having to trust a single keeper of a ledger of transactions requires decentralization, so that each institution, customer and other transacting party on the system (let’s call each such party a “node”) keeps their own copy of the mutually agreed-upon ledger. But how do we make sure that each such ledger will accurately record all transactions and thus be in exact agreement with all of the other ledgers on the system, without a trusted central authority? And given the absence of trust among nodes, how do we assure that a malicious node cannot change the ledger, and convince other nodes that her version of the ledger is actually the definitive version of the ledger? Put another way, how does the distributed network of nodes reach “consensus? ”
The consensus problem is often illustrated through the Byzantine Generals Problem. Imagine the Byzantine army is divided into multiple divisions scattered throughout enemy territory, with each division commanded by a general. In order to execute on their battle plan the generals must communicate by messengers, who can be intercepted and/or be disloyal traitors. Furthermore, one or more of the generals themselves could be disloyal. So how do the loyal generals coordinate and successfully execute on their battle plan in the face of possibly disloyal nodes?
Forty-six days after the collapse of Lehman Brothers, on Oct. 31, 2008, the possibly pseudonymous author Satoshi Nakamoto released an elegantly simple yet brilliant white paper, “Bitcoin: A Peer-to-Peer Electronic Cash System”, which described a revolutionary combination of existing technologies to create the world’s first genuine peer-to-peer monetary system.
Bitcoin is a novel way for a network of multiple, dispersed nodes—connected peer-to-peer such that no one node is a central server—to overcome the “Byzantine Generals Problem” and reach consensus on one accurate ledger of transactions. And once such consensus has been reached, each batch of agreed-upon transactions is distributed to and replicated among the ledgers maintained by each of the nodes on the system, after which it becomes infeasible for any node to change or tamper with such record of transactions.
Below is a basic explanation of how Bitcoin works:
Each node—a computer running the Bitcoin software and connected to the internet—is able to execute transactions and broadcast them to the other nodes (e.g., Alice’s node broadcasts: “Alice just paid Bob two Bitcoin.”)
Certain of the nodes, referred to as “miners”, collect each of the broadcast transactions they receive into a pool of transactions not yet recorded on the distributed ledger.
Simultaneously with the collection of unrecorded transactions, the miners are each using their computer power to attempt to solve a difficult, automatically generated math problem. This is commonly referred to as “Bitcoin mining.”
The first miner to solve this math problem is then able to broadcast its collected pool of unrecorded transactions, together with evidence that it correctly solved the math problem (referred to as “proof-of-work”) to the other nodes, thus proposing that its “block” of new transactions be added as the next block in the “chain” of previously recorded blocks in the distributed ledger. Because the distributed ledger is actually a chain of such blocks of recorded transactions, it is referred to as the “blockchain.”
Each node that receives the proposed new block can easily verify that the proposing miner has solved the math problem by checking the miner’s proof-of-work, and can easily verify from the existing distributed ledger of recorded transactions, that each of the transactions contained in the newly proposed block is valid (i.e., that Alice has a sufficient balance of Bitcoin recorded on the existing blockchain to cover her two Bitcoin spend).
Upon such verification by each node, that node adds the proposed block to its existing copy of the blockchain. When a majority of nodes have verified the proposed block and reached consensus to add it to the blockchain, the proposing miner is awarded new Bitcoin for its efforts (currently 25 Bitcoin per block mined), and all miners are given a new math problem to begin working on.
Novel Technologies – Hashing Algorithms and Proof-of-Work
It was advances in the field of cryptology that made the foregoing “proof-of-work” consensus algorithm possible. What was required was a way to generate math problems that are impossible to solve other than by simply guessing at the solution over and over again, yet once that math problem was solved, the solution would be easy for the other nodes to verify. Cryptographic “hashing” algorithms made this possible.
Hashing algorithms generally share the following characteristics:
The input to the hashing algorithm can be a number of any length (i.e., any number of digits).
The output of the hashing algorithm—the “hash” of the input—is a number of a set length.
There is no mathematically feasible way to “reverse engineer” a hashed output to figure out the original input.
Any change to the input—even changing one digit—will produce a completely different hash output. That is, any tampering with a hashed list of transactions, however slight, will be clearly evident in the hash of that list.
So with this hashing technology, the complicated math problem presented to each miner is simply the following: Find a number (referred to as a “nonce”) that when (i) such nonce is mathematically combined with the prior block and with each of the unrecorded transactions in the currently proposed block and then (ii) that result is passed through the hashing algorithm, it produces a hash that begins with a specified number of zeros (which required number of zeros can be increased to increase puzzle difficulty). Because of the mathematical principles behind hashing, finding a nonce that generates a winning solution to the puzzle takes a good deal of processing time even with tremendous computing power. Yet verifying that such nonce is indeed the solution to the puzzle takes mere microseconds for even a modest computer.
This proof-of-work consensus mechanism is a clever solution to the Byzantine Generals consensus problem. Recall that even the tiniest change to the input of a hash function outputs a completely different output. If a rogue node attempted to change a transaction in a prior block of the blockchain, it would change the hash of that block, and thus change the math puzzle to be solved to create the next block, which would then have to be solved in order to move on to the next block, and so on.
Thus, in order for the rogue node to successfully get this fraudulent transaction into the blockchain, it would have to “catch up” to the currently longest chain of verified blocks, which all other miners would have been working on the whole time. Mathematically, the odds of such rogue node successfully changing a transaction in the blockchain become vanishingly small, unless the rogue node controls a majority of the computing power of all miners. Given the vast and distributed computing power of Bitcoin miners, this would be highly unlikely. Thus the “immutability” of the blockchain.
Beyond Bitcoin – Ethereum and Smart Contracts
Thus far, the primary function of the Bitcoin distributed ledger is to keep track of who owns each of these mined Bitcoin. But one can keep track of anything on a blockchain that could otherwise be put into a ledger, such as land records, bank transfers and even computer code. Because no one node controls this distributed ledger and any altering of data on an active blockchain is mathematically infeasible, the use cases in financial transactions are clear.
The Ethereum blockchain platform provides a distributed ledger in which one can program a set of logical contractual instructions, which then function as an immutable “smart contract.” Such a smart contract might, for example, provide that upon receiving the digital signature from two of the three designated signatory nodes, a certain amount of Ethereum—the digital token of the Ethereum network—would be released to a designated digital wallet. The transaction then settles as soon as it becomes part of the blockchain. Note that Ethereum blocks settle (i.e. a new block is added to the Ethereum blockchain) about once every 15 seconds. For U.S. financial institutions, securities transactions generally take two to three days to settle. Thus the potential benefits of blockchain smart contracts in financial settlement transactions are huge. In fact, many large U.S. banks are actively exploring potential blockchain solutions, such as Ripple.
Consider the possibilities: A blockchain distributed ledger could be maintained regarding the river-to-table supply chain that Alice uses to supply her restaurant. When Bob catches his batch of sunfish, he broadcasts it to the supply chain nodes and his catch gets recorded in the blockchain in real time. In addition, a temperature sensor is attached to the catch that broadcasts to the nodes the temperature at which the catch is stored over the course of being shipped. Then, when the catch is sold to the distributor Carol, Bob and Carol broadcast their hand-off to the nodes, and so on all the way to Alice’s restaurant.
At the moment the delivery truck arrives, Alice can instantly confirm by reviewing the blockchain ledger the exact chain-of-custody of her sunfish, including when they were caught, the identity of the fishermen and whether the sunfish were transported at correct temperatures. And unless a rogue distributor can summon more computer power than that of the entire supply chain (assuming it uses the proof-of-work consensus protocol), that distributor cannot cover up the fact that her shipment accidentally reached room temperature in transit, or was caught on a different date, etc.
Under current commercial norms and practices, there would be no practical way for Alice to reliably confirm this information to protect the customers of Alice’s restaurant.
Change and Adapt
Most professionals that have a working knowledge of blockchain and smart contracts believe that these technologies will supplant numerous current commercial protocols and practices over time, such as post-trade securities settlement, asset-ownership registration and supply chain management, to name a few. The law surrounding these protocols and practices will thus need to change and adapt. In the face of these changes, corporate and commercial attorneys and other professionals must achieve a working understanding of blockchain protocols and smart contracts, or risk not being able to adequately advise their clients. Hopefully those that have read this article now have the awareness and curiosity to look further.