Chidume Nnamdi I'm a software engineer with over six years of experience. I've worked with different stacks, including WAMP, MERN, and MEAN. My language of choice is JavaScript; frameworks are Angular and Node.js.

Top 7 blockchain-based databases

10 min read 3034

Three Blockchain Database Logos

Blockchain has been tied at the hip with cryptocurrency since its inception. Blockchain is the technology on which cryptocurrency is built. It is designed to promote transparency and meet the demand for centralized management. Technically, you can build a cryptocurrency without using blockchain, but that’s a discussion for another day.

But blockchain isn’t just for cryptocurrency. You can exchange anything using blockchain technology, from virtual currency to digital assets such as non-fungible tokens NFTs. Due to its versatility, blockchain is being adopted in an increasingly wide range of industries and disciplines.

A blockchain is technically a database, but a database is different from a blockchain-based database. In this tutorial, we’ll introduce you to the concept of a blockchain-based database and evaluate some of the top database solutions currently available to blockchain developers.

Here’s what we’ll cover:

What is a blockchain-based database?

Blockchain is a distributed database of records or public ledger of transactions that have been carried out on the network.

To paint a picture, let’s say that four business partners, Alice, Bob, Tom, and Hardy, are starting a chain of stores. Each of them owns one store and they have four stores in total. The partners decide to store the profits and sales made from each store in a database (e.g., MySQL).

The database is vulnerable to any of a number of potential snafus, included but not limited to the following.

  • The database could be compromised by a malicious actor
  • Due to its centralized nature, a crash or failure of the database would affect all records
  • A malicious or unwitting actor could alter records in the database
  • An authorized party could enter records into the database without validating its authenticity
  • One partner might accidentally alter or delete data entered by another partner

Considering the myriad security risks, Alice, Bob, Tom, and Hardy wisely opt to use blockchain technology in their database.

Now each partner has a copy of the records or the database. If a record is entered into one database, it is broadcast to all the others, which must vet the record before it is entered into the user’s record. Once it is vetted by all the participants, then the record is entered into the user’s database and the new copy is sent to all of them in the node.

Using blockchain has made the team’s work:

We made a custom demo for .
No really. Click here to check it out.

  1. Transparent
  2. Secure
  3. Immutable
  4. Decentralized

Blockchain vs. traditional database

Blockchain-based and traditional databases are similar in that they both store information but differ in terms of functionality. A blockchain-based database complements the functionalities and features of a traditional database.

Put simply, every blockchain is a database, but every database is not a blockchain. The decentralized nature — and, of course, the underlying blockchain tech — is what separates blockchain-based databases from traditional databases.

A blockchain is a digital ledger that stores data in blocks. These blocks are decentralized and broadcast across all nodes in the network. A traditional database, whether an RDMS or NoSQL databases, is also used to store data.

The obvious similarity here is that both blockchain-based and traditional databases are used to store and hold information. They both can store any type of data, be it binary files, media files, text files, and so on.

A traditional database is centralized, meaning there is a central administrator that has control over the database. Many sites and apps that we use every day use traditional databases. Twitter, for example, controls the database in which our tweets are stored. As the administrator of the database, Twitter controls what we see; should Twitter decide to shut down one day, we can kiss our tweets and files goodbye.

With blockchain, the database is not central and there is no administrator. It’s a peer-to-peer network, just like Napster. Everyone is connected to the network and each node in the network has a copy of the current database.

When a node in the network wants to write or create a new record in the database, the node first creates the record and broadcasts it to all nodes in the network. All these nodes then use a consensus algorithm to vet the new record.

If the vetting process by all nodes is successful, the node writes the record to its database and broadcasts it. Then, each node in the network writes the record to its respective database so the state and records are consistent and up to date.

This makes data stored in a blockchain very difficult to tamper with or duplicate. It’s transparent because all nodes vet each record that is to be entered into the database.

To recap, blockchain-based and traditional databases are both used store information but they differ in terms of functionality, as shown in the small table below:

Blockchain Database
Decentralised Centralised
Permissionless Permissioned

How to choose the right blockchain-based DB for your project

How do you know when to use a blockchain-based DB and when to use a traditional database for your project? Let’s go over some primary considerations.

Cost support

Cost is one of the most important things to consider when deciding which type of database to use for your project.

Because the old-school way of storing data is still very popular, the cost of using a normal database is much lower than the costs associated with blockchain. The expense of building a blockchain and integrating it into your project is comparable to that of normal software development.

Fault tolerance

If you decide to use blockchain, you’re about to experience the most robust and fault-tolerant DB you can imagine. Because a traditional database is centralized, it can be hacked and tampered with.

Blockchain, on the other hand, is very difficult, if not virtually impossible, to compromise. So if you have sensitive data to store and require a database with high fault tolerance, blockchain is your best bet.

Performance

Most modern databases have been designed to achieve high performance. SQL and MongoDB, for example, are very fast off the shelf. Reads and writes are very performant without any optimization by the administrator.

Blockchain is quite the opposite. Writing to records in the blockchain is relatively slow due to the many checks and run-arounds that have to occur in the blockchain core before a record can be written to the database.

If high-speed performance is a priority, you should use a traditional database instead of a blockchain.

Security

Security is a major consideration in any business. The data in a blockchain is viewable by anyone who intends to look. But you may have good reasons why you don’t want your data to be public.

Fortunately, blockchain has evolved to the point that you can use the blockchain network privately within your selected nodes. Traditional databases can also be both made and used publicly and privately.

Blockchain cryptographically hashes the transactions in its blocks and each block forms a linked chain with one another. This gives it a high degree of transparency because no node or client can fault or dispute a record.

Top 7 blockchain-based databases

Now that we understand the difference between blockchain-based and traditional databases, let’s look at some of the most popular blockchain-based DBs in use today.

1. BigchainDB

BigchainDB is a blockchain-bassed database powered by MongoDB that enables you to add decentralized and blockchain technology to your application.

First announced to the world in February 2016, BigchainDB v0.1 was originally a traditional database until the development team later added blockchain features. It had some issues at first. Namely, it had a primary node that did all the writes and broadcasts to other nodes. The other nodes just read from this primary or master node.

This primary node was the database’s single point of control, which violates the golden rule of blockchain. When the database is altered, all other nodes see the unvetted changes.

Version 2.0 patched up all these holes and made BigchainDB the most sought-after blockchain database in the world. BigchainDB’s superb features include the following:

Immutability

The records stored in BigchainDB are tamper-proof. The records are immutable, meaning that once a record is verified and stored in the database, it can never be altered or changed.

Decentralization

The database is decentralized in a P2P network. There is no single point of command. Each node in the Bigchain network has a local copy of the MongoDB database, and it uses Tendermint for network and consensus protocols.

One advantage of using Tendermint is that it uses Byzantine fault tolerance (BFT), which enables the blockchain to agree on what the next block will be, even if up to half of the nodes in the network are faulty. So if a hacker gains access to one of the node’s MongoDB databases, the network can remove that particular database and still function.

Support of multiple assets

Assets of various types can be stored in the database. The users in the nodes can issue any assets in the Bigchain network.

According to BlockchainDB, an asset can characterize any physical or digital object that you can think of, such as a car, a data set, an intellectual property right, etc.

High performance

BigchainDB was built with performance in mind. The use of Tendermint makes it possible for BigchainDB to achieve high performance.

Tendermint takes only a few seconds to process large transactions and commit them to a new block. This flies in the face of the notion that committing transactions in a blockchain takes a whole lot of time.

BigchainDB works very well in many scenarios, notably in supply chain stores, where there is a need to organize data and provide immutability and transparency.

Database Consensus
MongoDB Raft algorithm

2. Cassandra

Apache Cassandra is an open-source NoSQL distributed database that delivers linear scalability and high availability without compromising performance.

First released in 2008 and written in Java, Cassandra can handle large amounts of data across many commodity servers, providing high availability with no single point of failure.

Cassandra partitions rows, and each row contains tables that have a required primary key. With this partitioning, Cassandra can distribute the rows across multiple networks and devices. It adjusts across the network when rows and partitions are removed and added to the network.

Cassandra has many notable features that make it a unique blockchain-based DB.

Distributed

There is no central node or single point of control in Cassandra. The rows and partitions are distributed across the cluster. There is no master cluster because every cluster is both client and server and identical.

Fault-tolerant

Because it is distributed and has no single point of control, Cassandra is fault-tolerant. That’s because every node in the cluster has a copy of the database, so if one node in the cluster is attacked, the whole system does not come down. The data in the collapsed node is still in the other nodes in the cluster, so the data is safe.

Query language

Cassandra’s structure is quite similar to SQL in that it has rows, tables, and columns. However, Cassandra does not use the SQL language for querying data. Instead, it has its own query language, Cassandra Query Language (CQL).

Database Consensus
NoSQL Paxos

3. ChainifyDB

ChainifyDB is a blockchain solution for databases. It provides a layer in which databases can be plugged into the ChainifyDB network and synchronizes the databases’ records within the network of plugged databases.

Once a record is entered in one database, ChainifyDB communicates the addition to all other database nodes. They agree on a certain consensus and the record is written to the databases, so the records are decentralized, immutable, and transparent.

The difference between ChainifyDB and other blockchain-based DBs is that each block has its own database/storage area. ChainfyDB does not have its own database; it uses the databases provided to it and plugs a blockchain layer into them. In other words, ChainifyDB provides a blockchain layer for already existing databases.

Let’s zoom in on ChainifyDB’s unique features.

End-to-end encryption

Communication between the plugged databases in the ChainifyDB network is highly encrypted.

Web frontend

The core vitals, components, and maintenance setup of chainifyDB can all be run from a web frontend. Unlike other DB solutions, it does not require a lot of tools to set up.

Seamless invasive

The ChainifyDB can be seamlessly connected or plugged into any data stores or databases without affecting the applications running on the databases.

Database Consensus
Postgre, MySQL Vote

4. CovenantSQL

As legend has it, co-founder Auxten Wang first conceived of CovenantSQL in 2017 on “a cold windy day when Jing Mi came to have dinner with me in a BBQ restaurant. He brought me an interesting idea to build a SQL database on Blockchain. I was excited about this idea and decided immediately to quit my job and start this project.”

CovenantSQL is a blockchain SQL database. According to the official website, CovenantSQL connects idle storage resources utilizing consensus protocol and aims to better facilitate DApp development with full SQL support.

CovenantSQL provides an infrastructure on top of which to build decentralized apps, just like Ethereum. Among its many use cases, CovenantSQL can be used in assets management and integrated into IoT solutions.

CovenantSQL has many awesome features. Let’s highlight a few.

Decentralisation

Just like the blockchain tech it implements, CovenantSQL is largely decentralized across a P2P network. This makes it fault-tolerant and ungovernable by a single entity.

SQL

SQL is the most widely used and popular database query language in the world. CovenantSQL uses it because of its popularity and the possibility to add extra blockchain leverage to it. SQL support makes CovenantSQL a blockchain-based DB to contend with.

Immutability

CovenantSQL’s blockchain makes the database to immutable. All records coming in must be vetted by all nodes in the network before committing to the database.

CovenantSQL provides an infrastructure where developers can build decentralized apps on top of it. It is just like what we can do on Ethereum. CovenantSQL can be used in assets management and also can be integrated into IoT solutions.

Database Consensus
SQL Raft

5. Modex BCDB

Modex Blockchain Database (BCDB) is a middleware software product that provides a plug-and-play approach for organizations that want to develop blockchain software.

Modex BCDB sits in the middle between the client application and its database. The approach is different from other blockchain DBs. It plugs into the DBs and modifies their connectors, providing a blockchain layer between them.

Modex BCDB has a wide range of features, which we’ll break down below.

Multiple blockchain support

Modex BCDB is flexible in that it can use other blockchain frameworks. It currently uses the Hyperledger Sawtooth framework and using the Tendermint protocol in its network and consensus protocols. Other frameworks Ethereum, and Hyperledger Fabric can be used too.

Multiple database support

Modex BCDB supports multiple databases. A node can use MongoDB while another node can use MySQL, Modex BCDB can seamlessly work and sync data with them without any configuration any porting to a supported database.

Data management

Modex BCDB can manage data perfectly without any compromise to security. Modex BCDB knows when and which node it can expose some or all data to. A full node in the Modex BCDB network is exposed to the whole data, a partial node is only exposed to data that its APIs requested, and a private node is exposed only data private to it and no one else.

Database Consensus
SQL, NoSQL Proof of stake

6. Postchain

Postchain is a blockchain platform developed by Chromeby in Sweden. Postchain is a blockchain framework just like Ethereum or Hyperledger; it has a network of nodes that maintain a set of data through a proof-of-authority consensus algorithm.

Postchain stores this data in an SQL database, which is different from all other blockchain frameworks. Also, Postchain’s transaction logic can be defined in SQL code. This is what makes Postchain a blockchain-based database.

Transactions are not written to the database via SQL code. Postchain has validators that work on every node in the Postchain network. Transactions are submitted via highly encrypted and signed messages. The validators pick up the messages and run in sync to validate the proof and source of the messages. This sync is done so that all the nodes in the networks have the same state in their databases.

7. ProvenDB

According to CTO Guy Harrison, ProvenDB is a blockchain-enabled database service layered on MongoDB.

ProvenDB is a database service that combines MongoDB database with blockchain characteristics. By using ProvenDB, you are using a MongoDB database with blockchain.

Among its most important features, ProvenDB delivers:

  • A tamper-resistant digital data store
  • An immutable data store; once a record is entered into the ProvenDB database, it can never be altered, edited, or deleted. It remains “pinned” in the database
  • A highly secured blockchain database you can use to store all kinds of sensitive data, such as financial records that are resistant to alteration, intellectual property, legal documents, public records, and more

ProvenDB is a good choice if you want to use MongoDB and also leverage blockchain in your applications. ProvenDB provides a REST APIs you can use for making tamper-proof transactions and storing documents.

ProvenDB provides a secure database for data engineers that is encrypted and tamper-proof. No wonder it has been recognized by such a wide range of major companies, including Toba Capital, Microsoft, RegTech, CRN, and more.

Database Consensus
MongoDB None

Conclusion

Blockchain is evolving rapidly. It started with the bitcoin craze and now the whole world is starting to see the awesome power blockchain wields across a wide variety of industries. There are so many blockchain-based databases, but the seven mentioned above stand apart for their popularity and breadth of features.

In this guide, we introduced you to blockchain at a high level and zoomed in on the concept of blockchain-based databases, including the similarities and differences between traditional databases and blockchain-based databases.

We then offered some tips on how to choose the best blockchain-based database for your project. Finally, we evaluated seven of the top blockchain-based databases and discussed in detail how they function, their use cases, and their superpowers.

: Full visibility into your web apps

LogRocket is a frontend application monitoring solution that lets you replay problems as if they happened in your own browser. Instead of guessing why errors happen, or asking users for screenshots and log dumps, LogRocket lets you replay the session to quickly understand what went wrong. It works perfectly with any app, regardless of framework, and has plugins to log additional context from Redux, Vuex, and @ngrx/store.

In addition to logging Redux actions and state, LogRocket records console logs, JavaScript errors, stacktraces, network requests/responses with headers + bodies, browser metadata, and custom logs. It also instruments the DOM to record the HTML and CSS on the page, recreating pixel-perfect videos of even the most complex single-page apps.

.
Chidume Nnamdi I'm a software engineer with over six years of experience. I've worked with different stacks, including WAMP, MERN, and MEAN. My language of choice is JavaScript; frameworks are Angular and Node.js.

Leave a Reply