Blockchain decision models
We all know about the ICO craze happening these days. Too many concepts are translated into blockchain projects. The core principle of a blockchain is to prevent fraud, create transparency, and act as a single source of truth. Let’s look at IPFS and Filecoin. Both are projects which offer decentralized storage. For the vast majority of businesses, it’s important that your files are stored cheaply and can reach your users quickly.
Let’s take a closer look at the different blockchain decision models.
Suichies model
Photo Credit: Bart Suichies / Medium Blog
The Suichies model is a great start to help you decide if your project or idea requires the use of blockchain technology. By answering several questions, you will end up with four possible results: public blockchain, hybrid blockchain, private blockchain, or don’t use blockchain. The key questions here is: Are writers, or those who add data, known and trusted? If you know and trust the people who are writing data, it’s logical not to use blockchain.
This is one of the few blockchain decisions models which incorporates a hybrid blockchain. However, the level of complexity a hybrid blockchain brings is very high, and creating one will be a costly operation. A hybrid blockchain is mostly deployed inter-firm.
Birch-Brown-Parulava model
Photo Credit: Dave Birch / chyp.com
This is a good model that does not focus on the technology, but rather on the distributed ledger concept itself. This model can be used after having decided to use blockchain technology, but before deciding which type of the blockchain you will use. The model will help you to decide whether you need a permissionless or permissioned blockchain.
Lewis model
Source: Antony Lewis - Blog by Antony
Antony Lewis, Director of Research at R3, created this model. Pay attention to the second question: Could this have been fixed before blockchain? It is important to ask yourself what is the value that blockchain offers your project. Many ICOs just add blockchain to their idea, however, there are several competitors who have a working product without the need for a blockchain. This model offers sound advice. First, understand if a central database could be useful before deciding to use blockchain.
Key points on blockchain usage
Multiple writers
Blockchain is a technology for databases with multiple writers. In other words, there needs to be more than one entity which is appending transactions that modify the database.
Absence of trust
If multiple entities are writing to the database and there is a lack of trust between the different entities, a blockchain can offer transparency and act as a single source of truth. For example, when one entity wants to prevent other entities from changing their data in the database, if you own an asset in the blockchain, only you are able to modify or transfer it.
Central gatekeeper
Is your database using a central gatekeeper, like a bank, who is trusted by all non-trusting writers? The blockchain is a good alternative because it might include lower costs, faster transactions, and more automation.
Data size
Blockchains do not support large data storage. A best practice is to store a hash of the data on the blockchain, so you can use this hash later on to verify the data in your central database. If the hashes don’t match, you know someone has altered data. In order to maintain performance, a blockchain is mostly used to store a limited amount of data.
Throughput - scalability
A blockchain is a robust and heavy framework by nature. They are initially not designed to accept large amounts of transactions. However, solutions like a Tangle / DAG offer more scalability. Several problems regarding the scalability of blockchains have been reported. One such example can be seen when the Crypto Kitties event lead to a congestion of the Ethereum network. The throughput and scalability are the most critical factors for deciding whether to use a blockchain. If your idea relies on a high throughput, a blockchain won't be your best bet.
Conclusion
Before choosing a blockchain solution, check if you really need blockchain. In addition, pick the right type of blockchain for your needs, either open or private. A central database guarded by a strong security layer can provide a good solution for many projects. The key question here is: Could this have been fixed before blockchain? If the answer is "yes", it’s a bad idea to implement blockchain.