Which consensus mechanism is used by Hyperledger Fabric to order transactions before they are committed to the ledger?