跳到主要内容

证明链

域名以批次为单位注册。每个批次等待约 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 必须等于已知的创世根(一棵空的稀疏默克尔树)。

验证这条链

验证者通过五个步骤检查整段注册历史:

  1. 取得 SP1 验证密钥 — 它由客户程序的二进制文件确定性地推导得出
  2. 从 API 下载所有证明
  3. 用该验证密钥逐一验证每份 SP1 证明
  4. 检查这条链genesis == P1.old_rootP1.new_root == P2.old_root、...、PN.new_root == current_root
  5. 在链上抽样核对 — 在 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})

扫描器从不会因等待证明生成而阻塞。生成器守护进程自行轮询待处理的记录,并且可以运行在独立的硬件上。