Hyperledger

The Linux Foundation initiated the Hyperledger project in 2015 to promote cross industry collaborations. The goal was and remains to bring together stakeholders, technology providers, and developers to advance the development and adoption of blockchain solutions.

Fabric Services

  • Services offered by the Heperledger framework:
    • Identity services
      • Identity services module manages the identities of entities, participants, ledger objects, such as smart contract
    • Policy services
      • Policy services module manages access control, privacy detail, consortium rules and consensus rules
    • Blockchain services
      • Blockchain services module manages the peer-to-peer communication protocol
      • The distributed ledger maintaining the global state, the global state replicated at many participants
      • The plugable consensus algorithm, PBFT or POW
      • PBFT, Practical Byzantine Fault Tolerance
    • Smart contract services
      • In the case of fabric, a smart contract is called chain code
      • The smart contract services module provide a secure and lightweight sandbox and moment for the chain code to execute
      • Only full nodes call the validating nodes include the smart contract services
      • This service also provides the secure container equivalent to Ethereum virtual machine, registry, and life cycle management functions
      • Java virtual machine that runs bytecode typically serves as a computational environment for the smart contract execution
      • APIs allow application programs to call into the underlying services. SDKs help encode development based on these APIs
      • CLI is a command-line interface for invoking these APIs for testing purposes

Fabric Model & Functions

Multiple business blockchains each with its own channel, with its validating nodes, membership services for identity and membership management
Interactions between different independent business networks are enabled by confidential smart contracts
Transaction could be inside a single network or cross network

Peers are nodes that initiate transactions and maintain the state of the ledger
There are three types of peer nodes:

  • Endorsing peers: Receive and validate transactions, sign them, and return them to the creating application. They’re called endorsers
  • Ordering peers: Collects signed transaction, ordered them into blocks and send them to committing peers. This is also known as the ordering service
  • Committing peers: Receive the blocks created by the ordering service. Validate condition such as double spending and signature and then commit them to the ledger

Assets represent the tangible items of value that are transacted in the blockchain, for example, food supply and financial assets
Assets are represented in the program as key value pairs in JSON on binary format

Chaincode is a smart contract that defines a set of assets and provides the functions for operating on the assets and changing the states
It also implements application-specific rules and policies.
Function execution may result in state changes that are recorded on the ledger

The ledger is similar to other blockchain ledgers it is a tamper proof record of state transactions in the fabric
State changes are effected by the in vocations of chain code functions by the transactions initiated by participants on the fabric
Transactions assigned and all the access control rules set by the permission services are enforced for a transaction to be executed and included in a block for recording
Each transaction results in a set of asset pairs that are recorded on the ledger as creates updates and deletes
Since a ledger is a key value store, it can be easily queried for later analysis and auditing

Channel defines a single permissioned network of entities with one single ledger for all its transactions and state changes
Fabric enforces privacy and confidentiality through the channel concept
Channel provides segregated fabric for a group of entities to transact privately
Even within the channel, the data and transaction confidentiality can be achieved by out for skating and by using cryptographic methods
Channels also provide the ability to support multi-lateral transactions among competing businesses and regulated industries through cross-chain chaincode. In this case, each private business consortium operates on its own private network with cross-chain transaction controlled by policies implemented in the chain code

Entities wanting to participate in a Fabric network, enroll through a trusted Membership Service Provider or MSP. An organization manages its membership, and the roles of the participating entities through an MSP
Participating entities should have verifiable identity
For realizing trust, the default implementation of MSP uses a X.509 certificate as a digital identity. The peer nodes, client application, business entities, and administrators need uniform identities in the Fabric. Each are assigned an identity that is an X.509 certificate

These identities determine the role of the entities, and the permissions they have for accessing the resources in the blockchain network

Who in MSP assigns them identities?
There is a root certificate authority and intermediate certificate authorities managed by the MSP.

Author: Yuzu
Link: https://kamisu66.com/2022/06/18/Hyperledger/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.