Hey, everyone.
Welcome back to the course.
Blockchain has been the most talked about technology of the last decade.
Industries and individuals keep on trying to find a solution where they can employ blockchain and solve
a problem statement.
But blockchain is not a silver bullet.
Blockchain is not available to you as a solution for every problem you face.
We need to analyze our requirements and see where we can fit in the blockchain.
So in this lecture we are going to discuss the same that when and when not we are supposed to use the
blockchain.
So this is a very general blockchain decision tree, which you can see on the screen.
And this decision tree asks you some of the core and important questions which can help you analyze
whether you require blockchain for your problem statement or not.
You can create much more sophisticated decision trees, but this is a tree which will get you started
in analyzing whether you want blockchain as a solution or not.
So before going into the development of the solution, ask yourself a question that do you need a shared,
consistent data storage?
If you don't require a shared, consistent data storage, then blockchain is of no use of you.
Instead of that, you can consider email or spreadsheets.
But if you are looking for a consistent data storage, then you might adopt blockchain.
After that, you can ask one more important question that does more than one entity need to contribute
to the data.
If only single entity is the owner of the data and is contributing to the data, then you don't require
blockchain at that.
Cases you can use directly the databases, but if you have more than one entity who are contributing
to the data, then you might use blockchain.
Then again, another important question which you can answer is data records, once written, are never
updated or deleted.
So you need to see whether you want immutability within your data or not.
If your data is not immutable, if any party can change your data, then blockchain is not a good solution
for you.
Blockchain do not allow modifications of historical data.
Instead of that, you should consider database.
But if you are looking for a solution which nobody can change, then you can use blockchain.
Another important question which you can answer is whether sensitive identifiers will not be written
to the data store.
So if you are writing any sensitive data to the blockchain, then it's not a good solution.
You cannot use blockchain for login information such as passwords, although everything is encrypted
in blockchain, but the data is shared across different entities.
So that's why we don't want to use such a system for secure and sensitive data.
If you are not looking for sensitive data, then you might go and use the blockchain as a solution after
that.
One more important question is are the entities with write access having a hard time deciding who should
be in the control of the data store?
So if you have a single trust or a control over the entity, then you don't require blockchain as a
solution.
Let's say you are storing health records and you create government as a central authority who needs
to verify the health records and only then the data will be stored.
Then the blockchain is not a good solution.
If you are looking for a trust build up through consensus, then only you might use the blockchain.
After that, you might also answer Do you want a tamper proof log of all rights to the data store?
If you don't need to audit your data, if you don't need to know what has happened, when it has happened
and how it has happened, then blockchain is not suitable for you.
You might consider using the databases, but if you want the log of all the history and if you want
to audit all the data, then you might have a useful blockchain use case.
So in this way you can analyze whether you want to use blockchain or not.
And this is a very general decision tree.
There are much more sophisticated decision tree and if you want, you can also create your own decision
tree that might help you in analyzing whether you want to use blockchain as a solution or not.
So there are some thumb rules to take care of when you want to use blockchain.
Any time you are dealing with the immutability for the data, then you might use blockchain because
blockchain does not allow to delete or update the data.
If you are looking to remove the intermediaries, then also you can employ blockchain.
If your solution has a intermediary in between, then blockchain might not be a good solution for you.
Then if you are looking for transparency of the data, if you are looking for something where all the
participants and entities can look across the data, then you might use blockchain.
Then again, if you are looking for a transactional structure where one person is transacting the data
to another, it might be sending off the data tokens, assets or any other entity.
So that situation or that solution could be employed with blockchain.
Then if you are looking for proving the authority of the data, then again you can use blockchain.
For example, if you want to employ blockchain for land records, with land records, you can prove
authority, prove ownership that who is the owner of these land records and that can be done with the
blockchain.
Finally, if you are looking to build up a trust inside the system through the entities and consensus,
then you might go for the blockchain.
Similarly, we can also create some thumb rules of when not to use blockchain.
If your system is changing a lot, then you might not want to use blockchain because blockchain is an
immutable storage of records.
If your system is continuously changing, then blockchain might not be a good solution for you.
Moreover, if you don't have the hardware computational power, then again you might not go for the
blockchain, You might go for some other lower feature sets for databases.
If you are looking for applications with non transactional nature, then again, blockchain might not
be a solution for you.
Then if you are looking for performance, then again you might opt out for blockchain solution because
currently blockchains are not able to provide high performance.
They are going into a performance metrics with regard to solution such as Hyperledger and Corda.
But that performance is still not considerable as the Visa and Mastercard.
Then if you require a single entity to hold a trust inside the system, then again, blockchain might
not be a good solution for you because blockchain gives you a feature set where everyone is trusting
each other.
It should not be that a single authority or entity is being trusted by everyone and that will just create
a central system for you.
Lastly, if your data is too large, then again, blockchain might not be a good solution for you.
You don't want to create transactions which are of gigabytes and terabytes because those transactions
will actually take a lot of time to synchronize with the other participants inside the network and that
will hamper your performance and thus cost you the project itself.
So with these, you can see that where you don't want to use blockchain.
So that was about blockchain decision overview.
So these are some of the key points you can keep in notice while you are defining the blockchain architecture.
In the next section, we are going to discuss about blockchain architecture support tools and we are
also going to go through some of the major platforms and have a brief overview on the internal architecture
of blockchain.
If you have any queries, feel free to contact us at info at weblogs.com.