The aims of this article are two-fold. First, it’s to provide a not-too-technical overview of the Canton Network that can be understood by more business-focused readers. Second, it’s to give more technical readers a foundational understanding of Canton Network’s components, so that they have the necessary context for deeper dive discussions, for example around consensus, transaction handling and double spend protection.
You may have heard or read about “Canton Network”, “Global Synchronizer”, “Validators”, “Supervalidators”, “Global Synchronizer Foundation”, and “Canton Coin”. But what exactly are these, who runs them and how are they interrelated? How does Canton Network deliver the configurable privacy that is trusted by the world’s largest financial institutions and largest institutional crypto players? These are some of the questions this article will address.
Let’s start with a history of the Canton Network. Although the vision was always for a public network with privacy, the Canton blockchain protocol first proved its value in private permissioned deployments. Understanding how these first Canton deployments looked is key to understanding the public network today, since such private deployments are now subnetworks that form part of the broader Canton Network. More on that later. For now, put aside thoughts of a public network and we’ll take a look at a private Canton deployment. In such a deployment, there are two significant components: validator nodes (often just referred to as validators) and a single Canton synchronizer. Each validator connects to the synchronizer, and a deployment looks as follows:
Filling in a little more detail:
Having independent blockchain deployments is great for privacy, sovereignty and control, but alone, independent islands that cannot connect at the Layer 1, cannot deliver on the promise of blockchain - the opportunity to create a single source of truth, eliminate reconciliation, and perform atomic transactions across multiple applications.
Let’s illustrate the problem with an example. Say we had three private Canton deployments, each provided by different organizations:
What we want is for a buyer and a seller to agree a trade and then for that trade to settle atomically, i.e. for a DvP where asset and cash tokens are exchanged and the trade record updated in one transaction.
The setup would look something like this:
Here the providers of each service are operating their own Canton deployment. They each operate a validator (shown as “OP” in the diagram) and a synchronizer. They allow other validators to connect. Our buyer and seller have connected to all three synchronizers so they can use all three services.
When the DvP occurs, whose smart contracts need to be updated? Well, the buyer’s and the seller’s, but also the three operators. The asset and cash provider need to be updated because they perform a registrar role. The trading app provider keeps track of all trades and needs to know that the trade is now settled.
But we have a problem. Our transaction needs to be coordinated through a synchronizer, but there is no one synchronizer that all five validators are connected to. So what are they going to do?
This is where it gets interesting. Because synchronizers are not responsible for signing transactions, or validation themselves, it means that applications and validators can dynamically choose different synchronizers, depending on the trust requirements of any given transaction and who is participating.
Our five validators have three options:
Adding in the Global Synchronizer, our diagram now looks as follows:
Now our buyer and seller can interact with the private synchronizers when interacting solely with their asset tokens and cash, and when agreeing the trade. But when it comes to the DvP they can switch to the Global Synchronizer and settle the trade. Privacy is preserved because no synchronizer (including the Global Synchronizer) gets to see the data - it just routes and orders encrypted messages.
At this point it is good to address four common questions:
The easiest way to connect is via a validator node, as described above. This includes the Validator app, which manages Canton Coin to pay network usage fees and earn and mint rewards. Today validator requests are managed through the GSF and over time this will evolve into permissionless access for new entrants.
We’re now in a position to define what we mean by the Canton Network, which is simply the collection of all Canton deployments which have the ability to interoperate through shared synchronizers - be that the Global Synchronizer or any other synchronizer.
Many new applications today use the Global Synchronizer to start with, without the need for private synchronizers. Digital Asset’s modular asset tokenization suite (Unifi) works in this way, enabling a simple and fast way to bring highly composable tokenization applications to Canton Network.
Taking this approach brings benefits of running less infrastructure, having pre-existing users connected to the same synchronizer, and being able to earn Canton Coin. It is an approach taken by many participants as a first step, as it enables participation in the Canton Network through the deployment of a validator, and then the ability to deliver fee generating applications - for example it is possible to very quickly bring tokenized asset natively to Canton or get a complete tokenization platform up and running for your customers fast.
The Canton Network should be thought about as a network of networks, with true atomic and privacy-preserving interoperability within and across its subnets. Each application uses synchronizer(s) to which one or more validator nodes are connected, and applications and validator nodes can use multiple synchronizers without trading off privacy, control or interoperability.
The Global Synchronizer is a publicly available synchronizer which validators use to compose atomic transactions across multiple applications. Validators can also connect to the Global Synchronizer without connecting to any other synchronizers to bring utility to the network and start earning rewards, and then start to make use of available applications and utilities to either participate in assets and apps, or to get applications up and running very quickly.
If you would like to talk about running a validator, a super-validator, or joining the Global Synchronizer Foundation, complete the form, or reach out to a member of the ecosystem.