Party discovery in a multi node setup

How does party discovery work in a multi node setup? If we had Alice, Bob and Charlie where:

  • Alice lives on participant node 1
  • Bob and Charlie live on participant node 2
    Both participants node have the same DAR/templates uploaded

If Bob wishes to add Charlie to a contract (e.g. an offer for change of ownership) they can discover them as they live on the same node. How would Alice offer a change of ownership to either Bob or Charlie if she doesn’t know about them (on the platform)?

1 Like

Hi Turan,

Please have a look at the “life of party” section and at the “identity management” documentation:
https://docs.daml.com/canton/usermanual/identity_management.html#life-of-a-party
and also at the architecture section of the identity management: Identity Management — Daml SDK 2.2.0 documentation

We also cover this a bit in the getting started guide:
https://docs.daml.com/canton/tutorials/getting_started.html#canton-identities-and-provisioning-parties

I recommend that you try it out yourself by running through the getting started guide.

The reference documentation is here:
https://docs.daml.com/canton/usermanual/console.html#parties-list

But to answer your question in short: the Canton protocol requires that all participants have the same view on the “topology state” for the given point in time. Therefore, they learn about the parties hosted on other participants and so, you can actually learn about the parties existing on other participants by using the parties.list() command.

A Canton party-id like abcdef::12206d331bb505f9b… is an identity within the Canton system that can not be impersonated. However, establishing that the party is actually “Alice Ltd”, a legal entity in the real world, is something that you would do as part of a KYC workflow on ledger.

Does that answer your question?

Regards,
Ratko