什么是 PIVX Names?
简介
PIVX Names 是一个运行在链上、基于私密备注(memo)的 PIVX 命名协议。它让你注册像 richard.pivx 这样便于阅读的名称,并把它们映射到 PIVX 地址。每一次注册的正确性都由零知识证明(Zero-Knowledge Proof)来保证。
问题
PIVX 地址太长了。它们长这样:
ps12qtzaw6x3dh35xuukrqgk06e9ffx8szg2n2huqncwjsnj3ajczmklqgcx97kn63vwlge6gj2cmn
解决方案
只需发送一笔 PIVX 交易即可注册名称。索引器监听区块链,校验每一次注册,并构建名称登记簿。随后,零知识证明生成器会产出一份数学证明,表明每一次注册都是正确的。
任何人都可以解析 richard.pivx 取得 Richard 的地址。任何人都可以验证证明。无需信任。
名称规则
| 规则 | 取值 |
|---|---|
| 允许的字符 | a-z、0-9、连字符 |
| 长度 | 1 - 64 个字符 |
| 大小写 | 不区分(以小写存储) |
| 连字符 | 不能位于开头、结尾,也不能连续出现 |
| 顶级区域 | .pivx, .private, .secure, .safe |
注册费用
参见名称注册
| 名称长度 | 费用 |
|---|---|
| 1 个字符 | 10000 PIVX |
| 2 个字符 | 7500 PIVX |
| 3 个字符 | 2400 PIVX |
| 4 个字符 | 700 PIVX |
| 5 个字符 | 350 PIVX |
| 6 个字符 | 175 PIVX |
| 7+ 个字符 | 90 PIVX |
变更费用
| 名称长度 | 费用 |
|---|---|
| 1 个字符 | 15 PIVX |
| 2 个字符 | 12 PIVX |
| 3 个字符 | 10 PIVX |
| 4 个字符 | 9 PIVX |
| 5 个字符 | 8 PIVX |
| 6 个字符 | 7 PIVX |
| 7+ 个字符 | 6 PIVX |
注册方
注册方的协议地址、查看密钥以及锚定合约三者都是公开的。这是有意为之:查看密钥让任何人无需申请许可即可 审计该服务,而合约则是他们用来比对自己计算结果的依据。 协议地址 — 所有命令都发送到这里:
ps1rf97n020fhwycx2nnxfm97ufeyygk9q64h96e5dx304lreg9zl53sas6g3c9gnlfpqw5s4u3zsh
查看密钥 — 可解密该地址曾经收到的一切:
pxviews1qwz6qt2gqqqqpqpyt8fy0k64xunn9fgekcgrukw6lqvks83f2j65qrfjgehv3sqqdvy6xsz3m00yfdg5rg56z04q9uw8z9uwyjnzrh0wn63a6gga3r9jw6rm44rqykywnzxuw20yjq5hn8e09cu4h59xx94g8awapkn2n2x4mslvmr7ql5367436u6608slsjyfyxarczq8pag6sex4288mu3ewyhrr73vccm3cqy8mz9wtp282568cej5qdhatlqqf5s8j2rkhdktshc36cy
锚定合约 — 每一个状态根都发布于此,位于 BNB Smart Chain(chain ID 56):
0x25c7ab6e524a67a9571ac4f02c266658c4e620cb
重放历史必须从一个已知的起点开始,因此链条的两端也都被钉住了。以下就是独立索引器启程时所用的检查点:
| 检查点 | 取值 |
|---|---|
| PIVX 起始区块 | 5536811 — 协议钱包的诞生高度;在它之前不可能存在任何服务交易 |
| 初始状态根 | 0x0000…0000 — 32 个零字节,空登记簿的根 |
| 合约部署区块 | 115332622 |
| 部署交易 | 0xea0025b7…ed774e97 |
初始根并不是秘密:因为在紧凑稀疏默克尔树中,空子树在任何高度都是 32 个零字节:空登记簿哈希出来
就是零,而合约正是以这个值部署的。任何人从区块 5536811 开始重放,都会得到相同的初始状态,无需别人
告知。
有了这些数值,你可以从起始区块扫描 PIVX,解密该服务收到过的每一条命令和每一笔付款,通过
开源索引器重放它们,自己计算出状态根,并用
isRootValid(bytes32) 与合约比对——参见验证证明。若注册方曾经审查、
重排或凭空捏造过某个操作,你算出的根就会与链上的不一致。
索引器自带解析 API,因此你永远不必依赖某个公共端点——包括我们的在内。