# Hyperledger Fabric
Hyperledger Fabric is an open-source permissioned distributed ledger platform.
Hyperledger Fabric is different from public permissionless blockchain protocols in that it provides:
- Privacy for transactions and confidentiality for organization data.
- Membership services that allow for permissioned and identifiable network participant enrollment.
Hyperledger Fabric is different from permissioned consortium blockchain protocols in that it provides:
- A modular architecture that allows customization for particular use cases and trust models.
# Consensus
Raft — a CFT consensus implementation in etcd (opens new window).
Hyperledger Fabric uses orderer nodes to form consensus.
See Hyperledger Fabric: Raft concepts (opens new window).
# Network structure
Hyperledger Fabric has the following foundational components:
- Peers
- Certificate Authority (CA)
- Membership Service Provider (MSP)
- Ordering service
# Peers
Peers are nodes in a Hyperledger Fabric network.
Peers host ledgers and chaincodes.
Each peer has two communication interfaces:
- Peer to peer communication that implements gossip data dissemination protocol (opens new window) over TLS (opens new window).
- Node to owner communication implemented as gRPC.
See Hyperledger Fabric: Peers (opens new window).
# Certificate Authority
The Certificate Authority component manages the digital identities of the Hyperledger Fabric network participants.
See Hyperledger Fabric: Certificate Authorities (opens new window).
# Membership Service Provider
The Membership Service Provider component identifies the network participants, their roles, and access privileges based on the Certificate Authority and by listing the participant identities.
See Hyperledger Fabric: Membership (opens new window).
# Ordering service
Any transaction in a Hyperledger Fabric network goes through the ordering service before being packaged in a block, distributed to peers, and committed to the ledger by peers.
The ordering service consists of orderer nodes. The orderer nodes form the Raft consensus of the network.
See Hyperledger Fabric: The Ordering Service (opens new window).
# Chaincode
In Hyperledger Fabric terminology, a packaged and deployed smart contract is called a chaincode.
See Hyperledger Fabric: Smart Contracts and Chaincode (opens new window).