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.