# Canton 引擎室：验证者与应用程序如何交互

By [BitSafe中文](https://paragraph.com/@bitsafe) · 2025-10-22

---

本文将深入地了解Canton内部引擎，看看参与者——验证者（Validators）和应用程序（Applications）——如何协作，从而创建一个安全且可互操作的网络。这篇文章可作为指南，帮助任何希望在 Canton 上**启动应用、运行节点或作为基础设施提供方参与**的机构了解核心机制。

关键要点（Key Takeaways）
-------------------

*   网络采用两层结构：包括用于隔离活动的**私有子网络（Private Subnetworks）**，以及用于互操作的**公共主干层（Public Backbone）**。
    
*   Canton 的验证者是**有状态的（Stateful）**，意味着用户的私有数据绑定在特定节点上，必须通过直接连接访问。
    
*   **全局同步器（Global Synchronizer）** 连接独立的应用，实现原子级、安全的跨域交易，无需外部桥接。
    
*   Canton 上的应用使用 **Daml 智能合约语言** 构建，定义核心业务逻辑与隐私规则。
    

网络中的关键角色（The Key Players on the Network）
----------------------------------------

Canton 网络本质上是一个 “**网络的网络（Network of Networks）**”。其架构由一系列关键角色及其交互方式定义。对于应用提供商而言，他们不仅仅是在构建软件，而是在**运营自有服务的核心基础设施**。

### 应用程序（Applications）：网络的业务逻辑层

应用程序是 Canton 网络的业务逻辑核心。它们是基于 **Daml 编写的智能合约**，可定义从**资产代币化**到**支付**、**衍生品**等的完整工作流。

应用的智能合约逻辑与数据并非存储在单一中央服务器上，而是分布执行在参与者的验证节点上。

提供应用的公司称为 **运营方（Operator, OP）**。运营方需部署自有的 **Canton 私有实例（Private Deployment）**，为其服务创建一个独立子网络。该部署包含两个主要组件：

1.  **验证节点（Validator Node）**：应用的核心智能合约逻辑与数据驻留于此。技术上，它与其他参与者的验证节点并无区别。
    
2.  **私有同步器（Private Synchronizer / Synchronization Domain）**：由运营方运行，充当该子网络的“私有交通控制器”，为加密交易提供顺序与同步服务。
    

通过同时运行验证节点与同步器，应用运营方即可创建一个**自包含的私有环境**，并允许客户的验证节点接入参与。

节点：Canton 的分布式基础
----------------

不同于大多数区块链让所有节点执行相同任务，Canton 架构基于**多角色协作节点体系**构建。理解它们的区别，是理解 Canton 如何同时实现隐私与互通的关键。

### 验证者（Validators / Participant Nodes）：通往网络的私有网关

如果说应用像一个安全的私有办公室，那么验证者就是那扇**大门与档案柜**。验证者是用户或机构与网络交互的入口，用于信息存储与交易执行。

每个验证者仅负责验证其托管用户（称为 Parties）的交易。这是 Canton 的 **“Proof-of-Stakeholder” 模型** 的核心：用户的私密数据永不广播给无关方。

由于用户的数据存储在特定验证者上，这些节点是**有状态的（Stateful）**。因此，若想访问某用户数据，必须**直接连接**托管该用户的验证节点，网络上不存在统一的数据访问端点。

机构可以选择：

*   自行托管参与节点；
    
*   使用第三方的 **Node-as-a-Service (NaaS)** 服务；
    
*   或由应用运营方托管验证者。
    

验证者通过获得 **Canton Coin (CC)** 支付激励参与，包括网络活跃奖励和基于网络使用率的分润。

### 超级验证者（Super Validators）：公共网络的守护者

若验证者是个体的私有网关，那么 **超级验证者（SV）** 则是维系整个公共网络基础设施的可信组织。他们不运行私有应用，而是负责运营和维护 **全局同步器（Global Synchronizer）**——Canton 生态中实现互操作性的去中心化核心组件。

他们的主要任务是提供**安全排序服务**：当不同子网的参与者进行跨域交易时，其验证者会向全局同步器发送加密消息。超级验证者通过 **拜占庭容错（BFT）共识协议** 就消息的时间戳与顺序达成一致，从而支持跨域原子交易（Atomic Transactions）。

重要的是：即便参与排序，超级验证者**无法查看交易内容**（如资产、价格或身份），确保隐私不泄露。

此外，SV 还负责：

*   公网健康维护与管理；
    
*   验证所有 **Canton Coin (CC)** 转账；
    
*   运营关键网络服务（如命名服务 Name Service）；
    
*   参与治理与投票。
    

为激励其长期投入，SV 通过**铸造 CC** 获取收益。

“网络的网络”：理解网域与子网（Domains and Subnetworks）
----------------------------------------

Canton 以 **同步域（Synchronization Domains）** 为基础构建。一个子网（Subnetwork）是一个私有 Canton 实例，由共享同一同步域的一组验证者组成。它是**封闭、隔离且可扩展**的环境，适合特定业务场景的高隐私需求。

同步器负责为子网提供加密消息的**路由与排序服务**，但并不验证消息内容。它只确保验证者间保持时间顺序一致。

然而，过度私有化可能形成“数据孤岛”。为此，**全局同步器（Global Synchronizer）** 充当公共主干，将这些独立私网连接起来，实现跨域原子结算而不泄露隐私。

交易流程：从私有子网到全球网络
---------------

验证者、超级验证者与应用之间的交互，最直观地体现在交易执行流程中。

### 场景一：单一子网内交易

假设一家资产代币化公司运营一款私有应用，所有机构均通过验证者连接至该应用的私有同步器。当机构间转移代币化资产时：

*   交易由发送方验证者发起；
    
*   仅发送方与接收方的验证者验证各自部分；
    
*   经加密后提交给同步器排序；
    
*   同步器分配时间戳并广播给双方验证者；
    
*   双方将结果写入各自账本，交易完成。
    

全过程保持完全隐私与确定顺序。

### 场景二：跨应用原子交易

Canton 的强大之处在于支持**跨多个独立应用的原子交易**。例如一个包含 **资产代币化、数字现金与交易应用** 的 **DvP（交割对付款）** 操作。

此时，买方、卖方及三家应用方各自位于不同子网，没有共享的同步器。他们的验证者会临时切换至 **全局同步器**，由超级验证者执行 BFT 排序。交易消息加密传输、达成顺序共识后再各自回写至私网账本。整个过程原子性完成，同时**隐私仍然得到完全保留**。

这套“双层架构”——**私有隔离 + 公共互联**——让 Canton 同时具备**私有链的隐私性**与**公有链的互操作性**。

网络安全与错误处理
---------

Canton 从设计上嵌入了韧性：同步器与验证者独立运行，消除单点故障。

主要机制包括：

*   **超时控制**：防止无限等待；
    
*   **灵活确认策略**：在安全性与可用性间平衡；
    
*   **故障容忍机制**：如合约锁定可提前检测冲突；
    
*   **BFT 共识容错**：全局排序在部分节点失效时仍能维持一致性。
    
*     
    

Daml SDK 与 Canton 运行时能对错误进行分类与追踪，提供从临时错误到安全警报的不同响应机制。每个错误都附带唯一代码、跟踪 ID 与机器可读数据，便于自动化响应与审计追踪。

结论
--

Canton 网络通过结合**公有与私有基础设施**实现了前所未有的设计平衡。验证者在私网中为用户提供安全、状态化的接入点，而超级验证者则运营全局同步器，为这些独立环境提供互通骨干。

整个网络以经济激励机制为纽带，让基础设施运营方与应用构建者的利益保持一致，共同推动下一代机构级金融基础设施的发展。

---

*Originally published on [BitSafe中文](https://paragraph.com/@bitsafe/canton)*
