Search code examples
hyperledger-fabrichyperledgeribm-blockchain

Does committing peer sign the new block using private key to produce new block in Hyperledger Fabric?


I tried to find about how committing peer works in hyperledger fabric technically in producing new block but I couldn't seem to find resources that explain to me in a very detail manner(such as sign using private key, how transaction is validated technically, etc). My question is after committing peer validate the transaction which they got from ordering service node, who will create the new block exactly? If it's the committing peer, committing peer is not one node but usually it has multiple committing peer node(which represents number of company participating in the network), so how do the system decide which committing peer will produce the new block?

Any reference link about this will be highly appreciated.


Solution

  • Please refer to the Transaction Flow in the documentation. Furthermore, Please check out the Key Concept Section too (Both Ledger and Ordering Service for you to understand the flow and also what is inside a block).

    Committing peers do not create new blocks, they execute, validate and commit the block created by orderer to their ledger. The signing is done by Endorsing Peers using private key with ECDSA-SHA256 signing. Then of course, verification uses ECDSA-SHA256 too.

    Validation is basically executing the read write set and check if the output is deterministic (and thus the result should be same with all other nodes).

    I am over simplifying here tho.