  Consensus algorithms play a critical role in blockchains and directly impact
their performance. During consensus processing, nodes need to validate and
order the pending transactions into a new block, which requires verifying the
application-specific data encapsulated within a transaction. This exposes the
underlying data to the consensus nodes, presenting privacy concerns. Existing
consensus algorithms focus on realizing application security and performance
goals, but lack privacy-by-design properties or are resource-heavy and intended
for securing permissionless blockchain networks. In this paper, we propose
P-CFT, a zero-knowledge and crash fault tolerant consensus algorithm for
permissioned blockchains. The proposed consensus algorithm provides inherent
data privacy directly to the consensus layer, while still providing guarantees
of crash fault tolerance. We conduct experiments using the Hyperledger Ursa
cryptographic library, and the results show promise for integrating P-CFT into
existing permissioned blockchain systems requiring privacy-preserving and crash
fault tolerant features.
