Blockchain is the ingeniously simple technology behind Bitcoin. But it is much more than that. It is a public ledger to which everyone has access, but which no single person controls. It enables companies and individuals to collaborate with an unprecedented degree of trust and transparency. Despite the incredible potential of blockchain to reshape the world as we know it, there is still little understanding of what it is, what it does and why it is so revolutionary.
The fundamental component of any business is trust. To verify the trust, we've added friction - which adds cost and time. We have banks to verify the money that we transfer. This adds financial and security burden for the banks. Similarly, governments create trust amongst their citizens on verifying their identity. This again is a herculean task for organizations to maintain the data and frequent data breaches do not paint a rosy picture for the trust they are trying to create. The question now is - can we reduce this friction in trust? The blockchain creates the trust mechanism without adding friction. But, with all the buzz associated with the blockchain, you might think of it as an one size fits all technology. For all the hype around technology, it won’t and doesn’t solve everything.
Does your organization need a blockchain? Probably yes and no. Let’s say you are trying to determine if blockchain is the right solution for the project. Here are few questions you should ask when trying to determine whether you should be using a blockchain at all. If you’ve answered “yes” to any of these questions then, your project can reap rewards from the blockchain technology.
1. Do you need a database?
The first question you should ask, do you need a database? If you don't need a database at all, you don't need a blockchain. If you don’t need to record and store information, probably you are not using any databases.
2. Are there multiple writers to the database?
The next question you should ask is - do you need shared write access to your database? If you don’t share your access to database with multiple parties then, you don’t require a blockchain for your project. The blockchain technology gives shared access write access without any one controlling access.
3. Do the writers have conflicting interest?
At this point, your database has shared write access by different parties. Now you should determine if these parties or writers are untrusted or unknown. If the writers are untrusted, they stand to gain from invalid transactions that work in their favour. The blockchain can work to create trust among these writers. But, they all trust each other and all their interests are unified, then probably blockchain won’t add value to the project.
4. You can’t rely on a trusted 3rd party to verify the records?
The conflicting writers can trust a third party to audit transaction and manage the database. This third party is an intermediary but writers all trust it, so, they don’t require a blockchain to manage trust.
The blockchain can be used for projects that need a database, require shared access amongst parties that may not be known or trusted or may have competing interests, and it's not practical or possible for a third party to be trusted to manage the database.
After you have determined that your project can benefit from the blockchain - the next step is to identify whether to use permissionless (public) and permissioned (private) blockchain. Each type has been optimized for a unique purpose. Permissionless blockchains allow anybody to begin interacting with the blockchain network. A permissioned blockchain is a closed system in which each participant is well defined.
A permissioned blockchain is useful for a consortium where you don't want transactions to be publicly viewable but, want to create trust between members of consortium. For example, Ripple is a permissioned blockchain which is designed to allow fast and cheap transactions. It has more than 11 of the world’s top banks as its members. On the other hand, a permissionless blockchain is useful if you don’t want to control functionality of the network and all transactions are public. But being public, you're dealing with unknown and untrusted entities writing to the blockchain. So, network needs to have a robust mechanism to keep it secure. Bitcoin network is the example of a permissionless blockchain.
By thinking about problems in this way and thinking about the decisions here, you can start to get a feel for whether or not a blockchain makes sense as the solution to your business problem. Most of the times your project can do away with simple file storage or database.
This blog is based on Consensys Academy’s course on blockchain - Blockchain: Foundations and Use Cases