What is the Difference Between a Blockchain and a Database?

What is the Difference Between a Blockchain and a Database?

Blockchains use distributed ledgers, which are decentralized and do not rely on centralized databases. Databases are the traditional way to store information and to keep it secure.

When companies store information about their customers, or about the business itself, it is usually kept in a database connected to servers that handle requests for the information. The design for such a system tends to look like a wagon wheel:  a central hub with numerous spokes connecting it to the outer wheel.  Layers of security are heaped onto centralized servers and permit access to various levels of information is given to specific users.

If the database is hacked or compromised, there is a risk that all of the information could be compromised at once, lost, or partially modified without being detected. Databases can be significantly more complicated and intricate than the hub-and-spoke design, and many are quick to point out that distributed databases and cloud computing can look a lot like blockchains, and in the future, it is possible that they will be nearly indistinguishable from each other.

Blockchains are distinguished from distributed databases in several ways, one of which is the fact that their records are permanent (“immutable”) in a way that distributed databases are not.  Once the distributed ledger is updated, the intent is that nothing should be able to change the existing records.  Databases are also easier to search and query, if you have the permissions, and are generally faster than blockchains. This comes at a slightly higher cost, generally.

Proponents of databases also like to suggest that databases are categorically more private than blockchains, but this point is certainly debatable, since blockchains have a high degree of anonymity built-in, and developments in blockchains could increase their privacy capabilities beyond that of databases.  Each change to a blockchain ledger is sent from one newly-generated, transaction-specific, encrypted address to another, where the identities of the sender and receiver only have to be verified by the possession of their wallet keys. Any identifying information about that wallet can be separated using blind signatures, and it only means so much since anyone node or a user could have an infinite number of wallets. Of course, there are also significant encryption and privacy measures available for databases.

Blockchains only update their ledger through proof-of-work validations that require each update block to require significant resources from many nodes on the blockchain. “True” blockchains are open and public, and there is no trust required between the nodes. In fact, you could say it is discouraged since collusion between various parties could dissolve the integrity of the blockchain consensus model. In a trustless blockchain, the various nodes could be, and technically are, competing against each other, but they still serve the common good by acting in their own interests, which is something our Libertarian friends probably find appealing. In a private blockchain or database, all of the validation is done by trusted nodes, given permission by a central authority. This alone makes the system that hinges on trust more vulnerable since it would not be designed with as many safeguards.