Skip to content

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 表:

sql
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 存在。

示例:

json
{
  "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 过期。

示例:

json
{
  "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。

示例:

json
{
  "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)

所有消息必须签名:

python
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 的关键协议。