Skip to main content

Use Ethereum Blockchain for Enterprise Applications, Simplified

Before jumping to Blockchain word let's have a look at simple enterprise applications and their underline technologies.

No alt text provided for this image
Voting Solution


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

No alt text provided for this image
ETH Network in laymen's terms

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

No alt text provided for this image

Comments

Jumpers said…
Very helpful post;)

Popular posts from this blog

How to Link Two List and Create a combine view in the SharePoint 2010

In this way you can join multiple list together and can create a combine view. for an example assume that you are managing a list for some events. And also you are having a participants in separate list. Thus you want to join the two list and create a composite view. SharePoint 2010 allows you to create this kind of view using  Linked Data Source. in this approach you can create your own custom list in the SharePoint. How to Create a Linked Data source Go to SharePoint designer and  go to the link called data sources. And Click the Linked Data Source button in the ribbon. Then SharePoint designer will prompt following kind of a dialog. In there add two list, that you wan to linked together. I'm adding airline schedule and booking list. those are the two list that i wan to merge. then click next. And it will guide you another screen. it will ask you to select either Merge Merge use to combine list which are having same columns definition. for and example we can s...

An exception of type Microsoft.SharePoint.Upgrade.SPUpgradeException was thrown. Additional exception information: Failed to call GetTypes on assembly Microsoft.Office.Server.Search, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c. Could not load file or assembly 'System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

I recently installed SharePoint 2010 in My Windows & machine. It gave me this error. I have found that Ms Chart control in not installed in my machine. i downloaded and installed it. It worked.. :-) http://go.microsoft.com/fwlink/?LinkID=122517

How to set Current User Name to InfoPath Person/Group Picker

This method also use for get User Profile Information such as First Name , Last Name , Office and etc. In generally we can not set a default value to InfoPath Person/Group Picker. On the other hand we can not get Current Username in the InfoPath. (Yeh it is true that we can use userName() function. But this will return the Current User Account ID not the name). So we want to use SharePoint user profile services to do this. First we need to  create a user profile connection. Thus First go to Manage connection and click add connection. Then go to receive data option and SOAP Web service and specify the User Profile Service URL . The URL will be something like ( http://sever/sites/site/_vti_bin/UserProfileService.asmx ). This is depends on your site or site collection. if it is a site collection you can omit /sites/site/ part from your URL. then proceed to next , select UserProfileByName and un select the Automatically load. Now you have created the connection....