Here.
We won.
Welcome back to the course.
So now we have gone through different views and concepts related to blockchain architecture, and we
have also seen how you can utilize all these different design principles to build up your own solutions.
But whenever you are going to implement the blockchain services with your enterprise solutions, you
are going to face some difficulties and problems while designing and integrating the solutions.
But whenever you are going to integrate the blockchain services with your enterprise solutions, you
are going to face some difficulties during the implementation and integration.
There are some of the pain points which you might come across while integrating blockchain, and we
are going to go through those integration considerations in this lecture.
One of the important things which you need to keep in note is that different blockchain platforms has
different implementations and offer different interaction capabilities.
For example, Hyperledger offers the SDKs for NodeJS, Go and Java, and if you are looking for integrating
C or C plus plus based enterprise applications with Hyperledger fabric, then you might have to create
a separate integration module for the same.
Moreover, each blockchain platform also has different components or services.
For example, if you are using Bitcoin and Ethereum, you might not have identity management services,
but on the other hand, with Code and Hyperledger, you might get identification management services.
Moreover, the consensus algorithms for different blockchain platforms will also be different, and
you need to see across your solution that which consensus algorithm suits best for your needs.
Each blockchain platform also has their own ledger schema and you should take that into account while
planning to interact with the stored data on top of ledger.
Bitcoin and Ethereum services used flat file systems and Hyperledger and Corda might utilize some NoSQL
data services like Leveldb or Couchdb.
So with your integration capabilities, you need to take into effect the ledger schemas for blockchain
platforms to.
Apart from blockchain platforms.
Another integration pain point is about the proxy layer.
Proxy layer is introduced to create a level of abstraction over the underlying blockchain technology
and integrated application services.
When we are communicating with the proxy layer, we won't be able to see what is behind that layer.
What kind of different platform is running behind this layer?
We will be decoupled through the solution architecture, and this also helps us to protect our blockchain
platform from unauthorized access.
But it's very difficult to achieve a completely generic proxy layer because different blockchain platforms
have different capabilities and approaches and they vary greatly between solutions.
Blockchain proxy layer may also include the governance and risk mitigation techniques for the blockchain
network, so you need to carefully design the proxy layer and take into account all the factors which
are governing the proxy access to the blockchain platform.
Another integration pain point is about smart contract consideration.
Smart contracts are like self executing code on top of blockchain, which automatically implements the
terms which are set between two or more parties.
Smart contracts are a critical step forward in streamlining the process on top of blockchain, because
in Bitcoin blockchain the services were more into that.
Everyone has to follow the same set of rules and regulations.
But with smart contract, we came into a solution that a group of users can agree upon the rules and
regulations and can follow those rules and regulations instead of following the blockchain rules and
regulations.
Smart contract are executed by the network of nodes using consensus protocol and once deployed on the
blockchain, the smart contracts always keep on running and responding to requests until and unless
there is a closure function included with the smart contract.
Each blockchain platform has their own interaction and integration capabilities for smart contract.
For example, if you are working with Hyperledger, you can deploy smart contracts using Go NodeJS and
Java, whereas with Ethereum you might use solidity programming languages to create smart contracts.
So you need to take into consideration that how and where you are going to use a smart contract and
what kind of experience is required by the blockchain developers to create smart contracts on top of
your enterprise Blockchain solution.
Then there is also enterprise service and process automation.
This integration consideration is more linked towards the existing enterprise services that are already
in operation.
It could be that your enterprise is accepting rest services with XML data, but the blockchain platform
you are considering might use soap services with Json data that will create a huge backlog for you because
now you need to create a separate utility to integrate blockchain platform with your enterprise services
and automate the processes.
So you need to take into effect that how these integrations are going to be managed between different
enterprise services and your blockchain solution.
So those are some of the important key integration pain points you need to consider while you are building
up your blockchain solution.
There are certain recommendations for integration.
Always make sure that you identify the business opportunity and specific use case and clear all the
expectations of the outcome before taking up on blockchain.
Also, plan a staged implementation for a non-mission critical activity and this will help you to reduce
the operational risk.
Try to use the open source code base for cryptography and blockchain platforms like Ethereum, Hyperledger
or Corda, because those are tried and tested by the community and you will get much more performance
and security with those platforms.
Also, always try to avoid multiple miners or verifiers inside your blockchain solution.
Each miner or verifier will affect your performance inside the solution.
If you are building up a private solution, you might not require those heavy number of miners which
are present with the public solution design.
The mechanisms for monitoring the network wide system for blockchain.
You should have a base setup where you can analyze the data and create some kind of visual representation
where management can take critical and informative decisions based upon the data which they are collecting
from the enterprise blockchain solution.
Apart from that, you can also create a Deadman switch inside your complete solution.
That means switch is like a off switch for the complete network.
If a malicious activity is happening inside the network, you can use the Deadman switch to segregate
your internal network from the internet and then and then keep on doing threat detection to verify what
kind of malicious activities have happened and also prevent these malicious activities in future interactions.
Also, make sure that you plan for the smart contracts from the get go.
You can delay the deployment of smart contracts on top of blockchain, but you should maintain a solution
which is adaptable enough to incorporate smart contracts with the enterprise project.
So that was about blockchain integration considerations.
These blockchain integration considerations will help you to take into effect much of the different
services which are going to interact with your blockchain services.
Make sure that you keep these points in notice while designing and developing blockchain solution.
In the next lecture, we are going to go through some of the blockchain security considerations and
see how these security considerations affect into your blockchain solutions.
If you have any queries, feel free to contact us at info at weblogs.com.