# 寅图计划注册表

> 用 GitHub 替代区块链，用 GPG 签名替代共识机制。
> 大道至简，每个人都可以独立验证。

## 为什么做注册表

原来寅图计划的序号记录在 `tu.json` 里，由根节点（zkoner.com）维护。这有问题：

| 问题 | 说明 |
|------|------|
| **中心化** | 只有根节点可以写入，其他人只能信任 |
| **不可独立验证** | 根节点可以修改 nodes 数组，你无法阻止 |
| **单点故障** | zkoner.com 一挂，全图记录就查不了 |

用 **GitHub 注册表** 解决：

| 解决 | 怎么做的 |
|------|---------|
| **去中心化写入** | 每个注册是一个 GPG 签名的 git commit |
| **独立验证** | 任何人都可以 `git clone` + `git log --show-signature` |
| **多副本** | 每个 fork 都是完整副本，不依赖单点 |

## 注册表长什么样

```
registry/registrations/
├── 子/00001.json       # 张明夷 — zkoner.com
├── 子/00002.json       # 下一个节点
├── 丑/00003.json       # ...
└── ...                 # 12 地支目录
```

每个注册文件：

```json
{
  "serial": "子-00001",
  "index": 1,
  "name": "张明夷",
  "url": "https://zkoner.com",
  "dizhi": "子",
  "gpgFingerprint": "D2CF37B8CA48772814B3F9023B6E2C5DC1D86108",
  "since": "2026-05-26",
  "statement": "oner行动 创建者"
}
```

## 怎么验证

任何人都可以完全独立地验证整张寅图计划，不需要信任任何人：

```bash
# 1. 克隆注册表
git clone https://github.com/zhangxiaomingv/zkoner.git
cd zkoner/registry

# 2. 看所有 commit 的 GPG 签名
git log --show-signature

# 3. 运行自动化验证
node verify.js
```

**这就是区块链式的可信度，但只需要 Git。**

## 和旧方案的关系

`tu.json` 不再保存完整节点列表，改为引用注册表：

```json
{
  "chainId": "zkoner-2026",
  "chainRoot": "https://zkoner.com",
  "registry": "https://github.com/zhangxiaomingv/zkoner/tree/main/registry",
  "maxIndex": 129600
}
```

所有新的归位申请，直接在注册表中以 git commit 形式记录。

## 核心设计

| 原则 | 说明 |
|------|------|
| 一个 commit = 一个节点 | 每个注册独立提交，历史清晰可追溯 |
| GPG 签名 = 共识 | 密码学签名替代节点投票 |
| Fork = 见证 | 你 fork 了，你的 fork 就是独立见证 |
| 批次 tag = Checkpoint | 定期打签名 tag，作为时间段快照 |

## 如何上图

寅图计划归位免费，但需要根节点审核。

```
1. 自备
   准备好 profile.json / timeline.json / chain.json，部署到你的域名下

2. 发邮件
   发至 243922774@qq.com
   标题：归位申请 - 你的域名
   内容：附上你的网站网址 + 一段简要说明（你是谁、做什么的、为什么上图）

3. 审核
   我收到邮件后查看你的域名文件是否完整
   完整 → 回复告知序号
   不完整 → 回复说明缺什么，补齐后重新审核

4. 安位
   我通过 GPG 签名 commit 在 registry/registrations/ 中创建你的注册文件
   你登录注册表即可看到自己的序号

5. 确认
   将编号填入你的 profile.json 的 identifier.value，重新部署
   从此你在图上了
```

**审核费不？** 不收。免费上图。

---

## 常见问题

**我需要在注册表里操作吗？**
不需要。你只需要在自己的域名下放好三个文件，发邮件给我。注册表由我操作。

**Git 历史可以改写吗？**
可以，但会被发现。因为任何人的 fork 都保留了原始历史。如果有人 force push 篡改历史，其他人一对比 fork 就知道。

**没人 fork 怎么办？**
即使没人 fork，GitHub 本身也保留了完整历史。任何一个 commit 的 SHA 是唯一的，时间戳是公开的。

**这和区块链有什么区别？**
区块链靠多节点投票防止篡改，GitHub 注册表靠三点：① Git 哈希链不可逆 ② GPG 签名数学可验证 ③ 多 fork 副本分布见证。效果等价，成本为零。

---

> 最后更新：2026-06-14（简化归位流程，明确免费+邮箱审核）
