How to create your framework for choosing a blockchain solution (1 of 2)
This paper is about how to decide if blockchain is the right technology for your business and which are the criteria to consider when comparing different blockchain solutions.
Part #1 — Checklist to understand whether blockchain fits your business and opportunities that arise.
The aim of this paper is to suggest how to approach blockchain analysis and how to do it concretely in order to evaluate whether it is the right choice for your business. It also provides a framework to be used to build up the metrics for comparing different blockchain solutions.
The paper is divided into two parts:
· Part #1 — Checklist to understand whether blockchain fits your purpose and opportunities that could bring to your business.
Executives wondering whether blockchain is the right decision and need a framework to compare different blockchain providers in the market.
Checklist to understand whether blockchain fits your purpose
I believe that the initial approach to tackle blockchain is, first, to achieve at least a general level of understanding, and second, to start the analysis going through a checklist. The more time you can dedicate to grasp this technology, the better, but in case your time is limited, I think that this paper can help to speed up your understanding and decision making. Be sure to analyse the problem fully with the right mindset. Study how blockchain works technically, what is its purpose by design, and understand which processes can be leveraged. Blockchain, for its nature, implies collaboration with peers, also competitors. If you are not in line with this mindset wait until you will. You don’t need to be an early adopter of blockchain technology at any cost, you can jump in later in the early majority stage of the technology.
Is the right time for my organization to invest in blockchain, or should I wait?
The technology is not ready yet, it depends if strategically your organization wants to invest in R&D. Make a rough estimation of the effort an analysis will take, based on your internal resources and budget. Hire a consultant, or a team will obviously shortcut the time. Blockchain technology is here to stay, would be a pity missing the opportunity to understand how to take advantages of its capabilities, now, or understanding when in the future.
Let’s start with a checklist.
Blockchain can be best suited for business applications where one or more of the following conditions apply:
o Do you need to build a network of trust with lots of devices, technologies, lots of participants and all have to communicate with each other?
- The participants involved in the network have conflicting incentives, or do not have trust among participants?
- Do you use trusted third parties that facilitate interactions between the parties that form your system? Are you trying to remove intermediaries?
o Do you have to build a transparency network, that needs immutability in order to be audited?
- You don’t want to remove your data and you put emphasis on the provenance.
- The data for a business process is being entered into many different databases along the lifecycle of the process? It is important that this data is consistent across all entities, and to keep human error as low as possible?
- All participants need access to the same data and write to the same data store?
- All participants need to assure that the data is valid and there is a need for an objective, immutable history, or log of facts?
- Are you spending lots of time exchanging email when all parties should look at the same data?
- Do you reconcile data frequently?
- How your current system react to errors? Unreliable with frictions?
o Ledger reliability: is there a need for a shared common ledger replicated in each node? Removing a centralized database remove the risk to have a single point of failure replicating the same version of the ledger in each node.
o Security: Do you need the use of cryptography in your system? Cryptography facilitates data confidentiality, data integrity, authentication, and non-repudiation ( although cryptography can be used also without blockchain. Some applications can simply utilize cryptographic methods, without the database replication mechanisms of a blockchain).
o Privacy: Decision making of the participants to the network is transparent, rather than confidential?
Let’s keep continue with the checklist.
On the contrary, there are also a set of conditions that are not well suited to blockchain-based solutions:
o Performance and Scalability: consider what sort of performance requirements your system needs in order to guarantee customers satisfaction. Which transactions frequency do you need? If you require high-performance (mille second transactions) blockchain is not the right solution.
Note: Hyperledger Caliper project is a blockchain performance benchmark framework, which allows users to test different blockchain solutions with predefined use cases and get a set of performance test results.
o Database: Blockchain doesn’t perform like a relational database SQL. Only a minimum of data should be stored. For this reason, if you want to store large data, or static data, or a large amount of them, blockchain is not the right choice.
o Rules of transactions change frequently. Everything that takes place on a blockchain must be completely deterministic: given the same input information will always produce the same output. The rules of transactions in blockchain are often pre-set, and smart contracts do not change execution paths once they have been initiated. If the rules around how your business processes are conducted change frequently, or change in unexpected ways, then blockchain may not be well suited for your use case. Additionally, blockchains are append-only immutable databases. A relational database may be more suitable if you need to make any changes to your data as the rules of your transactions change.
o Privacy. The process involves confidential data: open blockchain like Bitcoin and Etherum record permanently and transparently transactions between anonymous parties. They are not suited for businesses that don’t want to share their business processes and sensitive data with participants. In this case, private or permissioned blockchains can cover the business need sharing their data only with relevant parties. Although the best practice is to store PII (personally identifiable information) off the chain.
o External services to gather/store data. Blockchain doesn’t get the data from the external systems, the only way to inject data into blockchain is to use “oracles” that push data into blockchain through smart contracts.
o Trusted 3rd parties. Finally, if you have to rely on a trusted party for compliance or liability reasons, blockchain is not the right solution since it removes “the man in the middle”.
A Distributed Ledger is NOT a Distributed Database
Understanding the difference between blockchain, a distributed ledger, and a distributed database is important.
This diagram is a stylised representation of a distributed database
“ …. nodes of a distributed database trust each other and collaborate with each other to present a consistent, secure face to the rest of the world. By contrast, in a distributed ledger nodes cannot trust each other and so must independently verify data they receive from each other and only share data they are happy to be broadly shared” (See consensus mechanism )
If after going through the checklist you are still unsure, consider whether the actual relational database SQL commonly used so far could work better and more efficiently. Evaluate if a structure with a master/slave relationship between the original and copies are suitable and if a centralized database along with a regular file storage, makes more sense for your specific system. It is not a shame to use relational databases and the best scenario in the near future will be to combine them properly with blockchain. This is why, also in the last case, it is at least informative to know what’s are the advantages that blockchain could leverage.
- Simplify and decrease the costs of back-office operations: using blockchain-based shared ledgers, where transactions cannot be altered once validated by consensus and written to the ledger, reduced errors, brings near-real-time transactions and a consolidated, consistent, dataset.
- Reduce risks because remove a single point of failure of a centralized database in favour of a resilient system where the last version of the ledger is replicated in each node.
- Data auditing and dispute resolution: the immutable happen only shared ledger provides a unique source of through. Rather than having several platforms with potentially inconsistent data, it makes the process to audit data way more efficient and it relays on cryptography for data integrity.
- Data reconciliation: SWIFT, the norm for international transfers, usually takes 1/2 days to clear transactions, and generally, cost 1%/2% of the value of funds transferred or even more. End to end a blockchain payment is faster and the transactions cheaper. Probably blockchain won’t fit all payments use cases or circumstances, but makes some of them, way more efficient.
- Provenance: the ledger provides an immutable history, available to everyone have the grants to access to it (depending on the type of blockchain), connecting untrusted parties together.
We tend to overestimate the effect of a technology in the short run and underestimate the effect in the long run.