Pigging backing off of I need help in understanding the role of "maintainer", I was reviewing the Canton’s support for uniqueness of contract keys. This explanation
While adding the check to the individual participants is straightforward, it is hard to get meaningful guarantees from such local checks because each participant has only a limited view of the entire virtual global ledger. For example, the check could pass locally on a participant even though there exists a contract with the given key on some domain that the participant is not connected to. Similarly, since the processing of different domains runs in parallel, it is unclear how to consistently handle the case where transactions on different domains create two contracts with the same key.
First, why do we have to perform
the check could pass locally on a participant even though there exists a contract with the given key on some domain that the participant is not connected to.
How would this occur? If a Party is hosted by a participant, wouldn’t that mean that the maintainer is hosted by some participant too, and then that maintainer cannot create a contract with the a given key on a domain that participant is not connected too?