Good question! In this post, I’ll try to answer it as succinctly as possible. I’ll start by defining the term “database,” and then look at several aspects of blockchain technology. For each aspect, I’ll ask the question, “Can this be done with a database?”
First, allow me to define the terms.
What is a “database”?
A database is an ordered collection of data, running on a secure server in a central location, with limited user access, such as a relational database.
I fully acknowledge that blockchain is a type of database, but I think the above definition matches what many of us mean when we say “database” (check out this survey if you disagree). This is the definition I’ll use throughout this post.
What is the blockchain, anyway?
Now allow me to define the term blockchain for the purpose of this post.
Blockchain is a disintermediating technology, where each transaction is crytographically signed, and always appended to an immutable ledger, which is visible to all participants, and distributed across boundaries of trust.
This definition is critical to making the distinction between a blockchain and a database.
Distributed across boundaries of trust
There are two aspects here: distributed and trust.
A major value proposition of blockchain technology is its ability to facilitate transactions among numerous participants in an environment of minimal trust.
In a classic business network, in the absence of trust, the threat of litigation usually keeps all parties in line. Megacorp Inc, for example, has an entire legal department to protect its interests. Mom-n-Pop LLC, however, does not (maybe cousin Randy helps out once in a while).
Blockchain technology guarantees that all parties involved in a transaction agree (a.) that the transaction occurred, and (b.) that it occurred correctly, or the transaction is not committed to the ledger. Once in the ledger, it is set in stone. In other words, all parties agree that it happened so there’s no crying later. The upshot? Parties that do no necessarily trust one another can still do business without a team of lawyers, because they don’t have to trust one another. They just have to trust the technology! The level of transparency built into blockchain enables this.
Can a database do this? No. Not unless “database” is the same as “lawyer.” (Spoiler alert: it is not.)
Another strength of the blockchain is its distributed ledger. The ledger is a complete history of all the transactions that have occurred within the business network. Every participant gets their own copy of the ledger, and as transactions occur, all copies are updated automatically by the underlying blockchain software.
Can a database do this? No. A database is centrally located for security. That said, it is possible to create a shared database, but this kind of thing makes sysadmins nervous, so expect pushback.
Visible to all participants
Blockchain technology fosters transparency, and because of this, participants have their own copy of the blockchain ledger and can see the transactions they were involved in. A business network that operates without the transparency guarantees that blockchain technology provides can suffer from discrepancies in the “shared state” of the transactions that are executed within that network.
Can a database do this? Yes, it could. The database could be designed to store transaction history separate from other sensitive data. Database permissions could be configured to allow restricted access to the transaction history. And all parties could be granted, say, VPN access to the network where the central database is located. Trust me, though, your sysadmins are already shaking their heads.
The ledger cannot be changed. Period. Once a transaction block has been added to the blockchain, it is cryptographically chained to the previous block, and neither can be modified. Ever. Rinse and repeat for all future blocks.
In this sense, the transaction history is contained in the blocks that are cryptographically chained together and cannot be changed. Hence, the blocks are immutable.
Can a database do this? Possibly. It’s possible to create a write-only database, sure, and somehow create a schema where records are chained together through cryptographic hashing. But that’s not really how databases are designed. It’s an incorrect application of database technology and is therefore a brittle solution.
As new blocks are added to the blockchain, they are always added to the end of the chain. The result? Every transaction that has ever occurred is contained in the blockchain.
Can a database do this? Possibly. However, database technology is not designed to provide the append-only nature of the blockchain.
One of the major value propositions of blockchain is disintermediation, a fancy way of saying “cut out the middleman.” Intermediaries have always been necessary to conduct business. Banks, brokers, and credit card processors, as trusted intermediaries, are invited to participate in business transactions (and take a little cut for their trouble, of course) to ensure that a given transaction was executed correctly.
Blockchain minimizes the need to involve all of these intermediaries, because the technology itself ensures transactions are executed correctly and to the satisfaction of all participants. And each transaction leaves behind a visible record in the ledger that is shared among all participants.
Can a database do this? No. I mean, each participant has their own databases, with records of what happened, sure. But all participants must independently verify that everything went smoothly (that is, reach consensus after that fact). And if there are discrepancies, this means forensic accounting, lawyers, and so forth. Lots of middlemen. So many middlemen.
In this post, I examined whether or not the benefits of blockchain can be achieved by using a database. The two technologies are very different from one another. In some cases, database technology could be twisted to provide similar benefits to blockchain but not in a very efficient or pragmatic way.
In general, blockchain and database technology are sufficiently different that one should not be substituted for the other. From transparency to trust across boundaries and immutability, some applications will just go better with blockchain.