Blockchain and standard databases. Is there a difference

This time I would like to talk about how I see the differences between the blockchain and conventional database systems. Of course I donโ€™t think that I have found the answer, consider it my thoughts.



Let's remember the blockchain first



Blockchain is the popular name for distributed ledger technology. It differs from others in that it links blocks of data into a chain using a cryptographic hash. This chain can be changed only if the general consensus adopted between the participants (nodes) in such a network is observed.



In simpler terms, distributed ledger technology or blockchain, we are talking about data security; such an organization where they are protected from freelance change. This security is ensured using cryptography (data on the network is always signed, be it a transaction or a block, and the signature is verified before the data is considered reliable), and all other components are something more familiar. Even that very consensus is more of a lottery between participants who follow certain rules. Only one participant wins each round, who has the honor to send a block to the network and everyone knows that he won the round and takes this block into their chain.



The network capabilities of the protocol are not difficult: initially from the config, and then using messages from those nodes to which it was possible to connect, information is read (network addresses and any meta) and they are stored in memory in order to synchronize with them in turn. The number of such nodes can also be set in the settings when starting the network software (nodes). In the meta, these nodes report information about their load, and then, knowing this, the rest of the neighbors try to pester such a node less.



Let's try to compare



Modern DBMS are complex programs and are designed to store information, so that there is where to save it and where to look later. They have many tools to protect it, including points of failure and replication. They can work distributed. What is their difference, then, and where does such a craving for warheads from corporations come from?



Let's say some organizations want to store their data as if on their own. They start a database, any and insert them safely.



Then they have partners who want to beg a little from there and insert something about their customers, products, etc. It's also not a question, we can synchronize them, say, using REST, the principle of transactions is perfectly implemented in most of their engines, and the principle of keys (PK, UNIQUE) does not allow you to insert the same thing again and, in fact, solves the problem of double spending. And these are all standard database management systems.



So why did you need a blockchain. They began to look at him because of the complexities of trust in modern financial processes, and a little later in production. They do not trust there in different ways, and for all the ideality of modern DBMS, they need constant changes and improvements. And this basically refers to the consensus algorithm.



If you look at the news on the topic of blockchain technology, then in their startups they are fighting over protocols (speed and resiliency) and consensus (the principle of trust within the network).

At the same time, there is no standard consensus, depending on the tasks to be solved, different ones are chosen.

Competition leads to the fact that the right to make changes to the general ledger greatly affects the success of the participant, and everyone wants to do it first (well, or generally always), but this is impossible, only one copy of the changes made should be accepted, otherwise everyone else will get confused which one to read ...



You say: why not give the opportunity to all in turn. In fact, this is sometimes done and it contributes to excellent performance, but reduces security. The fact is that in this way it is possible to find out when someone makes changes and this of a certain kind centralizes us at the moment of block generation on someone specific, and if we do not trust him, or trust only some nodes, then the senders of transactions for making changes will be send them at a time when they know exactly whose turn it is.

On the other hand, it is also the principle of competition between miners, that is, participants who want to be the first at the time of block changes. This is especially true for systems with open data.



Speaking of data openness. Since many DBMSs are closed, they cannot implement the principles of trust and this, as it were, hints that the technology should be separated and suitable for working with any databases.



As a result, we can say that we are talking about a system of technologies built on top of existing databases, which has openness and the need for constant changes and improvements by everyone.



Quite frankly, this is the desire to idealize data accounting in the face of competition for this data. Some kind of guarantee of the parties to the transaction for a favorable outcome of their activities.



The technology itself brings popularity to electronic document flow and its modifications to those arising in the process of complicating operations in it.



All Articles