When to use Blockchain.
Key concepts to consider
Legacy databases versus private blockchain versus public blockchains.
At the most fundamental level, blockchain is a type of database, and the question that needs to be answered up front is whether blockchain is the right platform for your application or whether a traditional database can optimally solve your problem. Because if it can, then you should probably with stick with it.
Once you have determined that you cannot solve your business problem with a data base, the next you should consider is whether a public permissionless blockchain, or private permissioned blockchain, is most appropriate.
If your data must be accessed by the general public then you would be leaning towards a public blockchain. Having the data publicly available will open up additional use cases, reduce friction between the data consumers and the data, and will allow you to leverage existing pre built blockchains such as Bitcoin, Ethereum and their ilk.
If absolute confidentiality of data is essential then you probably should also look towards a private blockchain. Private blockchains such as those offered by IBM allow you to restrict access to data to those who need access. Although private blockchains are currently the only method to gain exposure to some of the benefits of blockchain technology whilst retaining control over the confidentially of data, we suggest that any decision to use them should be very carefully considered. The world is moving towards the opening up of access to data, and one of the prime benefits of blockchain is the removal of counter party risk. These benefits are lost on a private blockchain. Furthermore, public blockchains are busily improving their ability to ensure confidentiality, and when they succeed any investment in private blockchain technology may end up being a dead end. The below diagram illustrates the difference between these three options.
Security
One of the the key concepts to consider when determining whether blockchain technology suits your application is blockchains security characteristics . The security requirements of any platform can be determined by considering and balancing the required confidentiality, availability and integrity of your data. Blockchain excels at integrity and availability. On a blockchain platform, the availability of the data exceeds any of todays traditional cloud services and you are guaranteed that the data is what you expect it to be. The area where blockchain is not so strong is confidentiality. As a result of Blockchains' intent to make transactions available in a decentralised manner, that is to be verifiable to all parties, it is difficult to ensure absolute confidentiality of data on a blockchain. Although anonymity of participants is achievable using some of the latest technology, and data can be obfuscated, ultimately the nature of blockchain tech means that data stored on a blockchain is permanent and accessible to all participants. Although solutions are being developed that integrate blockchains with distributed confidential storage solutions, if confidentiality of data is a must have then today you should consider a private blockchain to restrict access to the data or even a traditional database solution. If Integrity, availability and frictionless access to data is a must have and you can compromise on confidentiality, then public blockchain tech may be the platform for you.
Trust and decentralisation
One of blockchains' most valuable characteristics is that it can operate without the need of a centralised trusted third party, so if your application can operate optimally without the removal of centralised trust, then you probably do not need blockchain. This isn't as simple a question as it seems, as the pertinent term is optimally. For example the Australian census is administered by the The Australian Bureau of Statistics (ABS) and they have been doing a great job for a very long time. However in 2016 the ABS choose to collect data via a web portal for the first time, and it famously crashed, causing much embarrassment and a huge fine for IBM who were responsible for the website! If the ABS choose to use a public blockchain platform for the collection of data, this simply would not have happened. When considering whether you trust the custodian of your data (and this could be yourself), consider carefully if blockchains decentralised trust capability, availability and immutability characteristics would make it the best option.
Speed and Cost
Efficiency is not a characteristics blockchain technology excels at. Blockchain is protected by having many servers (1000s) processing the same data and coming to a consensus on its validity. As a result blockchain tech is currently many times more costly and is much slower than current cloud alternates. If speed and low cost are essential, then blockchain may not be for you.
Choosing if blockchain is right for you.
There are quite a few models for determining if blockchain technology is right for your application. The following from A.Lewis will help you make the determination.
Images courtesy of A.Lewis.