协议:概览
这是 DIG 协议的规范性说明,定义为自底向上的七个层次。每一层都以其规范性的 crate/文件作为标准参考。
这是权威的协议参考文档
本部分是该网络实际运行方式的权威来源。它按照网络实际运行的样子记录协议,并附带指向规范实现的 file:line 引用。
最基础的单位:capsule
有一个概念贯穿每一层:capsule = (store_id, root_hash),规范写法为 storeId:rootHash。store 是一系列有序排列(从旧到新)的 capsule,每次提交对应一个;它的身份标识 store_id 就是 Chia 上的一个 CHIP-0035 DataLayer singleton launcher id。身份、编译、定价、检索、缓存和溯源全部都是按 capsule 来定义的。
核心论点:盲态主机、客户端验证、链上锚定根哈希
- 盲态主机。 主机只持有以哈希为键的不透明密文。它不持有任何 URN 或密钥,仅原样中继 capsule 自身的输出,也无法分辨命中与未命中。协议中不存在
decoy字段,也没有 CDN —— 内容只通过 dig RPC 提供服务。 - 客户端验证。 每一个字节都会在读取方的设备上,使用针对该资源的 Merkle 包含性证明,对照链上根哈希进行校验,然后再完成认证解密。信任永远不会建立在服务源之上。
- 链上锚定根哈希。 受信任的根哈希只来自 Chia 上的 CHIP-0035 singleton(通过 coinset.org 解析获得),而绝不来自服务端所提供的"最新版本"。
七个层次
| # | 层次 | 定义内容 | 规范参考 |
|---|---|---|---|
| 0 | 身份与命名 | store、capsule、generation;store_id = launcher id | digstore-core::capsule、::urn |
| 0 | URN 与寻址 | urn:dig:chia:… 语法;不含根哈希的 retrieval_key | digstore-core::urn、lib.rs |
| 1 | 密码学 | HKDF 密钥派生函数;AES-256-GCM-SIV 加密封装 | digstore-core::crypto |
| 1 | Merkle 包含性证明 | D5 逐资源叶子节点;NODE_TAG 折叠计算 | digstore-core::merkle |
| 1 | BLS 签名与 DST | Chia AugScheme;五种角色 DST | digstore-crypto::bls |
| 2 | capsule 格式 | DIGS 数据分段(BINDING D1) | digstore-core::datasection |
| 2 | 自我防护模块 | 固定大小的混淆处理;服务端 guest | digstore-compiler、digstore-guest |
| 4 | 链上锚定 | store = singleton;capsule = 根哈希推进 | chip35_dl_coin、digstore-chain |
| 4 | DIG CAT 支付与定价 | 按 capsule 计价、动态调整、锚定美元 | chip35_dl_coin::dig |
| 6 | dig RPC | 机器接口(JSON-RPC 2.0) | hub retrieval、dig-node |
| 5 | §21 传输与推送 | dig:// 定位符、REST、push v1 | digstore-remote |
| 7 | DIG 节点对等网络 | mTLS 对等身份、NAT 穿透、STUN、introducer、中继协议、对等 RPC | dig-gossip、dig-relay、dig-nat、dig-node |
| 6 | 验证与溯源 | 四道有序的完整性关卡 | digstore-core::merkle、dig-node |
| 6 | 盲态主机模型 | 提供者匿名性;解析器;/v1 控制平面 | hub retrieval/resolver/api |
| — | 一致性与对等实现 | 跨实现的一致性纪律 | 固定的黄金基准数据、OpenRPC diff |
(第 3 层和 §21 传输层与读取路径相互交织;表格将它们归类到读者最先遇到的位置。完整的层级编号见各自页面。)
capsule 如何流经各层
一位发布者对内容进行分块加密(L1),封装成一个capsule 格式(L2),该格式能够自我提供服务(L3),随后被锚定上链(L4),并通过 §21 传输层推送出去(L5)。任何客户端都可以通过 dig RPC读取它,并完全在客户端验证它对照链上锚定 根哈希的正确性(L6)。每一个密码学常量在生产者、主机和验证者之间都只有一处定义 —— 这就是 C8 一致性不变式。
术语说明
chia://—— 网络内容地址(浏览器打开的形式)。dig://—— §21 传输层定位符(CLI/对等平面)同时也是 DIG Browser 内部的页面协议 —— 两种不同的用途,绝不作为内容地址。urn:dig:—— 前两者共同派生自的 URN 命名空间。- store / capsule —— 身份及其不可变的 generation。
- $DIG —— 每个 capsule 需要支付的 CAT 代币;DigStore —— 该 store 的格式名称。
相关链接
- 概念与术语表 —— 每个实体只定义一次
- 身份与命名 —— 第 0 层,规范文档的起点
- dig RPC —— 协议的机器接口
- DIG 节点对等网络 —— 节点如何互相发现和连接(mTLS、NAT 穿透、中继)
- 一致性与对等实现 —— 跨实现的一致性纪律