验证者架构
Canton Network 验证者节点的内部组件
验证者是 Canton Network 上的基础基础设施单元。它托管 Party、存储其合约数据,并代表它们处理交易。理解验证者内部结构有助于部署规划、故障排查与容量评估。
验证者组件
验证者由两个主进程及其支撑基础设施组成:
flowchart TB
subgraph Validator["Validator Node"]
VP[Validator Process]
subgraph PN["Participant Node"]
LE[Ledger API]
CE[Canton Engine]
CS[(Contract Store)]
end
WA[Wallet App]
DB[(PostgreSQL)]
end
APP[Application or backend] --> LE
PN <--> SYNC[Synchronizer]
VP --> PN
WA --> PN
PN --> DB
VP --> DB
Participant 节点
Participant 节点是核心组件,负责:
- 托管 Party 并管理其身份
- 在本地数据库中存储所托管 Party 的合约数据
- 暴露 Ledger API,供应用提交命令、读取交易并管理 Party
- 运行 Canton 协议引擎,处理交易、验证与隐私
- 与同步器通信,提交并接收数据类交易
- 与同步器通信,提交并接收拓扑类交易
Validator 进程
Validator 进程在 Participant 之上处理 Canton Network 特有功能:
- 管理接入 Global Synchronizer 的入驻流程
- 使用 Canton Coin 处理流量购买
- 为所托管 Party 运行 Splice 钱包应用
- 管理自动运维,如流量自动充值与 Canton Coin 归集配置
数据库
Participant 与 Validator 进程均使用 PostgreSQL 持久化。生产环境应使用托管数据库服务(如 Cloud SQL、RDS),并配置备份与高可用。
验证者如何连接同步器
验证者通过 Sequencer 端点经 TLS(443 端口)仅出站连接同步器,无需接受来自网络的入站连接。
单个验证者可同时连接多个同步器,且只接收与其托管 Party 相关的交易,从而在同步器协调全网参与者的同时仍保持隐私。
Ledger API
Ledger API 是应用与账本交互的主接口。可通过 gRPC 或 JSON 传输完成:
- 命令提交 — 创建合约、执行 Choice
- 交易流 — 读取已确认交易
- 活跃合约集(ACS) — 查询当前活跃合约
- Party 管理 — 分配与管理 Party
应用可直接通过 gRPC 连接 Ledger API,或通过在其之上的 JSON API 使用 HTTP/JSON。
本文由 CC Privacy Club 根据 Canton Network 官方文档(CC-BY-4.0)整理翻译,仅供学习;实现细节以官方最新版本为准。