Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.canton.network/llms.txt

Use this file to discover all available pages before exploring further.

This section was copied from existing reviewed documentation. Source: docs/replicated/canton/3.4/synchronizer/overview/index.rst Reviewers: Skip this section. Remove markers after final approval.

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.