Zero-Knowledge Proofs in Blockchain
Decentralization is one of the primary tenets of blockchain or distributed ledger technology (DLT). Through decentralization, network participants can individually validate and record transactions on a distributed ledger through a consensus protocol. This eliminates the need for trusted third parties while increasing network democratization. However, it does so at the cost of privacy. Transaction data along with the identities of transacting parties are visible to those who must validate the transaction.
Take the case of a blockchain network used to run a supply chain solution. This will host multiple entities such as suppliers, logistics providers, manufacturers, etc., as network participants. Each party may hesitate to put business-sensitive transactions (like recurring payments from a manufacturer to a supplier) on the blockchain because it reveals confidential business information to other parties, even competitors, on the network.
The underlying challenge is: How can blockchain network participants verify blockchain transactions for correctness without revealing sensitive business information? The answer to this question would give participating entities greater confidence while transacting on the blockchain, thereby increasing business value.
Over the years, blockchain framework and solution developers have tested different ways to ensure data privacy on blockchains. Some of the techniques used are private transactions (Quorum), channels (Hyperledger Fabric) and peer-to-peer messaging (R3 Corda). These techniques ensure that transaction information is visible only to entities that are either involved in a transaction or are trusted third parties. The disadvantage with these techniques is that they affect network decentralization in various degrees, which in turn affects the overall trust and resiliency of the blockchain.
Presently, solutions based on ‘zero-knowledge proofs’ (ZKP) are finding traction within the blockchain community and are being incorporated in blockchain offerings. Zero-knowledge proofs are constructs that help prove the correctness of information without disclosing the information itself.
Read more about Zero-Knowledge proof here.