Hyperledger Fabric账本提交前背书策略校验的责任主体确认
Great question—this is a super common point of confusion when learning Fabric's transaction flow, so let's break it down clearly:
The Short Answer
The peer node (the one committing the ledger) is responsible for validating endorsement policies before committing transactions to the ledger. The Orderer Service does NOT perform this check.
The Detailed Breakdown
Let’s clarify the roles to eliminate the confusion you’ve encountered:
- Orderer Service’s Job: The Orderer’s only responsibility related to transactions is ordering them into blocks and distributing those blocks to peers. It performs basic validity checks (like ensuring the transaction is properly formatted, hasn’t been processed before, and comes from a network-authorized identity) but it cannot validate endorsement policies. Why? Because Orderers don’t have access to chaincode definitions (which include the endorsement policies) or the current ledger state—they’re purely an ordering and distribution layer.
- Peer Node’s Job: When a peer receives a block from the Orderer, it processes each transaction in the block before committing. This includes re-validating the endorsement policy:
- Checking that the transaction has signatures from the correct set of peers as defined by the chaincode’s endorsement policy.
- Verifying that those signatures are valid and come from authorized members of the channel.
- Ensuring the transaction’s proposed changes don’t conflict with the current ledger state (this is part of the validation step too).
Only transactions that pass this full validation are committed to the peer’s ledger. Transactions that fail validation are still kept in the block (for auditability) but are marked as invalid and don’t affect the ledger state.
Addressing the Conflicting Sources
The document you referenced is correct in stating that peer nodes handle endorsement policy validation. The videos claiming the Orderer does this are likely conflating basic transaction validity checks (which the Orderer does perform) with the specific endorsement policy validation (which it does not). It’s an easy mix-up, but the core rule holds: endorsement policy validation is a peer-side step.
内容的提问来源于stack exchange,提问作者Farshad Falaki

