Here, everyone.
Welcome back to the course.
So now we have gone through the fundamentals of blockchain and we have also learned about blockchain
decision Overview.
Before going into understanding the different components of blockchain architecture, let's talk about
blockchain associated ecosystem.
Blockchain associated ecosystem offers you some supported components for blockchain architecture, which
will be utilized for creating favorable conditions to achieve your problem statements.
There are many different supported components which can help your problem statements to achieve complex
solutions.
Let's discuss some of the different components which are part of blockchain associated ecosystem.
First one is on chain versus off chain for transactions.
An on chain transaction is defined when everything is present on top of blockchain.
If you are carrying out the whole solution of transacting assets or digital data on top of blockchain,
then that is known as a on chain transaction.
With the on chain transaction, you will know who are the participants and you will record all the details
related to the transaction in a suitable block before broadcasting it on top of the blockchain off chain
transaction, on the other hand, maintains the value outside of the blockchain and creates an important
component for supported architecture.
It can be executed using different methods.
It could be a way of signing a transfer agreement between transacting parties.
You can also take the value outside of the blockchain.
If you have a grantor who guarantees the honouring of the transaction on top of blockchain, you can
also issue a coupon based system that suppose I transfer you some digital asset on top of blockchain.
And on the other hand you have issued me a coupon related to it which I can redeem at different outlets
to purchase different products.
So it can also happen in such a process.
There could be a exchange of crypto tokens or the code with another party which can be redeemed at different
locations.
You may also issue crypto tokens or a bar code for the other party which can be redeemed for the product
which they want to purchase off chain transactions.
Performs an important component for blockchain supported architecture.
It provides you a way of taking the value outside the blockchain and still maintaining the relationship
with the blockchain.
Another important component for supported ecosystem is online and offline data.
There could be a provision that you want to store the whole data for the network on top of blockchain.
You might require blockchain with certain capacity, which will make sure that the data is always available
on top of the blockchain, but there are certain limitations to the data with blockchain.
You need to maintain that data cannot go a certain size limit for the blocks and also you need to see
that how you are going to synchronize the data with different peers who are joining the system.
On the other hand, you can also contain the data inside a off chain database, which will act as a
supported ecosystem for your blockchain architecture.
You can start up a data lake where you will store the actual data and you can record the hash of the
data on top of the blockchain.
If anybody wants to verify the data, they can retrieve the hash from the blockchain and then they can
map this hash value with the data which is retrieved from the data lake.
Off chain will also help you scale your blockchain applications.
The third supported ecosystem component is Blockchain Lightning Network.
Blockchain Lightning Network, in simple terms, is just an another layer on top of Bitcoin or any other
blockchain which enables users to create payment channels between two parties.
You can take the example of pre-recorded wallets.
Let's say you and your friend deposit five bitcoins each to the wallet and opened up a lightning network.
Now you can instantly transfer bitcoin across each other as the system already knows about.
Your total deposit system is already aware that each of you have five bitcoins.
Let's say you transferred one bitcoin to your friend and then your friend transferred back you two bitcoins.
The latest balance for both of you will be four bitcoins and six Bitcoins.
Once you decide that you are done with the transactions, then your channel is going to be closed and
the information about the initial and the final balance will be broadcasted to the main chain.
So the main chain will know that we started with five five bitcoins each, but later we have the final
balance as four and six Bitcoin, which will be stored as one single record on top of the main chain.
So instead of carrying out multitude of transactions on main chain, we created a payment channel between
two participants where the balance was known and they were able to transact between each other instantly.
These channels will exist for as long as required and will be set up between two or more people who
want to do the transactions at a very low or even a non-existent fees.
Another major component for blockchain associated ecosystem is cocoa framework.
Cocoa framework is the foundation for blockchain protocols.
It provides you with base components like persistent ledger node to node applications and node secure
communications, which will be working with the associated blockchain architecture.
Cocoa framework was started with Hyperledger, Sawtooth, Ethereum, Corda and Quorum.
Cocoa framework provides you different advantages like throughput latency, richer and more flexible
confidentiality models.
It also provides you network policy management and support non-deterministic transactions.
Cocoa framework also reduced the energy consumption.
Cocoa framework, in simple terms are the blockchain protocols, which can be employed as a supportive
architecture to your main blockchain architecture.
Cocoa framework in Core utilizes a trusted execution environment, which is also known as Intel's SGX
and Windows.
VSM are used for the creation of trusted execution environment.
Another component for blockchain associated ecosystem are the smart contracts.
Smart contracts are the self-executing contracts, which are written in a code and executed on top of
blockchain.
Smart contracts are immutable and they provide certain rules and guidelines between two or more parties.
Every smart contract on top of blockchain is deterministic, terminable and isolated.
They are not dependent upon each other.
Moreover, you are able to determine that which contract is performing, which Operation Smart contract
is a very helpful tool to achieve multiple scenarios.
Let's say if you are running a government wide system to maintain land records so you can have one smart
contracts for storage of land records on top of blockchain.
Second, smart contract can be initiated to maintain the ownership of records on top of blockchain.
Third, smart contract can be maintained for the purchase of properties on top of blockchain and fourth
smart contract can be maintained for the transfer of properties on top of blockchain.
So there are many different business logics which can be solved by using smart contract and it will
provide a assisted layer with your blockchain network.
There are many different platforms which offer smart contracts, including Ethereum, EOS, Neo Hyperledger,
Corda, Quorum, Stellar, etcetera.
Another major part of blockchain associated ecosystem are the programming languages.
There are different programming languages which are supported by blockchain.
Some of the common programming languages which are used with the blockchain ecosystem are C Plus plus,
which is the core for Bitcoin, and it is also utilized by major other platforms.
Then we have JavaScript, which is a prime choice for developers who are getting started with blockchain
and learning to code with blockchain.
Then you have Python, which is used by more experienced programmers who are working with cryptocurrencies
and they prefer Python as a more flexible tool for exploring different kinds of functionality with their
blockchain platforms.
Then you also have Java, which is used with Hyperledger and Corda blockchain platforms for developing
smart contracts.
And finally we have Go Go language is used with multitude of blockchain platforms like Ethereum and
Hyperledger, and it is also used for developing smart contracts.
There are other programming languages also, but these are some of the primary programming languages
which can help you to support your ecosystem.
If your existing systems are using any of these programming languages, then multitude of blockchain
platforms are easily employed and can be integrated with your existing systems.
So those were some of the components related to the blockchain associated ecosystem.
There are many more components which are part of blockchain associated ecosystem, and these components
will help you to support your blockchain architecture by providing additional functionalities to gain
much more advantage and efficiency from the complete project.
In the next lecture, we are going to go through the overview of different blockchain projects and we
will understand what each blockchain project provides us and how we can utilize the functionalities
of different blockchain projects to solve our problem statements.
If you have any queries, feel free to contact us at info at the rate weblogs.com.