Canonical Registry Synchronization Protocol (CRSP) v0.1
Canonical Attribute Registry 同步与发现协议(详细规范)
版本:v0.1
状态:Production Protocol Specification(详细版)
适用范围:SCP Vault Network / FQP / Registry Control Plane
日期:2026-02
一、协议目的(Purpose)
Canonical Registry Synchronization Protocol(CRSP)的目的是解决以下核心问题:
在一个由大量 Vault 节点组成的去中心化网络中,每个 Vault 可以定义新的 Canonical Attribute(扩展属性)。
如果没有统一同步机制,将导致:
- Query Coordinator 无法知道某 attribute 是否存在
- FQP 无法正确执行 Query Planning
- 无法实现 Schema Evolution
- 无法支持动态数据类型
CRSP 提供统一机制:
- 发现 attribute
- 同步 attribute metadata
- 构建 network-wide attribute index
- 支持 FQP 查询规划
CRSP 不同步用户数据,仅同步 attribute metadata。
二、关键概念(Core Concepts)
本协议涉及三个 Registry 层级:
2.1 Global Registry
Global Registry 是由 SCP 协议定义的 canonical attributes。
例如:
diagnosis_code
transaction_amount
receipt_total_amount
特点:
- 静态定义
- 由协议 governance 管理
- 所有 Vault 默认支持
2.2 Local Registry
Local Registry 是 Vault 本地自动生成的 registry extension。
例如:
ext_commerce_charging_kwh
特点:
- Vault 自动生成
- Vault 本地存储
- Vault 本地使用
文件:
canonical_registry_local.json
2.3 Network Registry(核心)
Network Registry 是整个网络的 attribute metadata 聚合索引。
它包含:
- attribute name
- domain
- type
- vault_count(多少 Vault 支持该 attribute)
Network Registry 不包含:
- attribute values
- user identity
- user data
三、协议参与者(Protocol Participants)
CRSP 定义以下参与者:
3.1 Vault Node
Vault Node 是 attribute 的来源。
Vault 负责:
- 发现新 attribute
- 发布 attribute announcement
- 定期 heartbeat
Vault 不存储 network registry。
3.2 Registry Node
Registry Node 是 attribute metadata 聚合节点。
Registry Node 负责:
- 接收 attribute announcements
- 聚合 attribute metadata
- 维护 network registry index
- 响应 registry queries
Registry Node 不存储用户数据。
3.3 Query Coordinator
Query Coordinator 使用 network registry 进行 Query Planning。
Coordinator 负责:
- 查询 registry
- 验证 attribute existence
- 优化 query routing
3.4 Registry Authority
Registry Authority 负责维护 Global Registry。
四、Registry Index 数据结构(Registry Index Data Model)
Registry Node 必须维护 registry_index 表:
CREATE TABLE registry_index (
attribute TEXT PRIMARY KEY,
domain TEXT,
type TEXT,
vault_count INTEGER,
first_seen INTEGER,
last_seen INTEGER
);字段解释:
attribute:attribute 名称
domain:所属 domain
type:attribute 数据类型
vault_count:支持该 attribute 的 Vault 数量
first_seen:首次发现时间
last_seen:最后一次 heartbeat 时间
五、核心消息类型(Protocol Messages)
CRSP 定义以下消息。
5.1 AttributeAnnouncement(属性声明)
Vault 在发现新 attribute 时发送。
目的:
通知 network registry attribute 存在。
示例:
{
"message_type": "attribute_announcement",
"vault_id": "vault_123",
"timestamp": 1700000000,
"attributes": [
{
"attribute": "ext_commerce_charging_kwh",
"domain": "commerce",
"type": "float",
"index": true
}
],
"signature": "..."
}处理流程:
Registry Node 接收 → 更新 registry_index
5.2 AttributeHeartbeat(属性心跳)
Vault 定期发送 heartbeat。
目的:
确认 attribute 仍然存在。
防止 registry index 过期。
示例:
{
"message_type": "attribute_heartbeat",
"vault_id": "vault_123",
"attributes": [
"ext_commerce_charging_kwh"
],
"timestamp": 1700000000,
"signature": "..."
}5.3 RegistrySyncRequest(Registry 查询请求)
Coordinator 或 Vault 请求 registry。
目的:
获取 network registry。
5.4 RegistrySyncResponse(Registry 查询响应)
Registry Node 返回 registry metadata。
示例:
{
"message_type": "registry_sync_response",
"attributes": [
{
"attribute": "diagnosis_code",
"domain": "health",
"vault_count": 482342
}
]
}5.5 RegistrySnapshot(Registry 快照)
Registry 完整状态。
用于 cold start。
六、同步流程(Synchronization Flow)
完整流程:
Step 1
Vault canonicalization pipeline 发现新 attribute
Step 2
Vault 发送 AttributeAnnouncement
Step 3
Registry Node 更新 registry_index
Step 4
Vault 定期发送 heartbeat
Step 5
Coordinator 查询 registry
Step 6
Coordinator 执行 Query Planning
七、Query Planning 集成(Integration with FQP)
Coordinator 在执行 FQP query 前执行:
Registry lookup
例如:
Query:
ext_commerce_charging_kwh > 40
Coordinator 查询 registry:
确认 attribute 存在
并知道 vault_count
Coordinator 优化 query routing
八、Transport 层(Transport Layer)
推荐 transport:
libp2p gossip
或
HTTPS API
九、安全模型(Security Model)
所有消息必须签名:
signature = sign(message, vault_private_key)Registry Node 必须验证 signature。
防止 spoofing。
十、隐私模型(Privacy Model)
Registry 仅同步 metadata。
不包含:
user identity
attribute value
record id
十一、Failure Handling
Vault offline:
heartbeat timeout
Registry Node 减少 vault_count
十二、Schema Evolution
当 ext attribute 被广泛使用时:
Registry Authority 可以升级 Global Registry。
十三、性能目标(Performance Targets)
支持:
10M Vault Nodes
100M Attributes
十四、总结(Summary)
CRSP 提供完整机制:
Attribute discovery
Attribute synchronization
Registry aggregation
Registry discovery
Query planning support
CRSP 是 FQP 和 Canonical Attribute Registry 的关键协议。