What is hyperledger - Discussion

Thank you, I will correct that. :slight_smile:

Why does each discussion page have the same questions? Ever linked page starts out with a question about the quiz being missing? Shouldn’t each topic/section have a separate discussion page?

1 Like

I was a bit surprised that there can be more than one ledger. My thoughts are that the ledgers would be for different things and would have there own respective consensus. Am I thinking in the right direction? Thanks!

That was an excellent explanation in this video. Thank you!

I’m not 100% sure about your question. But each node has it’s own ledger in hyperledger, just like in bitcoin for example. And those ledgers would over time be almost identical (apart from forks, stale blocks and so on). Same thing in hyperledger.

But, each peer can also have multiple ledgers. If they are part of multiple channels. But then each “type” of ledger they need their own consensus mechanism and orderer as well.

1 Like

That was a perfect explanation, thank you Filip!

1 Like

I wish Filip drew sketches like Ivan. So much easier to understand.

2 Likes

I agree, and I have learned from my mistakes. My new videos contain way more drawing and sketches!

HYPERLEDGER COMPONENTS QUIZ SPOILER ALERT
Hello,

thank you for this intro to Hyperledger. I have just taken the “hyperledger components” quiz and I think one answer is wrong. The question is “Why can hyperldger offer faster computation that most public blockchains?” The correct answer should be “By reducing the miners’ workload” and not “By enabling parallel computation” which is something that is enabled on public blockchains as well, such as Bitcoin. The miners’ don’t have to do as much work to reach a consensus on Hyperledger because trust is already built between the nodes from the incipit. That is my understanding.

Hi Filip,

i kinda failing to grasp the idea of Hyperledgers use case. Could you possible provide a small hands on use case so i can wrap my head around it?

Thanks and best

These small quizs after each lectures are helping me to retain important points. thanks! :slightly_smiling_face:

2 Likes

yes quiz’s are helpful.

have 2 questions:
1)after the part about CertificateAuthorities and MembershipServiceProviders it remains for me a bit abstract, who indeed is in common pratice such a trusted party in a hyperledger implementation. I figure, it is dependent of the framework (=size), but i still wonder, which trusted departmentment or entity does get this task.
2) coming from traditional databases, what is the purpose of the concept, creating a separate ledger for every channel vs having one ledger for everything with an attribute “channel”?

thank you

Hello sir, the Identity Management (Membership Service) module can be use to issue digital certificates to validated entities that want to participate in the network. It does not execute transactions nor is it aware of how or when these certificates are used in any particular network.

However, because certificates are the way networks regulate and manage their users, the module serves a central regulatory and organizational role.

The advantage to allow certain nodes to interact with the ledger. So only an specified group of nodes are allowed to manipulate more sensitive data over the ledger.

Channels:

  • Sub-Networks: Involves two or more network members.
  • Shared Ledger: Each peer has an identity tied to a channel MSP(Membership Service Provider).

Hope this gives you a clear view of the subject, keep learning! :slight_smile:

If you have any doubt, please let us know so we can help you!

Carlos Z.

1 Like

In this section we discuss one of the 4 pillars of the Hyperledger which is called a peer. There are different peers that exist within a Hyperledger blockchain, they have specific roles and they interact with each other.
In the Hyperledger network there are four components, and one of these is the Peer.
The peer is a server which is a host for: i) the ledger - which is the way we store information in a blockchain [A blockchain is a system of distributed ledgers.] II) The peer also hosts the chaincode.
In this instance the chaincode is what we usually call a smart contract - it’s a program that runs on a blockchain.
There can be multiple peers in a network - and each peer hold an exact copy of the ledger. This is a distributed ledger and each ledger will hold an identical copy, and all multiple peers will also hold the identical chaincode.
When a user wants to update the ledger the transaction flows through the smart contract, and there it is decided what operation will take place and how that will affect the ledger.
The same peer can host multiple ledgers and multiple smart contracts.
In a blockchain network you can have multiple ledgers and multiple smart contracts, and every peer can hold multiple contracts and multiple ledgers.
Another component is a node which is called an ‘orderer’. The ‘orderer’ will literally order the transactions and time-stamp them.
The time-stamping ensures that there is a consensus around a certain transaction - when it took place - which transactions happened before and after it, and this is a central part of the distributed ledger - the time-stamping of the transactions.
This is how we keep an exact record of what balance a person, corporation or company has,( or whatever application the blockchain has been applied to).
The ORDER of the transaction is a means of preventing things like a double spend.
This is the sole responsibility of the hyperledger component known as an ‘Orderer’.
We interact with this blockchain through an application - the application is the interface where the user interacts with the blockchain.
When an application wants to update a ledger it will first have to connect with one of the peers. If there are multiple peers the app will connect with multiple peers.
The peers will then INVOKE the chaincode - this means they will send the transactions to the smart contracts, then the peer/s will execute the transaction, and then generate a response.
Then the smart contract follows some type of logic - then spits back a response, which the peer sends back to the application.
The application then sends this response to the orderer.
The Orderer gets the response from all the peers (Can have multiple responses and multiple peers), the orderer will make sure that all the transactions are time-stamped and packaged into blocks, and then sent back to the peers.
If we imagine that we have a system where we have a lot of applications and a lot of peers, there will be transactions being fired all over the place, and it might be tough to know what the actual transaction order is.
This is where the orderer comes into play, it’s receiving 100’s or 1000’s of transactions per minute, and it orders them and distributes them in blocks to the peer, and the peer then updates the ledger.
This means that each peer in the network receives the block from the orderer, and then updates the ledger.
And this is the structure in the Hyperledger.
Any questions?

4 Likes

In this section we discuss channels and confidentiality in Hyperledger Fabric.
In private permissioned networks this can be very important - to have private channels and confidential transactions.
In business, you might have some parties who are able to see all the data, and others that might be included in a trade or a deal, and they might get to see only part of a contract or part of the data. The buisness might also have a trusted partner who can see everything in the business, there might be an auditor - there can be a lot of different types of people invloved in a business structure, and it’s not good for business if one client, for example, is able to see the pricing for another client.
Sometimes we want to keep things confidential, and that’s why Hyperledger has channels.
Channels are used to create sub-networks that work within the existing hyperledger network.where we have an orderer, ledger, chaincode, and peers.
The channel can create a connection between two or more network members that will then share a specific network for the channel - this means that the data is specific to that channel, then they will be able to execute the chaincode - they will be able to change and update that ledger, and the data that passes between those members, won’t be visible to the other members that are not included in that channel - the channel works just like the regular network in the hyperledger, but it is a sub-network that has all of the same nodes and all of the same elements - it has the node that stores the ledger, that stores the chaincode, that executes the chaincode, it has applications connecting to it, it has an ordering service, and it has an MSP (Membership Service Provider) - this is important because this keeps track of the identities, meaning which peers and which organisations are allowed within this channel.
Not everyone is supposed to be able to join channels because they are private.
Data passes in this channel that won’t be accessible to peers that are not in the channel.
Peers in a channel can be members of multiple channels, which means that you can be a member of multiple confidential channels.
This means you can be part of two different businesses, for example, or two different parts of the business and you can have access to certain things in both of them but the data is kept separate.
Each channel has it’s own ledger, which is shared within the members of that channel, but the data from one ledger in one channel can never touch or connect, can never update or be seen from the other channel (this reminds me of a lot of trains and railway carriages with a complicated system of points that allow the trains with all their carriages - the blocks- to run without colliding into each other - yes I did use to have a train set when I was a kid!) - so they are kept separately, and if one node is a member of 2 channels then that node will keep two ledgers, if it is a member of 3 channels then that node will keep 3 ledgers, and those 3 will all be independent of each other.

2 Likes

Hello again,
In this section we discuss how the hyperlegder fabric ecosystem stores data.
Hyperledger fabric blockchain is a little bit different from a normal blockchain - it uses a blockchain, but since it has a different usecase it has another approach to how it uses the blockchain.
The storage of data in hyperledger is split between the blockchain and the world state.
The world state is a transactional database - it is not a blockchain - it holds the current values that traditional wallets in blockchain would calculate.
The world state database updates itself so that it is always in sync with the blockchain but the information is stored as key value pairs.
When the blockchain changes because someone has made a transaction such as a spend or aquisition the transaction is updated through the concensus network of the blockchain and syncs with the world state database.
This has been done because it needs to be easy to make querys without traversing the entire blockchain. Information will always be up to date with the entire blockchain - the hyperledger records all the changes and keeps all of the history - it is meant to be immutable, and probably is, - this means that if a node fails, crashes and loses all of its memory - meaning that it loses it’s current record of the world state - when the node is repaired, it can be reconnect to the network again - and it will traverse the entire blockchain and recalculate the world state and generate the database.
In hyperledger the blocks and transactions look very similar to a bitcoin blockchain and consist of the genesis block, then a chain of blocks.
The reference to the previous block is what chains the blocks together.
We have block headers, block data, and in the data we see the transactions; Then we also have the meta data. This is very similar to many other blockchains.
In the blockheader we have a hash of all the other transactions, plus the header of the previous block, and this is what creates the actual chain
The block meta data holds the time stamp which holds the certificate of the signing of the signature.
In a transaction that is contained in the block data, is contained: the header; the signature; the proposal that went into the smart contract and the chaincode - then we have the response which is what the chaincode produced - followed by the endorsement from the other peers.
And that’s a basic overview of how the hyperledger fabric stores data.

2 Likes

Amazing explanation sir! You have understand most of the function for hyperledger!

Please keep your answers like this!

If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

Observation: We are doing the Business Master Class, which has reading assignments introduce new topics then video overviews of the material. That’s opposite to the way material was presented in the first part of our study plan.

The previous classes: Blockchain & Bitcoin 101, Bitcoin Standard, Ethereum 101 introduced new topics by video instruction followed by reading material. We like Video instruction first education. It is much easier for us to learn.

Everyone could be different, but if people are like us…I would reverse the order in your Business Master class presentation of the material.

Thanks, for your consideration.

What does everyone think?

2 Likes

Hello @BradCook, hope you are OK.

We have take note over your suggestion, thanks for notifying it.

We will propose some few changes based on your suggestion.

If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

Hi, Filip,

what if you would enrich your presentation with some images, to stimulate the neurons and make remembering far more easier and sustainable.

Thanks,
Angela

1 Like