I took a couple of days to sit down and read the docs for Hyperledger Fabric. Spoiler alert it’s awesome tech.
The Private Data Collections addresses how to use private data in smart contracts.
If I was a gambling man, which I am, my money is on them for enterprise adoption.
Below is an explanation of the key terms.
This gets used for communications between organisations. It makes peers in different organisations aware of each other.
Consist of a header, block data (transactions) and block metadata (information about nodes involved with creating the block).
Everyone who wants to interact with the networks needs an identity. The CA provides the means for each actor to have a verifiable digital identity. Hyperledger Fabric has a built in CA component for use in the blockchain network.
The Hyperledger Fabric term for a smart contract. Note that chaincode does not have to be installed on every peer in a channel.
A channel allows a group of participants to create a separate ledger of transactions. The transactions are only visible to the members of the channel.
Rules that govern the channel, the channel is governed by the channel members. The channel configuration is separate from the network configuration.
A group of organisations that share a need to transact.
Every peer in the channel.
Every peer that has the smart contract installed can be an endorsing peer.
The rules for which organisations much approve a transaction before the other organisations will accept a copy. This is part of the channel configuration.
An organization can have multiple peers in a channel. Only one peer from the organization needs to receive the transactions. The leader distributes transactions from the orderer.
Is a trusted authority.
The MSP identifies which Root Certificate Authorities (CA) and Intermediate CA’s are trusted by the network. The MSP identifies what roles different actors in an organization can play in the network.
Nodes join the network through a Membership Service Provider.
This is an append only file while can be used to recreate the world state.
Is like a network administration point. The ordering nodes support the application channels for ordering transactions into blocks.
Each peer maintains a copy of the ledger for each channel it is a member of.
These determine who has control over the network configuration.
This is used for keeping the data in a transaction confidential. The data is stored in a private database that is separated from the channel ledger.
This provides secure communication in a network. CAs issue digital certificates that get used to authenticate messages in the network. The PKI provides a list of identities and the MSP says which of them are part of an organization.
Is code that defines operating parameters for the entire channel.
Lifecycle and configuration system chaincode defines the rules for the channel. Endorsement and validation system chaincode defines the requirements for endorsing and validating transactions.
Is a snapshot of the current state of the objects in the network, this is usually a graph database in practise.