Coda is another major blockchain platform which differs from Hyperledger fabric but offers the enterprise
grade solutions.
Coda offers a point to point ledger based system.
In a way, they are saying that you don't need to maintain the full ledger at your end.
Let's say if you and me are part of a transaction, then that transaction will only be hosted with my
and your ledger.
This transaction is not going to be available to anybody else, thus forming a point to point ledger
based system where the people who are part of the transaction will only host the transaction, rest,
nobody else will have the access or are going to host the transactions.
So this point to point ledger based system offers much more scalability because now we don't need to
synchronize the whole blockchain with everyone.
The person who has the access to the transactions, only those transactions will be stored at his or
her ledger.
This is a overview diagram for Coda architecture.
As you can see, again we have the different user defined code apps.
Code apps are basically decentralized applications created on top of Coda.
They could be services, contracts, state flows or whitelist flows is very important.
Concept related to Coda flows offers you the functionality for creating a flow for a transaction.
This will define that how a transaction is going to be processed To perform a functionality flow will
design that.
How different transaction inputs are going to be provided to the blockchain and what are the different
outputs from the transaction which will be gained from the blockchain?
Apart from this, we have the coda RPC option service up, Coda RPC Ops is a connector which is used
to connect to the external services.
So as you can see, we have RPC client and web server connected to Coda.
RPC Ops Service Hub is a connector which is used to connect to the internal services.
There are many different internal services hosted under Coda architecture.
As you can see here, we have a vault here.
Vault and core is like a cash storage vault is available with every node.
Whatever kind of information is required by the node or whatever kind of information the node is using
continuously will be part of the vault.
So basically acting as a cache storage for the vault Storage service is the service which is going to
link with the persistent SQL DB present on the bottom.
Persistent SQL DB is the actual storage of the blockchain transactions.
The flow is provided as a template for the flows.
You can take these flows templates and then incorporate your own different flows which you want to be
part of your blockchain projects.
Then you also have identity management similar to Hyperledger Fabric, where you can easily manage the
identity of different participants and entities.
We also have a key management storage where all the different keys for different entities are stored
across with the Corda blockchain platform.
Then we have a scheduler.
Scheduler is basically scheduling the different transactions or flows as per some events which are happening
throughout the blockchain platform.
Then we also have a network map as Corda is a private solution for enterprise needs.
Corda offers you the functionality for creation of network map.
Network map is a storage of all the different IP addresses which are part of the Coda system.
So let's say if any peer is going to join the Coda system, the IP address of that peer will be stored
with the network map.
Any other entity inside the Coda blockchain platform can easily verify the peer through the network
map itself and see that this is a authenticated peer which is part of the system.
And this is a secure entity where we can process different kinds of functionalities.
Then we also have a notary service.
Notary service is like a validation tool for Coda Inside Coda Blockchain.
The peers don't directly perform the validation.
The validation is done by the notary services.
Notary Services receives the transaction, provide the validation, signs the transaction and send it
back to the application.
Finally, we have the messaging services.
Messaging Services offers the functionality with the Coda blockchain to message different kinds of nodes
and create the complete peer to peer based system.
Apart from this, we also have a Oracle service which is part of Coda Blockchain.
Oracle Service is very similar to your Ethereum Oracle, where you can provide in some external information.
Let's say if I am sending some transaction to you and we are going to exchange euros with US dollars,
so the current rate of euros to US dollars might be at 0.9, but you receive the transaction tomorrow
where the rate of euros to USD might have been different.
So we don't have a common ground where we can say that we have the same kind of euro to USD rate available
to us.
So Oracle provides you a service where we can both agree on a euro to USD rate.
And it doesn't matter that whether the transaction is being processed today, tomorrow or day after
tomorrow, we can directly take the truth information from the Oracle and process the different functionalities
as per the Oracle.
As you can see in the Coda architecture, also we have different components which can easily be replaced
as per your projects.
We have something like a white list.
White list is basically the list of entities which are able to connect.
So authenticated entities are going to be part of white list.
We can add more enterprise components inside this white list to make sure that the enterprise components
are authenticated with the coda blockchain.
We can also create flows which can be triggered as per some kind of enterprise events.
So it could be that you have created a work order from ERP which will trigger a flow inside Coda and
store some information on top of ledger.
Similarly, we can also use vault services.
Let's say some kind of reports are being accessed more through a node.
So those kind of attributes can directly be stored with the vault services.
So that was about different blockchain platform architecture analysis.
And you have seen that how different architectures differ from each other.
Make sure while you are appointing a blockchain platform, you are taking up the industry best practices.
You should make sure that your security controls are provisioned in a way that the complete security
and performance is built inside the enterprise Solutions.
There are many mistakes which happens when we are choosing a blockchain platform.
It could be that you require a solution regarding point to point ledger, but you appointed a solution
which is related to Ethereum.
Then your blockchain platform might not suffice the needs of your enterprise.
Also, it could be possible that you might be looking into a heavy security control, so you need to
see what are the different weak points inside your blockchain architecture where security flaws may
be present.
You also need to point out that what are the different failures, which are more of like an acceptable
risk with your blockchain platforms?
You need to understand the requirements and according to that, you need to make the judgment how you
are going to employ the blockchain projects and how you are going to integrate the different external
services with these blockchain projects to perform some complex operations.
Now you might have good understanding of how different blockchain platforms are working and you might
be able to see what different components you can integrate with these blockchain platforms.
But still we are going to cover up some platform differentiation and selection tools and we are going
to provide you the base of forming the blockchain solutions.
In the next lecture we are going to go through the platform selection criteria for blockchain and we
are also going to see that how you can create a complete blockchain ecosystem using the blockchain projects.
If you have any queries, feel free to contact us at info at the rate weblogs.com.