Understanding Distributed Ledgers
Source： Alexandre KrugDate： 2019-12-26
Is Blockchain a Database?
A blockchain is a relatively new type of database. More specifically, it is a type of distributed ledger which itself is a type of distributed database. Due to this order of specificity, the statement is not reversable. You cannot say that a database is a blockchain.
Below is a graphic to represent this:
Key take-away: A blockchain is a very specific type of database
What is a Database?
Databases originated around the same time as writing and money, over 5000 years ago. An early example of database usage is the Sumerian contract (picture below). This contract was used by Ancient Mesopotamians to record quantities of goods, on clay tablets. These tablets were pictographic and were divided into rows and columns. An image was drawn to represent a good, and holes were inserted besides the image to represent quantity. The Mesopotamians also included a value of time; either a date or a duration, as well as the signature of the person authorizing the transaction. This type of contract was used to store information about trades and debts.
Sumerian Contract, in the Louvres Museum
(picture by Marie-Lan Nguyen, 2005)
In recent times, the amount of information that is collected and stored has increased many folds. Database usage has grown, and more efficient databases have been invented to meet changing needs and demands. Databases are used to facilitate the retrieval and updating of stored information. Initially they were made from clay, stone and then paper. Computerized databases came into existence in the 1960s, and since then our databases have become increasingly digitalized.
What kind of Databases are in Use Today?
Most of today’s databases are centralized, they are attached to the same server. A centralized database has a ‘master’ who manages the database and oversees its functioning. The master is responsible for the safekeeping of the database. Other parties who wish to access the database to read or write, require the master’s authorization.
Centralized databases facilitate maintenance and censorship. The level of coordination required to manage the database is low because there is only one administrator. Censorship with this system is high, as access to the information in the database is easily restricted. However, it brings with it the disadvantage of dependency on a single administrator. The database is stored on a single computer processing unit (CPU), so if the system fails, there is no backup to support it!
Centralized databases work similarly to the Sumerian contract mentioned above. There is one clay copy of the database. The contract may be stored on the shelf of a library. Anyone who wants to read the contract or add to it must first obtain the permission of the safekeeper of the library. In the case of a destructive disaster, such as a flood or fire, the information records would be destroyed.
This issue is resolved by distributed databases, a type of database that stores and updates data via multiple computers. These computers can physically be in the same place, or they could be dispersed over an interconnected network. The point is that they are not attached to the same processor unit or electronic circuit.
That sounds great!
Well… in this distributed system, the nodes must be collaborative. A node is simply any device or system that is connected to a network. The fact that they are collaborative, means that each node is dependent on the cooperation of other nodes. They must trust each other.
This requirement is a common downfall.
How Can This Downfall be Overcome?
As has been established above, distributed databases only work when all the nodes in the system are honest. Acting honestly, means to transmit the messages and data, to correctly serve transactions and to not attempt to modify history. The problem is that there are many circumstances where this cannot be assumed. To resolve this, systems adapted to this environment have been created, for example distributed ledger technology (DLT). Blockchain is a type of DLT.
In a distributed ledger, nodes do not trust their peers by default. The way this works practically, is for each node in the network to independently recreate the log of the data. Operating this way means they are not dependent on versions of the data provided by other network members. They independently check and validate the transactions in the network, to then update the state of the database. This mechanism makes distributed ledger technologies functional, even if a certain number of nodes fail, or act maliciously.
The Byzantine Generals’ Problem
Another way of saying this, is that the nodes in this system are Byzantine Fault Tolerant (BFT). This term arose from the Byzantine Generals’ Problem, which is a communication logic problem conceived in 1982. The idea is that there are a set of Byzantine Generals, faced with a situation in which they must agree to either attack or retreat. These generals are situated apart from one another, and consequently their intercommunication is limited to messages forwarded by a courier.
If the generals reach consensus to coordinate their next move, the outcome of the decision, to either attack or retreat, is irrelevant. However, there are various obstacles to reaching this consensus. These obstacles include; the messages getting delayed, lost or destroyed. A general may also decide to be malicious or fraudulent.
There are multiple ways to solve this problem and defend against failures of components in a system a.k.a. making the system Byzantine Fault Tolerant. These go by the name of consensus algorithms, and famously include but are not limited to; proof of work & proof of stake. The main take-away is that DLT incorporates a version of the solution to make the technology Byzantine Fault Tolerant.
What is the Relevance of BFT to Blockchain?
Byzantine Fault Tolerance is an essential component of distributed ledgers, and blockchain is a type of DLT. In other words, blockchains are Byzantine Fault Tolerant. The model environment that distributed ledgers and blockchains are designed to work in is called adversarial threat. This refers to the fact that some of the nodes may act hostile.
The solution designed to overcome the hostile nodes, is independent checking and validating of transactions. The essential outcome of this, is that there is no single point where the decisions are being made. Every node in the network decides for itself how to behave and the resulting network behaviour is an aggregate of the behaviour of the nodes.
“Distributed ledgers – or decentralised databases – are systems that enable parties who don’t fully trust each other to form and maintain consensus about the existence, status and evolution of a set of shared facts.” Richard Gendal Brown
What are Blockchains?
Blockchains are a subset of distributed ledgers. This means they share the features of distributed ledgers, for example they are byzantine fault tolerant. In addition to being a distributed ledger, blockchains distinguish themselves through certain characteristics. The distinctions are somewhat blurry and thus are open to interpretation.
Let’s begin with some facts. Blockchains are an innovative way of combining a more established sets of technologies. These technologies include cryptographic keys, peer-to-peer network and a consensus mechanism. The consensus mechanism has been at the core of this article.
“A blockchain is a new type of database that enables multiple parties to share the database and to be able to modify that in a safe and secure way even if they don’t trust each other.” Gideon Greenspan CoinSciences (Multichain) CEO
The main differentiation between blockchains and other distributed ledgers is the data structure. In a blockchain, a chain of blocks, which are cryptographically linked, are used to organize the data. Additionally, in a blockchain, the data is broadcasted to every node. In other words, it has global data diffusion.
"The practical consequence […is…] for the first time, a way for one Internet user to transfer a unique piece of digital property to another Internet user, such that the transfer is guaranteed to be safe and secure, everyone knows that the transfer has taken place, and nobody can challenge the legitimacy of the transfer. The consequences of this breakthrough are hard to overstate." - Marc Andreessen
One of the practical consequences and implications is Bitcoin. Bitcoin and blockchain have a specificity alike to the one ascribed to databases, ledgers and blockchain at the beginning of the article.
Below is an illustration to show this:
Is bitcoin a blockchain? Yes. Is blockchain Bitcoin? No. Bitcoin is an implementation of blockchain, just like blockchain is an implementation of a distributed ledger.
Bitcoin, specifically, is a public blockchain. This means it has no access restrictions. When a blockchain is public, anyone can send transactions and become a validator for those transactions. All initial blockchains were open, which has caused controversy about the definition.
Bitcoin is the best-known use case of blockchain and in this way has contributed to the public definition of blockchain as having no access restrictions. More recently, corporations have been funding innovation which has been focused on private blockchains.
The difference between public and private blockchain lies in the authorizations to read and write to the blockchain. In private blockchains, access is restricted by the network administrator(s). It is a question of who can access the data stored on the blockchain and who can contribute to it. There also exists hybrid blockchains, which combine centralized and decentralized features.
More on this in a follow-up DCC article coming soon.