Synchronizer

A Synchronizer is a foundational part of the Canton architecture that provides two main functionalities:

  1. Sequencing: Ordered and confidential communication between independent participant nodes (validators).

  2. Mediating: Transaction coordination as part of the two-phase commit protocol to provide atomicity and privacy.

Canton is designed as a network of networks where participant nodes may be connected to multiple Synchronizers at the same time.

Role in the Canton architecture

  • Message Queue and Ordering: The Synchronizer serves as a secure message queue, receiving encrypted transaction requests from participant nodes and ensuring they are ordered consistently. This ordering is critical for resolving potential conflicts and achieving consistent outcomes.

  • Privacy by Design: Unlike traditional public blockchains where transaction data is public, Canton’s Synchronizer can not decrypt the transaction payloads. Messages are always encrypted end-to-end between the relevant participants (validators). The Synchronizer only sees encrypted envelopes and their metadata for routing and ordering, maintaining privacy for sensitive transaction information.

  • Not a Validator: It’s important to note that the Synchronizer is not responsible for validating the transaction contents. That responsibility lies with the stakeholder participant nodes (validators) involved in a given transaction, using Canton’s two-phase commit protocol. The Synchronizer merely ensures the consistent sequencing and delivery of these transaction requests and coordinates the outcomes of the transactions.

Technical components

  • Sequencer: The Sequencer is responsible for delivering the messages to the designated recipients adhering to the atomic multicast properties with privacy.

  • Mediator: The Mediator works in conjunction with the Sequencer. It aggregates transaction confirmations from the involved stakeholder participant nodes (validators) and either approves or rejects a transaction based on the confirmations. It plays a key role in the two-phase commit protocol and provides privacy between the different participants involved in a transaction.

  • Ordering Layer: The ordering layer establishes a consistent ordering of messages going through the Sequencer and assigns timestamps to the ordered messages, which is fundamental for conflict detection of transactions.

Types of Synchronizers

  • Centralized Synchronizers: While Canton is designed for decentralization, a private Canton deployment can use a centralized Synchronizer operated by a single entity. This is suitable for closed consortia or internal enterprise use cases.

  • Decentralized Synchronizers: This is the more public and robust form. The Global Synchronizer is operated by a network of independent “Super Validators” who jointly run the Sequencers using Byzantine fault-tolerant (BFT) consensus and Mediators with BFT state machine replication. This offers high resiliency and security in the sense of not relying on a single trusted third party.