% SCP Data Storage & Commitment Binding Specification % Version 1.0 (Formal Edition) % 2026-02-27
SCP 数据存储与 Commitment 绑定规范 v1.0
状态:Standards Track
类别:数据层 × 语义层 × 验证层绑定规范
本规范定义:
- CanonicalRecord 存储模型
- Commitment 生成与绑定规则
- 数据加密与隔离原则
- 形式化不变量
- Merkle Root 批量提交结构
- Root 一致性与验证流程
============================================================
第一部分:结构定义
1.1 CanonicalRecord
CR = (schema_version, vault_id, timestamp, attributes)
attributes = [(attribute_id, value_type, value_bytes)]
CR 必须 deterministic 序列化。
1.2 Commitment
C = SHA256(Serialize(CR))
1.3 加密结构
E = Encrypt_AES_GCM(CR, data_key)
Vault 存储:E
公开层存储:C
============================================================
第二部分:存储分层模型
数据层(私有)
- 存储 Encrypted CanonicalRecord (E)
- 位于 Vault 本地或 TEE 内
语义层(公开)
- attribute_id 索引
- embedding_hash
- scope
- DomainRoot
- RegistryRoot
不包含 value_bytes
执行验证层
- Commitment C
- BLS 签名
- Merkle proof
============================================================
第三部分:形式化不变量
Invariant 1:承诺一致性
Decrypt(E) = CR
SHA256(CR) = C
Invariant 2:不可篡改
CR' != CR ⇒ SHA256(CR') != C
Invariant 3:公开层无明文
Storage_Public 不包含 CR 或 value_bytes
Invariant 4:Root 可重现
MerkleRoot(C_batch) = H(MerkleTree(sorted(C_batch)))
Invariant 5:加密隔离
E 不可在非 Vault 或非 TEE 环境解密
============================================================
第四部分:Merkle Root 批量提交结构
设 Batch_B = [C1, C2, ..., Cn]
步骤:
- 排序 C_i
- 构建二叉 Merkle Tree
- 计算 MerkleRoot_B
BatchCommit = (epoch_id, MerkleRoot_B, batch_size)
可提交至 Settlement 层。
单条验证:
- 提供 CR
- 计算 C = SHA256(CR)
- 提供 Merkle Proof
- 验证路径至 MerkleRoot_B
============================================================
第五部分:Root 绑定模型
RegistryRoot = H(sorted(embedding_hash))
BatchRoot = H(sorted(C_i))
SettlementRoot = H(RegistryRoot || BatchRoot)
============================================================
第六部分:安全性说明
防止:
- 数据篡改
- 批次伪造
- 选择性删除
- 重放攻击
============================================================
第七部分:一致性定理
若所有节点:
- 相同序列化规则
- 相同哈希函数
- 相同排序规则
则 MerkleRoot_i = MerkleRoot_j
============================================================
结论
本规范实现:
- 数据私有
- 语义公开
- 批量可验证
- 长期可审计
结束。