canton-privacy-model
Installation
SKILL.md
Canton Privacy Model
Overview
Most blockchains buy integrity with global visibility — every validator sees every transaction. Canton resolves the integrity-vs-privacy tension with sub-transaction privacy: a transaction is decomposed into views, and each party sees only the parts it's entitled to. Other parts reveal no payload and no metadata (not even which parties/participants are involved). The synchronizer sees only encrypted messages and confirmation results.
How it works
For a multi-party transaction, Canton does not send the whole transaction to everyone:
- Decomposition — split into views by stakeholder relationships.
- Encryption — each view encrypted to its recipients.
- Distribution — synchronizer delivers only entitled views.
- Validation — each participant validates its view independently.
- Confirmation — participants confirm based on their view alone.
Example ("Alice pays Bob, Bob pays Charlie"): Alice sees only her payment to Bob; Bob sees both (he's in both); Charlie sees only his receipt — not Alice's involvement or the source of funds.
The two visibility rules
- You see actions you have a stake in. Signatories always see the contract and all events on it; observers see it by explicit declaration; controllers see the choices they can exercise.
- If you see an action, you see its consequences. You see the creates/archives it produces — which lets you independently verify the action was executed correctly.