Hyperledger and Other Distributed Ledger Technologies

These are just some notes I made when I was using Hyperledger.


A peer is a single 'entity' in the network. It is a machine that shares a portion of their resources to other network participants without a central coordinator. Peers all maintain the state of the ledger, and have a copy of the entire ledger. A peer has an address, an identity, and is trusted. You can't really call it a 'server' as that indicates it is a client-server architecture, which it is not
Ordering service orders transactions into a known order. There are a few options for the algorithm used by the ordering service. Kafka is considered a good candidate. It is important to mention that if Kafka, or any other distributed solution is used, that it be clustered; otherwise, this will result in a single point of failure.
Distributed Ledger Technologies
Hyperledger Fabric smart contracts
a peer-to-peer distributed ledger with consensus, possibly combined with a system for 'smart contracts' and other assistive technologies

There are three types of roles within a Hyperledger Fabric network:

  • clients - putting transactions on the network
  • Peers - have the ledger/maintain state
    • endorsing peer - simulate and endorse transactions
    • committing peer - verify endorsements and validate transaction results, prior to committing transactions to the blockchain

The ordering service accepts endorsed transactions, orders them into a block, and delivers the blocks to the committing peers.