Blockchain Network or Conventional Database?
Professionals I meet at conferences I attend on behalf of Ondiflo (Amalto’s joint-venture with ConsenSys) often ask me the same question: Why going through the hassle of building a Blockchain network, when a conventional database can fill the same role, since a Blockchain is a digital ledger and a ledger is actually no different from a database? This question makes a lot of sense, if the discussion remains limited by semantics.
The Indian philosopher Jiddu Krishnamurti once said about semantics, “What you believe you experience.” And in the world of high tech, to believe in what the consensus says can lead to precarious situations; cloud-based systems data breaches being one of them. At the end of the day, the Equifax customer base personal data was stolen from an Equifax database accessible via a web browser, which is the specificity that makes the cloud what it is. The cloud is indeed the ability to access data stored inside a data warehouse from a web browser. And web browsers are hacking gateways.
To dispel any misunderstanding and eliminate semantic-related misinterpretations, let’s take a look at the difference between Blockchain and database. It may get slightly technical, nevertheless I encourage you to continue reading.
Blockchain Network vs. Database: Architecture
A conventional database utilizes a type of network architecture called “client-server.” It means that a user (also known as a “client,” hence the name) can modify the data that is stored inside a centralized server. A designated authority grants access to the database by providing users with credentials for authentication. For example, a database administrator possesses the privileges not only to grant access but also to create objects and issue database commands. Thus, this authority is in control of what happens with the database. If the security of the authority is compromised, the data can be altered or deleted. If the system that manages access to the database is compromised, then the data can also be altered, deleted or simply stolen.
A Blockchain network consists of several decentralized nodes. Each node acts as an administrator, which signifies that each node verifies the validity of a new data that is pushed (or stored) to the Blockchain. A new data is stored inside every single node and cannot be overridden. The validation of a new data occurs once a consensus has been reached. A consensus is reached, when a complex algorithm has been solved, and this process is called “mining.” Moreover, a Blockchain network audits itself every ten to fifteen minutes, which operates as an ongoing control of the validity of each data stored inside the network. Unlike a conventional database, adding a data to the Blockchain network is only possible once the majority of nodes have reached consensus. This consensus mechanism guarantees the security of the network, making it almost impossible to compromise. The type of consensus reached differs whether the Blockchain network is a public Blockchain or a private Blockchain.
Data Integrity vs. Data Insecurity
SQL for Dummies, anyone? At the time, I splurged and bought SQL All-in-One for Dummies at an almost prohibitive 25 percent premium. If at some point in your life, you’ve also added this fascinating book to your personal library AND opened it AND read it, “CRUD” should sound somewhat familiar. You would remember that the user of a conventional database has access to four data functions: Create, Read, Update, Delete. Logically, anyone with access credentials can utilize the Create, Update and Delete functions to compromise data. Read is only as good as the data which is read.
A Blockchain network only allows for two functions: (Transaction) Validation, (New Transaction) Writing. A transaction is an operation, which once validated adds a block to the chain. And this block contains all the data inherent to the transaction itself. This new data is also stored alongside the information pertaining to past entries. Past entries on the Blockchain always remain unchanged. They stay inside the Blockchain permanently and are available for all to see. This is why a Blockchain network is referred to as an immutable and as a distributed ledger.
So, every node of a Blockchain network stores the same data, which has been validated via consensus among a majority of the nodes, if not all of them. This stored and validated data is clean, because it is uncorrupted and unaltered. Consequently, those attributes create integrity, transparence and trust among all parties involved (the nodes’ respective administrator). Everyone has visibility over the information that is stored inside the Blockchain network.
To Conclude: Shared Control vs. Centralized Control
What truly differentiates a Blockchain network from a conventional database is the nature of the control to which stakeholders have access. In the case of a Blockchain network, the control solely lies in the choice of pushing (or writing) certain data to the Blockchain. Once written, the data is fully immutable, which brings security. Anybody who has sufficient access to a centralized database can compromise the data.
Therefore, users are powerless over the security infrastructure the database administrator has picked. And don’t we all know that hackers are always one step ahead of the game? Having said that, not all data should be written in the Blockchain: Only the data that pertains to a transaction or to the execution of a smart contract. To that effect, big data for example belongs off chain. Conclusions that arise from AI and/or data mining initiatives do belong inside the Blockchain.