I was recently working with a CIO to determine whether we should use Blockchain for an application. This is a summary of our decision process.
Does the application meet the general requirements for a blockchain solution?
- Managing contractual relationships on a distributed ledger?
- Tracking transactions that involve more than two parties?
- Reducing complexity in the current system
- Eliminating the need for intermediaries
- Distributing control or removing central points of control?
- Needing increased trust, transparency, and accountability in recordkeeping?
- Eliminating fraud?
If you answered “yes” to any of these questions it is worthwhile to look deeper into using a blockchain.
Does the application you are analyzing suffer from inefficiencies, in the processes that cause delays, frustration, errors, and duplication of effort? If “yes” keep reading.
When analyzing a particular application, make sure it’s a good fit for what you’re trying to accomplish. Choose something that adds real value as opposed to something that could be achieved just as well using mature technology.
Which blockchain functions are required:
- Consensus: Does agreement that each transaction is valid across the business network provide some benefit?
- Distributed Ledger: Is maintenance of a complete audit trail important?
- Immutability: Is it important that the train of transactions is tamper-evident?
- Finality: Is there a need for an agreed “system of record” across the business network?
- Smart Contracts: Are there transactions that require faster settlement?
- Security: Are anti-tampering features important?
One caveat, If this is your first time using blockchain it is best to choose a problem that’s less complex, so you’re not overwhelmed with complexity during your first blockchain project.
Finally, choose a provider and platform that best fit your needs.
Compare the suitability of different providers and platforms:
- Do you need to know the identities of the parties, or will they be anonymous?
- Is every transaction unique or are the multiple transactions all the same type?
- Are there requirements for anti-money laundering (AML)
- Are there requirements to know your customer (KYC)
- Do you require a public, private, permissioned, or consortium network?
- What transaction speed is required?
- Does the application require cryptocurrency or tokens?
- Is transaction confidentiality required?
- Are smart contracts required
Then based on these answers find the right blockchain to host your project.
Now comes the fun part to develop your project and gain the efficiencies of using a blockchain properly.