Confidential Transactions
Confidential transactions are a privacy mechanism for blockchains that conceals the value of a transfer from public view.
On most blockchains, transaction amounts are visible to anyone inspecting the ledger. Confidential transactions address this by using cryptographic commitments to hide transfer amounts, so that only the transacting parties know the value involved, while the rest of the network can still confirm that no new coins were created in the process. The mechanism was formalized for the Bitcoin context by developer Gregory Maxwell.
How Confidential Transactions Work
The core mechanism relies on a cryptographic tool called a Pedersen commitment. Rather than publishing a raw amount, the sender commits to the value using a mathematical formula that binds the amount to a random blinding factor. Pedersen commitments allow nodes to verify that the sum of inputs equals the sum of outputs without ever seeing the underlying values. This preserves the network’s ability to detect inflation without revealing amounts.
A second layer of cryptography, called a Bulletproof range proof, addresses a separate vulnerability: without it, a sender could potentially create coins from nothing. Bulletproofs prove in zero knowledge that a committed amount is non-negative and within a valid range, without disclosing what that amount is.
Where Confidential Transactions Are Used Today
Confidential transactions have not been adopted on Bitcoin’s mainnet, partly due to the increased transaction size and verification cost they introduce. However, other protocols apply related techniques:
- MimbleWimble incorporates confidential transactions alongside other cryptographic structures that allow the transaction graph to be compressed and spent outputs removed.
- Monero uses RingCT, combining ring signatures with confidential transactions and stealth addresses to hide sender, receiver, and amount simultaneously.
- Zcash uses zk-SNARKs to shield transaction amounts, sender, and receiver entirely, going further than standard confidential transactions by hiding the full transaction graph rather than amounts alone.
Many CT implementations also support selective disclosure through viewing keys, allowing users to grant auditors or regulators access to specific transaction details without making that data publicly visible on-chain.
To learn more about how privacy works at the protocol level, explore Ledger Academy’s entries on shielded transactions and zero-knowledge proofs.