Canton Network是一个“网络的网络”,它通过 Validator 和 Super Validator 协同工作,构建了一个安全且可互操作的网络。Validator 负责验证交易, Super Validators 维护 Global Synchronizer 以实现跨子网的互操作性,同时保证隐私。该网络采用双层结构,既有用于隔离活动的私有子网,也有用于互操作的公共主干网。
在我们之前的文章中,我们研究了 Canton Network 是什么以及它的基本功能是如何运作的。在这里,我们更深入地研究引擎,看看它的参与者、Validator 和 Application 如何协同工作以创建一个安全且可互操作的网络。这可以作为任何希望启动应用程序、运行节点或作为核心基础设施提供商参与的组织的指南。
主要内容
该网络被设计成一个两级系统,其中包括用于隔离活动的私有子网,以及用于互操作性目的的公共骨干。
Canton 的 Validator 是有状态的,这意味着用户的私人信息与某个节点相关联,需要通过直接连接访问。
Global Synchronizer 连接独立的应用程序,以允许原子、安全的交易,而无需外部桥接。
Canton 上的应用程序使用 Daml 智能合约语言构建,该语言定义了核心业务逻辑和隐私规则。
Canton Network 本身就是一个“网络中的网络”,其架构由一组特定的角色及其主要参与者的互动所定义。对于应用程序提供商来说,必须了解他们不仅仅是在构建软件,而且还在为其自身服务的核心基础设施上进行操作。
应用程序是网络的业务逻辑。它们是 Daml 编程的智能合约,为从资产代币化到支付和衍生品的一切事物建立工作流程。应用程序的智能合约逻辑和数据不是托管在单个中央服务器上。相反,它们存在于所涉及参与者的 Validator 节点上并在此执行。
提供应用程序的公司称为 operator (OP)。需要了解的一件事是,operator 安装他们自己的 Canton 私有部署,这会为他们自己的服务创建一个 子网络。此部署由 operator 管理的两个主要组件组成:
一个 Validator 节点:operator 自己的 validator 是应用程序的核心智能合约逻辑及其数据所在的位置。从技术上讲,此 validator 与任何其他参与者的 validator 没有什么不同。
一个私有 Synchronizer:operator 还为其子网络运行一个 synchronizer(或同步域)。该组件充当私有的、安全的“流量控制器”,对 该特定应用程序的参与者之间 发生的加密交易进行排序。

通过同时运行一个 validator 和一个 synchronizer,应用程序 operator 为他们的服务创建并控制一个自包含的私有环境。然后,他们负责允许他们的用户(客户)的 validator 连接到这个私有 synchronizer 以参与应用程序。
虽然许多区块链的所有节点都在做基本相同的事情,但 Canton Network 是基于自定义节点协作的复杂架构构建的。了解它们的不同角色是掌握网络如何提供隐私和连接的关键。
如果一个应用程序就像一个安全的私人办公室,那么 Validator 就是该办公室的前门和文件柜。它是用户或机构用来连接到网络的中心组件,充当他们自己存储信息和完成交易的入口。
每个 Validator 仅负责验证它所托管的用户和链上身份(Parties)的交易。这是 “权益证明” 模型的关键部分,该模型确保用户的私人数据永远不会广播到网络上未参与的参与者。因为用户的数据存在于特定的 Validator 上,所以这些节点是 有状态的。这意味着要读取用户的私人数据,应用程序必须直接连接到托管他们的 validator,因为没有单个、通用的端点可以查看网络上的所有私人数据。
机构可以 自主托管 其自己的 Participants Nodes,使用第三方 节点即服务 (NaaS) 提供商,或使用由其应用程序 operator 管理的 validator。Validator 会收到以 Canton Coin (CC) 形式参与的激励,包括保持在网络上的活动奖励和基于他们提供的网络使用份额的奖励。
如果 Validator 是单个参与者的私有网关,那么 Super Validator (SV) 是充当公共网络基础设施集体守护者的受信任、知名的组织。他们不运行私有应用程序,相反,他们的主要责任是运营和维护 Global Synchronizer,这是一个去中心化的服务,可以实现整个 Canton 生态系统的互操作性。
他们最关键的功能是提供安全的 排序服务。当来自不同、独立的子网络的参与者需要进行交易时,他们的 validator 会将加密消息发送到 Global Synchronizer。然后,Super Validator 通过 拜占庭容错 (BFT) 共识协议相互同意消息的确切时间戳和顺序,然后再将它们传输到相应的各方。此过程是支持原子、跨域交易的核心。在所有这些过程中,Super Validator 无法查看由他们排序的私有交易的内容,因此互操作性永远不会泄露机密性。
除了排序之外,Super Validator 的责任还包括公共网络的总体健康状况和管理。他们还验证本地网络实用代币 Canton Coin (CC) 的所有转移,运行关键网络实用程序(如 Name Service),并参与指导 Global Synchronizer 开发的链上治理。为了确保他们的利益与网络的长期成功保持一致,Super Validator 的动机是拥有 铸造 Canton Coin (CC) 的特权,以此作为保护和运行核心基础设施的奖励。
Canton Network 是在 Synchronization Domains 和 子网络 的基础上设计的。子网络本质上是 Canton 部署的私有实例,它形成为一个 validator 集合,这些 validator 都插入到一个通用的、共享的 Synchronization Domain 中。然后,它是一个自包含的、独家的环境,仅为该组的活动保留,并且除了其他事项外,还具有诸如增强的隐私、控制和独占可扩展性等优势。

synchronizer(或同步域)充当其子网络的流量控制器。它的主要工作是为在 validator 之间传递的端到端加密消息提供路由和排序服务。它通过为每笔交易分配时间戳来使 validator“同步”,但它不会验证它们并且无法查看其内容。
虽然创建私有子网络非常适合控制,但它可能会导致无法轻松交互的“独立岛屿”或“数据孤岛”。这就是 Global Synchronizer 发挥作用的地方。它充当将所有这些不同的私有子网络连接在一起的公共骨干。当交易需要涉及来自不同子网络的参与者时,他们的 validator 可以暂时连接到 Global Synchronizer 以原子方式结算交易,同时保持隐私。
当我们跟踪一笔交易时,Validator、Super Validator 和 Application 之间的交互就会变得生动起来。该过程取决于交易是本地的,即位于一个应用程序的一个特定子网络中,还是交易应链接单独的、独立的应用程序。
想象一个由单个实体(“OP”)运营的用于代币化现实世界资产的私有应用程序。在这个 子网络 中,所有参与机构将其 validator 连接到由应用程序 operator 管理的单个私有 synchronizer。
当一家机构想要将代币化资产转移给另一家机构时,该过程完全包含在这个私有环境中。交易从通过发送方的 validator API 提交命令开始。然后,验证遵循 “权益证明” 模型,其中只有发送方和接收方的 validator 参与检查他们各自交易的部分。一旦他们确认了详细信息,他们就会将加密消息发送到私有 synchronizer。synchronizer 充当一个中立的流量控制器,分配一个时间戳并将消息按正确的顺序排列,而无需查看交易的内容。收到排序后的消息后,所涉及的 validator 会将交易提交到他们各自的账本,从而安全且私密地完成转移。
当交易需要跨越多个独立的应用程序时,Canton 架构的真正威力就会显现出来。考虑一个涉及三个独立服务的货到付款交易:一个 资产代币化 应用程序、一个 数字现金 应用程序和一个 交易 应用程序。
在这种情况下,买方、卖方和三个应用程序 operator 都是必须参与最终结算的利益相关者。挑战在于,它们都在不同的独立子网络上运行,每个子网络都有自己的 synchronizer。没有一个私有 synchronizer 可以连接所有五个参与方。

为了解决这个问题,所有五方的 validator 动态地从他们的私有 synchronizer 切换到公共 Global Synchronizer 以进行此特定交易。Global Synchronizer 由 Super Validator 管理,然后由他们执行关键的排序功能。他们从所有五方获得加密的交易消息,并通过安全的 BFT 协议 达成关于正确顺序的协议,确保将整个 DvP 视为一个单一的原子操作。
即使在使用此公共基础设施时,隐私也得以保留。运行 Global Synchronizer 的 Super Validator 不会查看交易详情(特定资产、价格或参与方的身份),因为他们只是对加密包进行排序。一旦 Global Synchronizer 对交易进行了排序,五个 validator 就会将结果密封在他们的私有账本上,从而原子地结算交易。然后,他们可以返回到在其他任务上使用他们的私有 synchronizer。
这种双层设置 - 用于隔离活动的私有子网络和用于互连的全球公共骨干 - 使 Canton 能够提供私有链的隐私以及公共链的连接。
Canton Network 将弹性集成到基础中,采用了一个分布式框架,其中 synchronizer 和 validator 独立工作。这种设计可以防止单点故障,这意味着当单独的元素出现问题时,系统可以继续运行。
例如,强制执行全网络范围的超时 以防止无限期的等待,确保在限定时间内做出决定。灵活的确认策略 让参与者可以在完整性和可用性之间进行权衡:VIP(受信任方) 或 完全确认 等选项可适应不同的风险级别。
通过诸如验证期间的 合约锁定 等机制来实现容错,该机制可及早检测和拒绝冲突交易。由 super validator 运行的 Global Synchronizer 融合了 BFT 共识 来进行排序,可以容忍一些有缺陷的节点,而不会影响序列完整性。
Daml SDK 和 Canton 运行时 让所有错误都能够被可靠地 分类 以指导响应,范围从瞬时故障到需要 operator 操作的安全通知。所有错误都带有唯一的代码、跟踪相关 ID 和机器可读信息以便实现自动化。例如,争用错误 会提示快速重试,而 内部违规 会在不泄露敏感数据的情况下提醒 operator。在最坏的情况下,例如可能代表恶意的不匹配,系统会记录用于审核的完整信息,并为客户端提供有限的信息,从而确保数据完整性。
Canton Network 的设计是公共和私有基础设施的强大组合。Validator 在私有子网络中为用户提供安全、有状态的网关,而 Super Validator 则将 Global Synchronizer 作为连接这些独立环境的 нейтрали公共骨干来运行。所有这些都通过一种经济模型来维系,该模型基于基础设施运营商以及应用程序构建者为网络贡献的效用来激励所有参与者。结果是一个具有一致激励机制的可靠基础,专为下一代机构金融而设计。
DAIC 提供的信息(包括但不限于研究、分析、数据或其他内容)仅供参考,不构成投资建议、财务建议、交易建议或任何其他类型的建议。DAIC 不建议购买、出售或持有任何加密货币或其他投资。
- 原文链接: daic.capital/blog/canton...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!