Before jumping to Blockchain word let's have a look at simple enterprise applications and their underline technologies.
The above illustrates a real Business use case. Let's see the challenges of the current usual technical architecture and mitigations.
- User should be able to Vote - This is not a complex requirement. unless the service is down, service SLA can be improved using proper DR techniques and using correct cloud infrastructure set-up.
- Votes should not be able to change after the vote - This can be mitigated using proper crypto graphical controls. However, central control of the solution data is held by one party this can not be avoided.
- Storage of the votes - This is quite challenging with the existing technology as storage of the votes data will be owned by one single entity. Regardless of security controls and processes implement in an organization to restrict access to data, there is always a risk of getting expose, manipulated, and availability cause of internal and external threats.
- Accuracy of the votes - This totally depends on how secure the application and storage are. As long as storage is centrally owned people can debate about the accuracy of the
Understand the Ethereum Blockchain
The above diagram simplifies the underline ETH blockchain technology. EVM (Ethereum Virtual Machine) is a hypothetical one machine but actually, machine data (state) is shared among Nodes participating in the ETH network. There is an advanced mechanism used by the network to make sure the data of the machine (we called the state of the machine) is not manipulated and is accurate.
The participant can run program (execute code) on this machine. This we called smart contracts. The output of the code will be saved among multiple machines (state) to make sure the accuracy of the data. Along with this transaction data will be saved in storage which we called as blockchain one after the other. Copies of this storage are shared among computers to make sure data is distributed and does not have any central ownership.
Advanced algorithms are used to make sure data accuracy and integrity. Since many machines are owned the data and operations of the network there is no central ownership of the data. There are still improvements going on to archive more decentralization and distribution in the network.
Back to our problem
Let's think that we store the votes in the Blockchain. In this case, we can eliminate the central ownership of the data. More entities will share the same information and manipulation will of the data be nearly impossible.
If you are planning to use public ETH blockchain then we have to pay for the nodes/validators to carry out our work. That's when we use ETH to pay for our smart contract executions.
On the other hand, we can run a private ETH blockchain with multiple validators. To ensure data transparency and d
CodeProject
Comments