Same truth, different views
Each column is one /v2/state/active-contracts call for that
party. Nothing is filtered in this page: a party that is not a stakeholder never
receives the contract.
The scenario, step by step
Collisions
A collision means a fingerprint already carried a live claim. No transfer happened and
each lender received its own notice. Neither learns who the other is.
Notices visible to the auditor0
What happened
draw request
↓
fingerprint check
↓
existing claim found
↓
settlement refused, 0 transferred
↓
one notice per lender, both visible to the auditor
A registry no institution controls
The registry's identity is a Canton Decentralized Party. Two of three owner keys are
required for anything sensitive. Routine settlement runs under a delegation the members
granted once, by vote, and can revoke at any time.
Automation, the ordinarychecking
| Open the index for a fingerprint | delegated |
| Check and settle a draw | delegated |
| Anything else | not delegated |
Governance, the exceptional2 of 3
| Grant the delegation | vote |
| Revoke the automation | vote |
| Force-release a fingerprint | vote |
Below the threshold, the ledger refuses
DAML_FAILURE: The requirement 'Enough confirmations to execute action' was not met.
One confirmation out of the two required. The threshold lives in the Daml GovernanceRules contract, not in any backend.