How do orderers and committers keep same ledger?

Viewed 168

When committer judge the block from an orderer invalid, how does both ledgers keep same records in their ledger?

Do committers store or discard invalid blocks in their ledger? Do committers return they make the block invalid to the orderer? Does the orderer store invalid block in their ledger?

1 Answers

When committer judge the block from an orderer invalid, how does both ledgers keep same records in their ledger?

It's easy - the validation code is deterministic, and therefore - assuming all blocks are equal (which they are, because they cannot be forged because they are signed by the orderers) in peers, their validation logic reaches the same conclusion no matter where or when they are processed.

Do committers store or discard invalid blocks in their ledger? Do committers return they make the block invalid to the orderer? Does the orderer store invalid block in their ledger?

A peer never discards blocks. It simply only processes valid transactions and marks invalid transactions by setting a flag in the block metadata. The block is stored as a whole on the file system, but only valid transactions are adopted by the peer and affect the stateDB.

The orderer stores all blocks too.

Related