Besides, the use of traditional storage methods is a direct way to monopolize the market, since the greater the storage capacity, the cheaper the services. And the monopolization of the market, as is known, leads to a decrease in the quality of services and a slowdown in the rate of scientific and technical growth.
Data stores on the blockchain
The blockchain technolodgy is based on a sequence of blocks, each of which carries a certain amount of information. This volume is limited to the blockchain framework. For example, for Bitcoin is 1 MB. The limit shows the maximum file size that can be uploaded to the Bitcoin blockchain. To store information about transactions 1 MB is enough, however, if you want to save an image or video file, you need to look for another solution.
A similar solution could theoretically become the Ethereum blockchain, since it has no restrictions on the block size. But in this case, another problem arises - the excessively high cost of storing information. The fact is that downloading data to the Ethereum blockchain is not free. It is spent on ethereum gas, which costs real money, and the larger the file (data) size, the more this gas spends.
In 2017, it was estimated that downloading 1 KB of information on a blockchain costs users 2 US dollars. It turns out that loading a blockchain, for example, a 600 KB text file will cost users $ 1,200, a 5 GB movie is more than $ 10 million. The price is probably much lower now, as the market has sunk, but it's still transcendental.
Options of using blockchain for data storage
Storing everything in the blockchain
The problem with limiting the maximum block size can be solved in several ways. The simplest of them means:
1. Breaking a file into segments (fragments) whose size is smaller than the block size. Thus, even the largest file can be written on a blockchain with a small block size.
2. Encryption of data in fragments so that only their owner can understand what is written in them. This will allow storing information in an open blockchain and be sure of its confidentiality.
3. Distribution of fragments over the blockchain network. Due to this, the file will be saved unchanged, while at least one user is synchronized with the blockchain.
This approach is borrowed from torrent trackers, but it is not suitable for storing data using the blockchain, even if you remove the transaction fees. There are several reasons for this. First, the information is recorded in the blockchain through transactions, and they require confirmation. A large file may require several thousand transactions, in other words, several hours, or even days.
Secondly, the information in the blockchain is unchanged. Therefore, you cannot delete or modify unnecessary data. All files that have fallen into the network and their variations will remain forever on the blockchain, and theoretically someone will be able to view them sooner or later. For example, when a blockchain loses popularity, then one user will be able to manage it individually, changing the rules of the system as you please.
Thirdly, immutability will lead to another problem - an avalanche-like growth of the blockchain size. If the information cannot be deleted, it will only accumulate, which will eventually make the blockchain size too large for the average user. For example, now the size of the Bitcoin blockchain is 220 GB, Ethereum is 600 GB. This is already too much for smartphones, tablets and much of the laptops.
Summing up, it can be said that storing information directly on the blockchain technology is not the best idea when it comes to big data. This option is suitable only in cases where the amount of information is within a few kilobytes. For example, when it comes to financial transactions, personal data or document flow.
Peer-to-peer File Systems
We are talking about such storage methods as, for example, the Interplanetary File System (IPFS). This blockchain technology is built on the BitTorrent protocol, which involves breaking up files into shards and storing them in multiple instances on the computers of system members.
This approach has several advantages:
● file will be downloaded by users only if it is interesting to someone;
● popular files are downloaded / distributed very quickly;
● data is address dependent, therefore it is impossible to falsify the internal contents of the file;
● this is a peer-to-peer solution.
Among the disadvantages, it can be noted that the file is downloaded to the network only if the user is online and such a system serves only static data. In addition, you can access the file only by knowing the name / path to it.
Comparison of HTTP and IPFS protocols
The blockchain in this scheme is used as an intermediary that binds participants together and is responsible for the authentication and integrity of files. In addition, it can be used to monetize the process
: the seed receives money for the distribution of files, peers pay to download them.
Decentralized Cloud Storages
This is, in fact, the usual cloud storage like Dropbox. But the data is not placed on the servers of companies, but on the devices of users who rent them. There are many similar startups, for example Swarm, Storj or Sia.
Visualization of the unloading process in Storj
Using such solutions you do not need to constantly be online to share information with other network members. It’s enough to upload
the file to the cloud storage once. Such storages are stable, fast and have huge capacities
However, they are only suitable for maintaining static data and do not support searching by content. In addition, they are not free because people rent equipment from each other.
If you need to store large amounts of structured information and search for content by request, you should pay attention to NoSQL. SQL is not suitable, because the information in them cannot be distributed into fragments due to limitations of the Brewer’s heuristic theorem. You need to sacrifice availability and consistency to make the database truly distributed.
This is exactly what NoSQL databases do — sacrifice the consistency of blockchain nodes, replacing it with “eventual consistency” (nodes become consistent after a certain time) for accessibility. Based on this approach, many projects have been implemented, for example, RethinkDB, Apache Cassandra, MongoDB and others. And these are excellent cases - fault tolerance, high speed, simple horizontal scalability and support for a plentiful query language.
Truth be told, they have one major drawback - all nodes must trust each other. This is important because if a malicious item appears among the nodes, it will be able to destroy the entire database on its own.
Cases: blockchains to store information
Cloud storage with huge volume and very fast transactions. Built on the RethinkDB cluster and uses NoSQL mechanisms for storing blocks, thanks to which it has high fault tolerance and capacity.
BigChainDB work pattern
All members of the BigChainDB network
are connected to a single cluster and have full rights to record, change and delete information, so this case is not suitable for public solutions
. But it can be used for private corporate tasks:
● business and jurisprudence;
● accounting statements;
● asset tracking;
● financial data.
Storj and Sia
These are companies that operate as trading exchange platforms. They promise cheaper, faster and safer storage. However, this does not mean that their services are cheaper than Google, Amazon or DropBox. They just make a profit not only from rental rates, but also from the commissions for conducting transactions related to loading and extracting data.
The work scheme of Storj and Sia is, in fact, the mediation between those who rent hard drives and those who rent them. Blockchain is used for register of transactions, financial calculations and authentication of files in databases. At the same time, user data is stored outside the framework and may be deleted or become unavailable at any time if landowners decide to delete files or force majeure happens on their side.
Nevertheless, the demand for such storage facilities is constantly growing as the market grows and people like the possibility of using a new technology, even if they do not understand much about it.
Another database where people rent hard drives for rent. Its feature is the insurance deposits that landowners must deposit on smart contracts in order to gain access to monetization. Without such a premium, only the client side of the platform is available..
The insurance payment is inside the smart contract until the landowner decides to leave, having fulfilled all his obligations for which he received the money. If the landowner deletes the stored files or simply disappears, the money will be withdrawn from the smart contract and distributed within the system. With this mechanism, the TiesDB team eliminates unserious and unreliable landowners.
TiesDB, BigChainDB and IPFS comparison
is not formally a blockchain, since it is just a decentralized cloud storage that uses smart contracts to motivate and punish participants, as well as store information about rates, mutual settlements of participants and insurance deposits
Besides, TiesDB uses the new blockchain to reconcile conflicting information about changes to the database and related financial transactions. For example, if product information is stored in TiesDB databases, information on the quantity of goods must also be entered in the database. If this is not done, the buyer may pay for goods that are no longer in stock.