证明链
域名以批次为单位注册。每个批次等待约 10 分钟。每个批次产出一份证明。这些证明构成一条自创世起的状态转移链:
genesis_root (empty tree -- known constant)
| +-- "richard.pivx" registered at block 100,
| +-- "john.pivx" registered at block 110,
| ... (could be more registration/update commands)
| ! Proof 1 is generated
| old_root = genesis_root --> new_root_1
| +-- "richard.pivx" put his name on marketplace at block 200,
| +-- "sam.pivx" registered at block 250,
| ... (could be more registration/update commands)
| ! Proof 2 is generated
| old_root = new_root_1 --> new_root_2 (= current root)
每份证明的 old_root 必须等于前一份证明的 new_root。而第一份证明的 old_root 必须等于已知的创世根(一棵空的稀疏默克尔树)。
验证这条链
验证者通过五个步骤检查整段注册历史:
- 取得 SP1 验证密钥 — 它由客户程序的二进制文件确定性地推导得出
- 从 API 下载所有证明
- 用该验证密钥逐一验证每份 SP1 证明
- 检查这条链 —
genesis == P1.old_root、P1.new_root == P2.old_root、...、PN.new_root == current_root - 在链上抽样核对 — 在 PIVX 节点上查找任意一个已承诺的
txid,确认备注、金额和区块都对得上
若所有检查都通过,整段注册历史就是正确的——无需信任索引器。
证明流水线
扫描器与证明生成器彼此独立运行:
PIVX Blockchain
|
PiNS Registrar Scanner (validates, captures SMT state)
|
Database (status: "pending")
|
SP1 Prover (generates ZK proof, verifies it)
|
Database (status: "proved")
|
New checkpoint published
|
Indexer syncs to the checkpoint
|
API Server (GET /v1.0/resolve/{name})
扫描器从不会因等待证明生成而阻塞。生成器守护进程自行轮询待处理的记录,并且可以运行在独立的硬件上。