In my opinion, you cannot look for solutions for a technology unless you know its key features.
In this post I tried to collect and describe the most important features of blockchain, but because of the length of the text I finally described the two most important. In my opinion, they are decisive in terms of possible applications in various business areas and industries.
In the following posts I will describe other features that also affect the search for applications for blockchain. However, they will be of particular importance in the search for more specific applications.
Basic blockchain features
Regardless of the type of blockchain (private, public) and the type of platform (Ethereum, Quorum, Hyperledger, Bitcoin, etc.), each of them has two key features:
To put it simply, if your IT solution does not require at least one of these features, you should not consider implementing a system that uses blockchain technology.
How do you understand these two most important qualities?
“What happens in Vegas stays in Vegas” is a little bit of a comparison, but so is blockchain. If there is a transaction in the chain, it is always visible, you can always reach it and verify it. It cannot be removed or modified after being added to blockchain.
How can you be sure that blockchain has ALWAYS original transactions available?
This is ensured by cryptographic mechanisms: digital fingerprint, Merkle tree, asymmetrical cryptography. I described these mechanisms in detail in the article “How does Blockchain work? Part 1”. Cryptography gives us the certainty that all transactions remain unchanged.
Very often this feature is misunderstood. Looking at it straight ahead, we see only a powerful limitation that prevents us from modifying the data once entered into blockchain, and that’s not the case!
Let’s assume that our blockchain-based solution is used as an employee register. We store the following data in it:
- First name
- Phone number
Does “immutability” mean that once entered, the employee data cannot be modified?
This is a mistake in understanding this feature. Data can be changed by transactions, but transactions cannot be modified.
Let us consider the following case:
- Transaction 1 creates an employee account and the following data are entered into it: First name: Jan, Last name: Kowalski, phone number: 600–200–100
- The current status of employee data is as entered in transaction 1.
- The employee changes his telephone number to 700–400–300–300
- Transaction 2 changes its phone number in the register to 700–400–301.
- The current status of the employee data is as follows: First name: Jan, Last name: Kowalski, phone number: 700–400–301
- I noticed a mistake: instead of entering 700–400–300, I entered 700–400–301 in the register.
- Transaction 3 changes the employee’s phone number in the register to the correct one 700–400–300–300
- The current state of the employee data is as follows: First name: Jan, Last name: Kowalski, phone number: 700–400–300
It follows from the case described above that blockchain has a current state that can be modified with transactions, but the transactions themselves cannot change when they have already been included in blockchain. So if I made a mistake while entering the data, I can not go back to transaction 2 and modify it by correcting the phone number there. The only thing I can do in such a situation is to add another transaction that changes the status of the employee’s data to the correct one.
This feature causes the data entered once (e.g. in transaction 1) to be ALWAYS visible in the transaction history. In GDPR-compliant systems, this cannot be done because the right to delete personal data cannot be exercised in blockchain.
However, if you are planning a solution based on WORM data storage, you should definitely consider a blockchain option instead of a hardware solution.
This is a typical technological feature. Its primary objective is to ensure high availability and eliminate a single point of failure. Blockchain works on the Peer-to-Peer model. Generally, if one of the nodes fails, the other nodes provide the same data state and functionality.
“When is it worth taking advantage of this trait?
- If your organization has branches it is worth considering running blockchain nodes in each of them
- If your organization depends on the supply chain you run a node at any entity that is in that chain
- If you are working closely with regular contractors, run blockchain nodes on them
Consider whether it is a good idea to run blockchain in the cloud in your case, sometimes it is beneficial, and sometimes it weakens the important feature of blockchain-based solutions that is distribution.
It is also important that blockchain is not a distributed system with parallel processing. There is no benefit in using more resources for parallel calculations. In the case of blockchain, all nodes do the same work (private blockchains can work more efficiently and divide tasks between nodes).
And finally, the fact that a system is distributed does not mean that its management is inherently distributed and decetralized. Here you can imagine any model, also centralized can be correct.
It was supposed to be a concise form and I think it worked out 🙂 I hope the content didn’t get hurt.
In this article I wanted to describe in detail the most important features, i.e. immutability and distribution. Proper understanding of these features will enable us to search for new applications for blockchain.
All blockchain features are very interesting and I encourage you to deepen your knowledge in this area. Some of them I will certainly describe.
As usual if there are any questions I encourage you to contact me.