With all the noise revolving around this new form of technology. It is time we take a brief overview on why blockchain tech is gaining so much traction and of course the features that distinguish it from existing database technologies.
But, before I dive a little bit further, I have a simple question to ask, should blockchain be regarded as a database system? I think that a topic for another day but I won’t mind your opinion in the comment section as I have little knowledge about technology in general. I am currently in the learning process about tech related stuff through random work am coming across online.
What Is Database
By simple definition – A database is a well-structured collection of data, stored, managed and accessed electronically.
Database architecture may be internal, external or conceptual. The internal level handle the cost, performance, computing and other operational functions. The external level illustrate how an end-user visualize the organization of associated data in the database system. The conceptual level perfectly unite the different external views into a defined and wholly global view. It comprise of every end-user important generic data.
For a data system to be regarded as a database, it must be capable of retrieving a particular search query rapidly without any deform or shortage in the required data-set. This is usually handle by a Database Management System (DBMS).
To comprehend how a traditional Database system differ from a blockchain system, it is worth noting how each is designed, maintained and propagated.
Traditional Database System.
Uses a client-server network design. here a user (which is the client) can edit and update data that are relevant to him/her, accessed through a central-server. The overall control and management of the system is handle by a central authority, who grant access and authenticate data to users after which a particular user credentials must have been approved. Since responsibility of the system lie with a designated authority, data may be stolen, edit or even deleted if the security of such authority is compromised.
Blockchain database is propagated through the administration of decentralize network of nodes – each acting independently to verify and store new input of data but as the same time staying in sync by constant mutual communication with other nodes in the network, which coordinated agreement is arrived through an adopted consensus. Every node in the network having a regular uptime possess the exact same set of data found throughout the system which cannot be altered by any outside interference. Data in a blockchain system can be access from any node in the network. This network of nodes also provide extremely strong security as it is almost impossible to attack every node at different location point at a time or spread a virus or malware since communication are made in an encrypted version without any node capable of deciphering the data of other nodes in the network by the use of cryptographic technology.
The Advantages Of The Two Systems
As much as blockchain poses many advantages, centralized system also have their areas of strength, therefore, it should be well thought-out before choosing the system that would suit the need of a user in terms of confidentiality, transparency/authenticity, robustness, security or performance.
Access of a data from a single point require that a client requesting such access possess the true credentials associated with the particular data-set. This is an important factor to ensure the original party or client “only” can access such data, though there are concerns around the security of the system or the abuse of client data by the management.
Every node in a blockchain system verify and process transaction. Each node can do this because it has appropriate visibility into the current state of the system and is able to locate the origin of a transaction. This does not say blockchain systems are not capable of hiding data as there is a very good example of a blockchain type “Monero” that can completely hide data, and new cryptographic technique such as confidential transaction and zero knowledge proof are being developed.
In that sense confidentiality of data should be attached base on the advantage the system poses.
One of the killer feature of the blockchain tech is “transparency“. Every data irregardless of time it was created can be retrieve in it’s original uncorrupted state without a single doubt. This is very useful in taking important roles in many sectors where full transparency and authenticity of data is lacking. This could not be said of traditional database where access to some data is restricted to a particular user. The authority in care of such data could also reject or suspend a client from accessing data without providing any explanation or be negligence to troubleshoot any issue arising.
Blockchain tech have extreme fault tolerance which stems from their built-in redundancy. Transaction entering the network is processed by every node, so no individual node is indispensable in the network.
Communication is done in a peer-peer fashion through dense connection links, since failure may arise in connection, blockchain consensus mechanism ensure the system is not put to an halt as node continues to go offline or join the network. Any node having a downtime can always easily catch up with the transactions they missed.
Also, new node joining the system need no extensive configuration, all that is needed is it to connect to the system and everything automatically sync. Nodes can be freely added or removed from the network with no actual preparation or consequence.
With regular database, high availability is achieved through a combination of expansive infrastructure and disaster recovery. A primary database is run on high-end hardware which is closely monitored for problems, with transactions replicated to a backup in another location. If a primary server failed, activity is automatically shifted over to the backup which will serve as the new primary, the failed system take the role of the backup once it is fixed. While this sound simple and easily achieved, it is extremely expensive and very difficult to get right.
While it is true regular database offer means for replication or backup, blockchain takes this to a whole new level.
Packed dense network of nodes communicating via an encrypted techniques ensure outside influence is effectively mitigated. In as much as developers of the blockchain do not deploy a faulty code during a fork or the system run a consensus type that is not well proving, a blockchain system should never suffer any security breaches.
Many infamous data breaches has been reported with centralized database which as cost millions their privacy and thousands their businesses. Since data are serve from and to a central position maintained by human supervision, any fault or penetration made to that central server can have adverse effect to the overall user. The self-governing mode of the blockchain system itself also ensure little to no human management is needed. Thus, prompting us to the future where human errors on systems would be greatly improved.
The nature of the way blockchain carry out it’s processes contribute to the slow speed currently experienced. In fact, it is debated whether blockchain processing speed would ever match that of traditional database. Because, rather than a straight forward relay of Information, blockchain has to carry out three additional processes with inclusion of the normal process in a regular database.
Consensus mechanism : The need for the network to arrive at a consensus from time to time must be expanded. Depending on the type of consensus the network adopted, this might involved forth and back communication. While centralized database must also handle unsolved and aborted transaction, these have far less effect on performance since transactions are queued to a single point.
Signature verification : Every transaction must be digitally sign using a cryptography scheme such as ECDSA. This is needed, because transactions is process between nodes in a peer-to-peer fashion, so their source cannot be otherwise proven. The generation and verification of this signature is computational complex and constitute to the primary bottleneck of the tech.
Redundancy : Centralize database only have to process transaction once or twice. Whereas, all the nodes in a blockchain system must process each data entry independently adding to the computational load of the system.
The bottom line
Each database system have their area of strength/weakness and where they could be compared. We could talk about codebase maturity, developers attractiveness, ecosystem width and more. But none of these are inherent of the technology itself. So when it comes down to a long term decision of using a database, we should consider these questions. What’s more important for my need? Transparency and robustness? Or Confidentiality and performance?
Many of these use case are being disputed whether is it necessary to be constructed around a particular database.
The major dispute lie between confidential and transparency. Competitive companies in a market niche would try as much as possible of keep the privacy of their data and related operations confidential and would prefer a centralize service. Even though this may result in some heavy cost, the privacy enjoyed by such service is justified. The only motivation to adopt a blockchain solution by such companies may arise from vigorous new regulation.
Enormous lack of details and transparency is worrying in government and many other sectors such as in supply chain and tracking. These are areas that are begging for blockchain intervention, with the way the tech ensure authentic nature of information through transparent channels.
Blockchain is the solution to a new form of government, economic and social structures. Do you agree with this statement? I would like to know your opinion, observation and argument in the comment section below.
Featured image modify form pixabay
Image 2 and 3 downloaded directly from pixabay