What shared state do ACS commitments cover?

Do ACS commitments between two Canton participant nodes commit to?

  1. The full shared state between two nodes, including all observed (but not witnessed or divulged) contract, or
  2. Only the shared-signatory state, or
  3. Something else?

The commitments are computed for the stakeholder-group of each contract:

A stakeholder is the union of signatories and observers:
https://docs.daml.com/daml/stdlib/Prelude.html#function-da-internal-template-functions-stakeholder-47883

As the party to participant mappings can change over time, the participant P1 will compute then in regular intervals the stakeholder groups that it shares with P2 (so where they each host at least one party) and include the hash of that group in the commitment.

So the answer is #1.

I hope that helps!

2 Likes