Storing Data on the Blockchain (p1)
Everyone knows of Cryptocurrencies like Bitcoin, Ethereum, Ripple as the new forms of money and currency as it stores the transactions as digital packs of data within blocks. However, there is no reason this data cannot be extended beyond just financial data. In theory, any form of data can be stored on a blockchain. So, why don’t we store our important data on the blockchain network so that nobody can change it while everybody can access it?
There are many reasons you might want to store data (documents) or hashes of data on a blockchain, and multiple ways to do this. People will not store big sized data on the well-known network like Bitcoin and Ethererum because they’re super expensive. But there’re various projects are currently innovating around this idea, each proposing different methods with different trade-offs.
In this series, we’ll go through:
- The need for storing data (documents) on Blockchain, why should we use Blockchain anyway
- The different ways to store data on a Blockchain. It’s either be storing the whole data or just a Hash of it.
- And the promising projects (networks) that specialize for storing data on Blockchain
Why Should We Store Data on Blockchain?
Throughout 2017 and 2018, there was a huge amount of hype around the applications of blockchain technology and cryptocurrencies. Data storage is a much drier and less exciting application. However, it is deliverable, with multiple improvements over existing data storage systems.
Tamper Resistance
Immutability is perhaps the most important benefit a blockchain provides. Cryptographically linked blocks provide a record immune from tampering.
This tamper resistance is highly effective in preventing the counterfeiting of documents and document fraud. If you cannot store the actual document on the blockchain due to file size limitations, then even storing a hash of the document makes a lot of sense.
Documents often take up a lot of space, compared to financial transactions, which blockchains like Bitcoin are designed for. It is often not feasible to store a whole document on a blockchain. Hashes take up just a small fraction of this space, therefore, are a much more efficient option.
Storing just the hash still offers you tamper resistance. Whenever you change the input of a file, its corresponding hash value will always change. This is a vital benefit secure hash algorithms provide. Regardless of where you store your document, whether in a centralized system like MySQL or in a distributed database like Azure, you can still verify the document has not been tampered with by rehashing it and comparing it to the blockchain-stored hash.
Visibility
Using a public blockchain is a great way to make your document accessible to the public. Of course, you need to be absolutely confident that you want to make it fully visible. Once you store the document or its hash on the blockchain, it will be there permanently. There is no way to change data once you include it in a block.
A blockchain is certainly not the only way to do this. However, given its level of security and tamper-resistance, you can be confident of permanent visibility.
Of course, you could also use a federated or private blockchain if you wanted to limit access to your documents. Such blockchains can provide you with the ability to offer permanent visibility to a preselected group. These alternatives will, however, undermine decentralization and possibly tamper-resistance.
Need for Decentralization
The final reason to use a blockchain is if you require decentralization. Perhaps the nature of your document means that you cannot reliably trust a third-party storage provider to not tamper with or delete the document.
One such instance would be politically sensitive files, which malicious parties could target if published. By uploading the document or its hash to a public blockchain you would have peace of mind that it is safe from state or corporate censorship. Of course, choosing the correct blockchain is very important here. Blockchains are not all made alike. If the consensus protocol is not properly decentralized or allows full nodes to reverse or censor transactions, then you will have the same problems as using traditional systems.
In the next post of this series, we’ll cover Different ways to store data on a Blockchain. Stay tuned!