For people who are operating on traditional database platforms, or are looking to build one from scratch, the concept of using blockchain is often difficult to grasp.
- ‘Why would I use this public platform that relies on an infrastructure I don't have control over?’
- ‘Why would I use a blockchain platform if there are tried and tested data management platforms available?’
- ‘Why would I choose blockchain if millions of people are using SQL databases?’
- ‘Why would I go to all the effort of changing the architecture of my system to leverage blockchain if I can get a traditional model up and running in no time at all?’
To tackle these questions, let’s take a look at what architecture and data management processes look like when done on blockchain.
Blockchain data management models
Let's imagine a scenario where we want to create a system that allows us to put a live catalogue of items onto a database.
Tokenising your database on the blockchain
One of the ways to use blockchain would be to record items by packaging each data entry with its instruction into a false return output onto a single token. The database can then be rebuilt by scanning the history of the token from beginning to present time.
Data systems are about more than just reading and writing data. And so, if you want to manipulate your database - delete or modify - you need a system that can execute these instructions. In the case of blockchain, the network itself possesses the computing power to process the instructions that each data entry is packaged with.
Storing data as unique digital objects that live on the blockchain
Another way to use the blockchain for data management would be to create each data entry as a unique digital object that exists within a Bitcoin UTXO. If you want to manipulate that object, you won't have to recreate the whole database to access a specific entry. All you’d need is to know where that specific object is and have permission to access that particular one.
This model has huge advantages for system users and management. Instead of having to provide access to the entire database to everyone who might be interested in a subset of the database, you can attribute access and control permissions on a token level. And because of the immutable nature of the blocks, you will always be able to see the entire history of a data entry, how it was manipulated, when and by whom. If set up properly, you would also be able to analyse and query the database using something very analogous to SQL.
Key takeaways: Blockchain vs traditional SQL databases
1. Instead of a set of records that indicate what actions were undertaken at specific times, the blockchain lets you create the actual data items as dynamic digital objects. Given this dynamism, we can adjust the database by adjusting the digital items themselves.
2. When we compare blockchain with traditional data systems, the greatest benefits are derived from utilising the blockchain infrastructure instead of an on-site or cloud-based server system. Where traditional systems require you to set up, manage, maintain and secure your own system, the blockchain lets you plug into an infrastructure at a usage-based fee.
The advantages of a distributed architecture with permissioned token access
One of the biggest threats to online business and the Internet economy are hackers breaking into systems and stealing private information. When you do things properly using the blockchain, the attack surface of your system now becomes the actual blockchain network itself. Given the blockchain's distributed architecture, it's practically impossible for somebody to break into it the way they could if your data was stored on one server.
While each of the blockchain nodes can store the whole database of information on it, access to that data is linked to a key stored on a specific device. If you wanted to manipulate information within that database, you'd have to hack an individual device which would only give you access to the permissions of that specific user. In most of the systems that exist today, when I log in, all I'm being shown is what's in the database itself. There's no aspect of sovereign control on my computer, so somebody hacking the system remotely can seize a user's identity to allow them to access or manipulate the data.
TLDR: Blockchain's advantages over traditional data systems
- When you utilise a public blockchain as your infrastructure, you don't have to spend a cent to build or maintain your server systems.
- You get granular control over costs, as your costs are linearly correlated to your usage. If you only do 100 transactions per month, you can pay for only that data storage and processing while getting the most advanced network infrastructure, computing power and best-in-class security.
- Minimal in-house infrastructure: Although you will still need your own machine with a copy of your information so you can use your data and know where on the blockchain it's stored, the machine will have minimal requirements compared to a typical server infrastructure. Because you're only accessing a very small portion of it at once, you'd only need a machine that can execute one task at a time. Because the blockchain network itself is doing all the heavy lifting of managing user interactions, you could have 50 million people with permission to access and interact with the data.
- Data availability: even if you have downtime onsite or your own server goes bust, you'd be able to access your data from the blockchain. All you'd need would be one or two key transactions to recover everything, from anywhere around the globe.
- Public, yet private: although blockchain's time-stamping function means that the time a data transaction took place will be on the public record, the identities of actors as well as the content can be kept private with encryption and masking techniques.