Multi-domain Canton network general questions

Hi all,

I had some questions regarding a Canton multi-domain setup as detailed here:

I would like to understand what the benefits of a multi-domain setup are.
There are several advantages I can see to this setup and I would appreciate confirmation on whether my points are valid.
Advantages of a multi-domain setup:

  1. Avoids having to onboard a user as a party/new participant node onto an existing Canton domain.
  2. Reduces the load on the individual domains as there will be a reduced amount of total workflows if 2 domains are in play as opposed to just 1.

May I know if there are additional use-cases where a multi-domain setup may be recommended/required vs a single-domain setup and what the disadvantages are to having a multi-domain setup vs a single domain set-up?

Thank you!

Hi, Julius

We think the main reasons for multi-domain applications relate to ownership and control, more than administration and throughput. The greatest benefit is sovereignty with cross-application composability.

A Canton network application will typically operate its own synchronization (sync) domain, and route transactions through that sync domain, to synchronize the blockchain state of all the participant nodes that link to it.

The unique power of the global Canton Network kicks in when that Canton application is involved in a workflow that relies on data and smart contract logic that have been defined by a different application. Many finance workflows are like this: a decentralized group of asset issuers and registries, asset owners and exchanges, custodians and banks are involved in most asset lifecycles.

With Canton Network each of those organizations can build an application, operating on their own private sync domain, that manages accounts, complies with regulatory and reporting requirements, executes relevant algorithms and provides useful analysis to their customers. Then for processes that involve other organizations in the asset lifecycle they can create dedicated Daml models that represent those interactions, and use a shared sync domain to synchronize the contracts that govern those interactions.

This allows the application providers to disclose the minimum information about their customers, while providing a seamless and fully integrated experience that combines their own value with the unique contributions of their partners.