Hyperledger Fabric: Key Concepts

iOSTom
3 min readDec 27, 2018

Hyperledger fabric delivers the following blockchain network functionalities:

Identity Management

Hyperledger Fabric provides a membership identity service that manages user IDs and authenticates all participants on the network. Access control lists can be used to provide additional layers of permission through authorization of specific network operations.

Privacy and confidentiality

Hyperledger Fabric enables competing business interests, and any groups that require private, confidential transactions, to coexist on the same permissioned network. Private channels are restricted messaging paths that can be used to provide transaction privacy and confidentiality for specific subsets of network members. All data, including transaction, member and channel information, on a channel are invisible and inaccessible to any network members not explicitly granted access to that channel.

Efficient processing

Hyperledger Fabric assigns network roles by node type. To provide concurrency and parallelism to the network, transaction execution is separated from transaction ordering and commitment. Executing transactions prior to ordering them enables each peer node to process multiple transactions simultaneously. This concurrent execution increases processing efficiency on each peer and accelerates delivery of transactions to the ordering service.

In addition to enabling parallel processing, the division of labor unburdens ordering nodes from the demands of transaction execution and ledger maintenance, while peer nodes are freed from ordering consensus workloads.

Chaincode functionality

Hyperledger Fabric implements a modular architecture to provide functional choice to network designers. Specific algorithms for identity, ordering consensus and encryption can be plugged into any Hyperledger Fabric network.

To ensure Hyperledger Fabric deliveries the above promises to relies on key features such as:

  1. Assets
  2. Chaincode
  3. Ledger
  4. Privacy
  5. Membership service
  6. Consensus

Assets

Can range from tangible object to intangible contracts and intellectual property. Hyperledger Fabric provides the ability to modify assets using chaincode transactions.

Chaincode

Is software defining as assets and the transaction instruction for modifying assets it is the business logic. Chaincode enforces the rules for reading or altering key-value pairs or other state database information. Chaincode functions execute against the ledgers current state database and are initiated through a transaction proposal.

Ledger Features

The ledger is the sequenced, tamper-resistant record of all state transactions in Hyperledger Fabric. State transitions are a result of chaincode invocations submitted by participating parties. Each transaction results in a set of asset key-value pairs that are commited to the ledger as CRUD.

The ledger is comprised of a blockchain to store the imutable sequence record in blocks, as well as state database to maintain current fabric state. There is one ledger per channel. Each peer maintains a copy of the ledger for each channel of which they are a members.

Consensus

Consensus is more than simply agreeing upon the order of transactions it encompasses the whole transaction flow, from proposal and endorsement, to ordering, validation and commitment. In a nutshell, consensus is defined as the full-circle verification of the correctness of a set of transactions comprising a block.

Consensus is achieved ultimately when the order and results of a blocks transactions have met the explicit policy criteria checks. These checks and balances take place during the life-cycle of a transaction, and include the usage of endorsement policies to dictate which specific members must endorse a certain transaction, a well as system chaincodes to ensure that these policies are enforces and upheld. Prior to commitment, the peers will employ these system chaincodes to make sure that enough endorsements are present, and that they were derived from the appropriate entities.

Please checkout the below links

Resume website — https://tommarler.org

Linkedin — https://www.linkedin.com/in/tom-m-bb4857112/

--

--

iOSTom

iOS Developer, Go, Java, C#, Blockchain enthusiast, Data junkie