Canton 协议规范
Canton 协议架构技术规范:涵盖共识层、交易处理与拓扑管理
本节提供 Canton 协议完整技术规范。Learn 页面在高层次介绍概念;本参考页详述协议机制——数据结构、信任假设、消息流与形式化性质,它们是 Canton Network 的基础。
协议架构
Canton 将多数区块链混为一体的两件事分离:智能合约验证与交易排序。结果是可独立优化的双层共识架构。
| 层 | 职责 | 机制 | 信任边界 |
|---|---|---|---|
| Smart contract consensus | 验证交易正确性 | Proof of Stakeholder(点对点) | 仅受影响 Party |
| Ordering consensus | 建立一致的 synchronizer 排序 | 经 Sequencer 的 BFT 排序 | Synchronizer 运营方 |
协议跨三类节点运行:
- Participant 节点托管 Party、维护其 Active Contract Set (ACS)、代其执行智能合约共识协议,并提供 LAPI。
- Sequencer 节点提供带发送方隐私的认证、事件有序多播
- Mediator 节点促成将验证结果绑定为最终交易决策的两阶段提交协议
Participant 与 Mediator 不直接通信。所有消息经 Sequencer 全局排序。载荷加密,Sequencer 仅见元数据——接收方列表与消息大小——而非交易内容。
参考页面
关键性质
Canton 协议提供以下保证:
- 子交易隐私:各方仅见与其相关的交易部分。Sequencer 与 Mediator 无法读取交易载荷。
- 完整性:仅当全部所需利益相关方确认且每个 signatory 的智能合约逻辑通过验证时,交易才可提交。
- 一致性:排序层通过在给定 synchronizer 上为全部状态变更提供单一全局顺序,有助于防止双花。
- 最终性:Mediator 发出提交裁决并经排序后,交易结果即为最终。无分叉或重组。
- 活性:在 BFT 容错阈值内(故障排序节点少于三分之一),协议可推进。
两层如何交互
Daml 交易在其生命周期中穿越两层共识:
- 提交 Participant 在本地准备交易(智能合约层)
- Participant 向 Sequencer 发送加密视图(排序层)
- Sequencer 将视图分发给受影响 Participant,并向 Mediator 发送 informee 消息
- 各确认 Participant 验证其视图并向 Mediator 发送确认或拒绝(智能合约层,经排序层)
- Mediator 在所需时间窗内汇总裁认并发出裁决,Sequencer 分发给所有 Participant(排序层)
各阶段详见 Transaction Lifecycle。
本文由 CC Privacy Club 根据 Canton Network 官方文档(CC-BY-4.0)整理翻译,仅供学习;实现细节以官方最新版本为准。