20 questions to ask yourself before using Blockchain in your project
It is well known that the Blockchain brings great value to many use cases. However, when it comes to choosing which form of storage to use, we should not get carried away by the hype generated by this technology. Follow me through this post in which I analyze a series of issues to take into account.
NOTE: The process will be guided by images, as well as some considerations.
Initial thoughts
Some of these questions may give you clues as to whether Blockchain is a good fit for your project:
- Do you need consistent shared storage?
- Do you need a tamper-proof registry?
- Are there trust issues with your solution?
- (…)
If after this first filter, you still think you need to use blockchain, it’s up to you to decide: public network or private network?
I want to use a public network!
If you plan to store personal data or other sensitive information (company secrets, invoices…), discard this option! Even using cryptography, the information would be distributed through unknown nodes all over the world, which could lead to information leaks and litigation. Because of their restricted nature and smaller size, private networks may be a more secure option.
Similarly, discard a public network if you need high throughput rates (high transaction volume and low latency). It should also be said that networks such as Ethereum (“the merge is approaching”) promise to improve these rates significantly. Likewise, private networks present better performance metrics.
If you also need to update or delete data, don’t use a public network!
Perhaps a private network would be a better option…
Even in this case, sensitive information must be treated carefully. Consider using cryptography or other mechanisms such as Hyperledger Fabric Private Data Collections.
On the other hand, although some private networks allow updates and deletions, these are only fictitious. A copy of the past state will remain in the previous blocks. You must be extremely careful with this aspect because of legal obligations such as the right to be forgotten in some countries.
How many organizations participate in your network? If your answer is one and you are not in an auditing use case, you may reconsider using a private blockchain.
Last questions
Have you been honest? Well, you still have to evaluate many other questions (surprise!):
- Technical questions: how many nodes are there, and how distributed are they? Are they enough to resist 51% attacks?
- Economic and financial questions: is the project viable, does it add value, does the market need it?
- Environmental questions: how is the environmental impact of the blockchain solution adopted? Is it in line with Corporate Social Responsibility and the company’s values?
Finally, remember that smart contracts are programs whose rules must be very well defined. Does your project fit? Good, now you “only” have to implement it and take it to production, with an exhaustive process of testing and security examinations.
Good luck!