Technology is permeating all aspects of society. Legal constructs are the latest to be infiltrated. We will discuss some of them in upcoming posts, including blockchain, smart contracts and related concepts. First we need the building blocks to understand how the blockchain works.
Bblockchain is a form of a decentralized ledger technology. It is decentralized, or distributed, because it operates on a peer to peer basis. There is no centralized database of the chain or any blocks. Instead, for each blockchain there are various computers or servers which operate as “nodes” for the applicable chain. Each node contains the entire chain, and nodes review any proposed block and it must be verified prior to it being added to the chain. Nodes can be anonymous.
The blockchain technology can be used for may different platforms (Bitcoin, Ethereum, etc). and each platform is referred to as a protocol. The Bitcoin protocol is the entire history of the certain cryptocurrency called Bitcoin. There are numerous blockchains that exist now, and new ones being created all the time. Bitcoin is the most well known, although Ethereum has broad appeal as its protocol has increased flexibility.
The Bitcoin protocol uses blockchain technology to determine, as agreed to by everyone at any instant of time, who owns how many Bitcoins. The chain itself tells everyone who transferred how many Bitcoins to who at what time for what amount, when a certain Bitcoin was created and who received it, and other information and therefore every Bitcoin available is accounted for and can be valued at any snapshot of time.
The entire blockchain for any protocol is made up of blocks, and each block contains certain information:
- What is called a “hash” of the previous block, this guarantees the chronological order of the chain and acts as a backup of each transaction (the first block in the chain is called the genesis block). This ensures that a hacker cannot easily modify any block as he or she would have to modify not just the one block, but the one block plus all the other blocks that come after it. The blockchain can be one straight line from the genesis block, or it can fork from a single chain into two or more (even though once a chain splits it cannot recombine, as a single block can only follow a single block (and not more than one)). Each blocked is considered “chained” to the previous block.
- Summary of the proposed transaction as well as some or all recent transactions.
- A complex and hard to solve algorithm (i.e. a sophisticated math problem which generally requires a cpu to solve) which is unique to that certain block. Only after the algorithm is solved will the proposed block be accepted into the chain. A party will propose the next block and the nodes will review same and attempt to solve the algorithm – the first one to do so wins – and gets what’s referred to as “Proof of Work”. Proof of Work is simultaneously difficult to obtain (the algorithms are difficult) but easy for others to verify as true. When you hear that someone is mining for Bitcoins they are usually attempting to solve these algorithms and receive Proof of Work, which then allows them to receive the reward, which is recorded after the algorithm is solved.
- Other technical items regarding the version, time-stamp, bits, and other data.
The blockchain serves as the historical document (i.e. the ledger) which contains all the information of all transactions for that certain protocol. If a transaction is on the chain, it was reviewed and verified, and can be relied on as being true. Each part of the chain is encrypted (a private and public key are necessary – and each party to a transaction authorizes the transaction via a peer-to-peer signature with the other party), and a copy of the entire chain is contained on every single node. The prospect of hacking the chain to change its history is seen as highly improbable if not impossible. Essentially all nodes or a majority of nodes would have to be hacked, which would not be an easy task with today’s technology (the hacker would require a substantial amount of cpus and servers to overwhelm the current network of nodes running the protocol). Making the task even more difficult is the fact that not just one block can be modified, a hacker would have to update the one block and every block thereafter.
A blockchain can have various layers as well. Each layer can have an open protocol on which companies can build products and services. This is the exciting part when we begin to think of having automated contracts and ways to expedite the usual contracting and asset transfer process. The blockchain basics are important to understand to have a better grasp on smart contracts. Smart contracts have a large amount of uses, but some drawbacks which have to be worked out. They also raise a number of novel legal issues.