Blockchain and standard databases. Is there any difference
First, remember the blockchain
Blockchain is a popular name for distributed ledger technology. It differs from other similar ones in that it links data blocks into a chain using a cryptographic hash for this. This chain can be changed only subject to the general consensus adopted between the participants (nodes) in such a network.
Simply put, about distributed ledger technology or blockchain, we are talking about data security; to their organization, where they are protected from freelance change. This security is ensured by 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 the very consensus is more a lottery between participants who follow certain rules. Each round wins only one participant who is honored to send a block to the network and everyone knows that he won the round and take this block in his chain.
The network capabilities of the protocol are simple: in it, 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 to synchronize with them in turn. The number of such nodes can also be set in the settings when starting network software (nodes). In meta-these nodes, they report information about their load, and then, knowing this, the other neighbors try to pester such a node less.
Let's try to compare
Modern DBMSs are complex programs and are designed to store information so that there is where to save it and where to look for later. They have many means to protect it, including points of failure and replication. They can work distributed. What is their difference then and where is such a craving for warheads from corporations.
Let's say some organizations want to store their data as if on their own. They start a database, any and safely insert them there.
Then they have partners who want to beg a little from there and insert something about their customers, products, etc. It’s not a question, we can synchronize them, say, according to REST, the principle of transactions is perfectly implemented in most of their engines, and the principle of keys (PK, UNIQUE) does not allow to insert the same thing again and essentially 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 difficulties of trust in modern financial processes, and a little later in production. They do not trust them in different ways, and with all the ideality of modern DBMSs, they need constant changes and improvements. And that basically refers to the consensus algorithm.
If you look at the news on the topic of blockchain technology, then in your startups they fight over protocols (speed and fault tolerance) and consensus (the principle of trust within the network).
However, there is no reference 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 always), and this is impossible, only one copy of the changes should be accepted, otherwise all the rest will be confused which one to read.
You will say: why not give everyone an opportunity to take turns. In fact, this is sometimes done and this contributes to excellent performance, but reduces security. The fact is that in this way it is possible to find out when someone makes the changes and it centralizes us at the moment the block is generated on someone specific, and if we do not trust it, or trust only certain nodes, then the senders of the transactions themselves for the changes will be send them at a time when they know exactly whose turn.
On the other hand, this is the principle of competition between miners, that is, participants who want to be the first at the time of changing the block. 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 divided and suitable for working with any databases.
As a result, we can say that we are talking about a system of technologies built on existing databases, which has openness and the need for constant changes and improvements by everyone.
Speaking quite frankly, this is the desire to idealize data accounting in a competition for this data. A certain kind of guarantee for the participants in the transaction to a favorable outcome of their activities.
The technology itself brings popularity to electronic document management and its modifications to those arising in the process of complicating operations in it.