- Toshendra Kumar Sharma
- October 24, 2018
Blockchains have enormous potential to reduce counterparty risk and make useful applications more secure and decentralized. That is because Blockchains have been engineered to be completely tamper resistant. All of the nodes running on the network have to agree on one universal ledger that is determined by the consensus mechanism employed by the Blockchain. All of these properties make Blockchains an excellent candidate to replace the traditional database systems. But can Blockchains completely replace traditional databases? Let’s take a close look.
Properties of Blockchains
Fundamentally, Blockchains are just distributed databases that do not rely on third parties to function. Blockchains have a consensus mechanism built into them to that determines how the shared ledger is maintained. By having the network participants keep each other in check, Blockchains can guarantee several safeguards when compared to a traditional database. Some critical properties of Blockchains include:
- Trustlessness –
because the network participants help secure the network, there is no need for a centralized third party to be employed. Trustlessness is one the most significant advantages of Blockchains as this prevents any bad actors from changing records stored on the blockchain.
- Replication –
Blockchain stores a copy on every computer in the network. This helps ensure that several copies of the database exist even in case of a node failure.
- Irreversibility –
Once a piece of information is appended to the blockchain, it can never be edited. To change information recorded on the blockchain would require enormous amounts of computing resources which is very hard to acquire. This is the distinguishing feature of blockchains that make them very valuable to financial and other sensitive operations.
- Time-stamp –
A timestamp is a sequence of characters or encoded information identifying when a certain event occurs. Timestamps work as unquestionable proof for when the information in the database was modified.
Properties of Traditional Databases
Database systems like Relational Database Management System (RDMS) dominate all aspects of web activity. Some of the applications of RDMS systems like SQL include social media platforms, online e-commerce giants, inventory management systems and even e-mail. Database systems became so popular in the last two decades because they are highly optimized and offer quick results. Database systems provide several bounds on commonly used operations like adding a record, editing a record, etc. RDMS systems have the ACID property which allows for several advantages over other Database management systems:
- Atomicity –
this means that either all of the operations in a transaction execute successfully and take the system to a different consistent state or nothing happens at all. This is useful as it helps put sensitive time guarantees on the database operations.
- Consistency –
this means that integrity constraints must be maintained so that the database is consistent before and after the transaction. It refers to the correctness of a database. This prevents a user from reading changes that have not been fully committed. Similar to a blockchain, this helps keep one unique state of the database at all times.
- Isolation –
this property ensures that multiple transactions can occur concurrently without leading to inconsistency of database state. This makes use of the Atomic property to execute transactions independently without interference. This is useful as it helps speed up the database operations by performing them in parallel.
- Durability –
This property ensures that once the transaction has completed execution, the updates and modifications to the database are flushed to disk. This is a fail-safe that makes sure that transactions persist even if a system failure occurs.
Blockchains fused with Databases.
Despite the numerous benefits of security that blockchains offer compared to traditional databases, they suffer from some disadvantages in performance. Since the nodes on the network keep each other in check, there is a lot of overhead incurred to reach consensus. In practice, this means that blockchains cannot scale to levels of RDMS systems like SQL. Therefore, blockchains by themselves are not practical for enterprise-grade applications which require high-speed transactions. However, blockchains can be combined with database systems to bring the security of blockchains to the efficiency of databases. Blockchain-based startup Factom is working on solving this exact problem. The Factom blockchain exists on a level above the Bitcoin blockchain can store snapshots of other databases on the Bitcoin blockchain. This helps give virtually any database the same level of security as the world’s longest-running blockchain. In this way, both of these technologies can work together and help create safer and faster applications of the future.