Here.
We won.
Welcome back to the course.
In the last lecture, we did some architecture analysis for some of the major blockchain platforms,
including Bitcoin, Ethereum, Hyperledger and Corda, and we saw that how different systems interact
and provide the services for the blockchain platform.
There are many components present for these different architectures and we need to make sure that how
we are going to utilize these components with our system integration and enterprise architecture, the
architecture analysis will be a helpful tool for you to judge that which platform will be suitable for
your solution.
But there are certain other parameters which you can also take into account for platform differentiation
and selection.
In this lecture we are going to go through some of the important parameters which will help you judge
where and how you will utilize the blockchain platforms with your enterprise architecture.
Moreover, it will also help you to identify that which blockchain platform is suitable for your needs.
So we have created a table for you to go through.
So as you see, we have characteristics on the left hand side here and on the top we have mentioned
different blockchain platforms.
So initially start with the description of platform.
Now you are already familiar that how different blockchain platforms perform.
So for Ethereum and Bitcoin, we have the generalized blockchain platform.
For Hyperledger Fabric, it's more of like a modular blockchain platform and R3.
Corda is a specialized distributed ledger platform for financial industry.
Apart from this, we have also added the Kokoa framework on top.
So you can also take in the capabilities and judge whether you want to utilize cocoa framework with
your blockchain platforms or not.
Then the programming language.
As you now already know, Ethereum use solidity.
Hyperledger Fabric use Go, Java, Node.js and R3 Corda use Kotlin Java.
On the other hand, Bitcoin is using C plus plus.
If you employ cocoa framework, you will be using C plus plus C sharp and different languages for smart
contracts.
Then the governance to make sure that you have a strong team behind the blockchain platforms.
So Ethereum developers and Bitcoin developers are taking care of the Ethereum and Bitcoin projects.
Then for Hyperledger, we have Linux Foundation who is taking care of the project with the major contributions
by IBM and Intel.
And for R3 Corda, we have R3 Consortium, which takes up the governance for the R3 project for Cocoa
Framework.
We have Microsoft, who is taking care of the cocoa development.
Then apart from that, if you want to see that which blockchain platform is open source, Ethereum,
Bitcoin and Hyperledger are open source, whereas R3 Corda has restrictions, cocoa framework is also
open source.
Then maintenance of privacy.
With Ethereum and Bitcoin, you are not able to maintain privacy with your solution.
With Hyperledger R3 Code and Cocoa, you will be able to maintain the privacy.
Then smart contracts.
Smart contracts are available on Ethereum, Hyperledger Fabric, R3 Code and Cocoa.
With cocoa, you will be able to create enterprise graded smart contracts with R3 code.
You need to have a relationship with the legal contracts for your smart contracts with Hyperledger Fabric
and Ethereum.
You can write the Smart contract using any development language for Bitcoin.
The smart contracts are not traditionally present.
Then coming to currency with Hyperledger, you are not able to create the native currency, although
you can create tokens with Ethereum, you have both the native currency which is known as ether, and
the tokens which you create using smart contracts with R3, Corda, you don't have any of those two.
You cannot create native currency, nor you will have the access to tokens.
With Bitcoin, you have only the native currency, which is Bitcoin.
And with Koka framework, we don't have the capability to create tokens as well as native currency With
Permissioning on Ethereum and Bitcoin.
We don't have as such permissions available with Hyperledger and R3 Corda.
We have some fine grained permissions available.
With cocoa framework, we have much more flexible permission management tools available then the transaction
confirmation time With Ethereum, it takes about 12 seconds for transaction confirmation as it is a
public blockchain platform.
With Bitcoin, it takes about 9.47 minutes for confirmation.
With cocoa, R3 and Hyperledger Fabric, the transaction confirmation time is instantaneous.
The transaction cost with Bitcoin and Ethereum platform, you have a certain transaction cost associated
with it, with Hyperledger Fabric, R3 Code and Cocoa, you don't have a transaction cost as they are
the private solutions.
Then coming to the consensus with Bitcoin and Ethereum, proof of work is heavily employed, whereas
Ethereum is trying to shift from proof of work to proof of stake with Hyperledger fabric.
We have a voting and a lottery based consensus algorithm which is based upon practical Byzantine fault
tolerance.
With R3 Corda, we have validity and uniqueness consensus.
With cocoa framework, we use Paxos like consensus algorithm, which is more of like a Caesar consensus.
Then the data models.
As you now already know, Ethereum is using account based data model.
Hyperledger Fabric is also using account based data model, whereas R3 code and Bitcoin are using XOs,
which are unspent transaction output model.
Then cocoa framework is dependent upon the blockchain platform on which we are utilizing the cocoa capabilities.
Then the smart contract execution.
Ethereum has a EVM machine which is known as Ethereum Virtual machine to execute smart contracts.
Hyperledger Fabric uses Docker's R3 Corda is using JVM, which is the Java virtual machine.
Bitcoin don't have smart contracts.
That's why it doesn't support any smart contract execution.
Environment and cocoa framework is using the execution environment, which is provisioned with Intel
and Microsoft capabilities.
So that was about different characteristics related to major blockchain platforms.
The architecture which we went through in the previous lecture and the characteristics which we discussed
in this lecture will help you judge that which blockchain platform is suitable for what kind of problem
statement?
It's not like that.
You can use a single blockchain platform everywhere.
You need to define your solution as per your needs and architecture capabilities regarding your system,
integration and performance required from the solution.
These characteristics will help you analyze your solution in regards to how you can achieve using different
components.
Coming up with the blockchain platforms.
In the next lecture, we are going to go through the step up approach of creating and considering your
blockchain solution.
If you have any queries, feel free to contact us at info at the rate v2 blocks.com.