Blockchain is going thru its hype cycle. It’s not magic nor is it a solution looking for a problem. It is important to know what they can and can’t do. So let us revisit the definition again. Blockchain is a distributed ledger, shared by untrusted participants with strong guarantee about accuracy and consistency. Now let us dissect the highlighted words.
- Ledger: Manual ledgers go back to the 19th. century in which accountants entered transactions by hand. They are list of transactions: items sold/purchased, price, date, etc. Those transactions are dated (timestamped). Ledgers are strictly append only: transactions can be added, but old entries can neither be deleted or modified. Blockchain can have ledger entries that are significantly more complex, but the concept is the same.
- Shared: Anyone with the appropriate software can put entries into a pool of entries that will eventually be checked for consistency and added to the ledger.
- Distributed: Blockchains are not centralized. There is no central administration to decide who has access and what rules to follow. Hence there is no single point of control nor single point of failure.Many participants in the blockchain have copies of the entire ledger which gets updated whenever blocks are added. This dis-intermediation was fundamental when the Bitcoin movement started back in 2008.
- Untrusted Participants: This is the most radical idea of blockchain. In enterprise applications, requiring a certain amount of trust allows some important optimizations, but the concept of “untrusted participants” is fundamental to a blockchain. Anyone can add entries. The protocol that produces agreement among untrusted partners is called BFT (Byzantine Fault Tolerance) or byzantine agreement.
- Accuracy & Consistency: Despite untrusted participants, blockchain makes strong guarantees about ledger’s accuracy. The replicated copies are not always in agreement, but disagreements are quickly resolved automatically via algorithms and voting.
Blockchain is often a shorthand for “how Bitcoin is implemented”, but its scope is much broader than Bitcoin (like the first app. on blockchain much like email was the first app on the Internet). Blockchain introduces the era of “exchange of values/assets” whereas the Internet gave us the era of “exchange of information”.
If you are building applications that span enterprises and that need to keep accurate records in the presence of untrusted partners, you should be thinking about blockchains.