Blockchain vs. database, their key differences in terms of performance, privacy and vulnerablity as well as the concept of a distributed ledger
The detailed information on the blockchain basics is presented in our previous article. To understand the difference between a blockchain, traditional database and a distributed ledger, it is worth considering how each of these is designed and maintained.
According to Wikipedia, a database is an organized collection of data. This description seems to fit blockchains as well. Thus, we can infer that a blockchain is a type of database. However, the core difference between blockchains and traditional databases is in their structure.
Before Bitcoin, all databases had server-client architecture. This means that a database needed special nodes, servers, to run it. Other, clients, could view the data and write new entries only if permitted by the administrators of the network. Blockchains, however, are permissionless: each nodes has only as much authority as the other node. In a blockchain-based network, all nodes can read and create new entries, though, in doing so, they must meet protocol requirements.
The maintenance of a blockchain database is distributed among all nodes. Their collective computing power is what keeps the blockchain working. Most blockchain-based projects want everyone to be able to join the network. This entails the core inherent limitation of such systems because a blockchain is only as much powerful as its individual nodes. A traditional database, however, relies on servers. Servers do not face such limitations and can be as powerful as they need to be. This is why blockchains are likely to always be slower than server-based databases.
Another important difference is how data is accessed in these databases. Blockchains are distributed ledgers. It means that all data stored on a blockchain is open to public. Anyone can view the entire history of Bitcoin transactions since the very beginning, since the genesis block. Traditional databases, as we have already said, require appropriate authorization for a node to read data. In other words, blockchains are transparent, and centralized databases are opaque. In this aspect, neither of them beats the other because different projects have different privacy requirements.
Today big companies buy powerful servers to manage and store their data. These servers can be very hard to break in. However, they are still more vulnerable than blockchain-based systems, as the latter do not have a single point of failure. If a server crashes, the entire database most likely will not be available. In the meantime, if a node leaves a blockchain network, its data will still be perfectly fine and accessible. This proves to be blockchain’s advantage over traditional databases.
Above are the key differences between blockchains and server-client databases. The list of these aspects goes on, as many more differences arise from these main ones. However, a blockchain can be the first distributed ledger but it is not the only one any more. A concept of open ledger has been proposed long before Bitcoin, the first blockchain-based project. And there has been a number of attempts of creating a fully decentralized public database but most of them failed for many reasons, including a lack of incentive for nodes to run such a system. Bitcoin solved this problem by rewarding them with internal currency, which is now more than relevant outside the network.
With blockchains paving the way, new distributed ledgers are emerging everyday now. Inspired by Satoshi Nakamoto’s invention, developers are now improving on the original by adding new features and addressing issues. Terms ‘blockchain’ and ‘distributed ledger’ were initially used interchangeably. Now there are many distributed ledgers that do not even have a chain structure. Distributed-ledger technologies opened up many possibilities for implementation in some of the most different fields of human activity: from finance and business to food tracing and interplanetary file systems.