# AI 2040 验证
**这是对 AI Futures Project 提出的计算治理验证架构(见 [*AI 2040: Plan A*](https://ai-2040.com))部分内容的一个可运行实现。**
真实的受训模型。真实的服务器。针对该真实服务器的真实红队攻击。发现并报告的真实 Bug,而非被悄悄修复和隐瞒。
[](#progress)
[](#progress)
[](https://github.com/AnonRish/ai-2040-verification/actions/workflows/ci.yml)
[](./tap_reader)
[](#repository-layout)
[](./wipe_daemon.c)
[](#license)
这不是一份仅描述验证系统*应该*做什么的演示文稿。这是一次切实尝试,旨在构建那些可以在没有 GPU 且只有一个 CPU 核心的沙箱中实际构建出来的组件:一个小型但真正经过训练的字符级语言模型、一个真实的 FastAPI + PostgreSQL 推理验证服务器、一条真实的 Rust 抓包和哈希 pipeline、真实的 LoRA 后门适配器、针对上述真实服务器运行的真实红队脚本,以及一个带有真实签名验证的真实防篡改日志。
**状态:工作正在进行中,我们选择在此刻主动公开,而不是有所保留。** 计划中的 30 个章节已有 21 个完成草稿。请参阅下方的 [进度](#progress),或 [`ai-2040-verification.md`](./ai-2040-verification.md) 顶部的权威表格。
## 目录
- [本项目存在的原因](#why-this-exists)
- [包含的实际内容](#whats-actually-here)
- [架构](#architecture)
- [重要发现](#notable-findings)
- [进度](#progress)
- [仓库结构](#repository-layout)
- [快速开始](#getting-started)
- [已知局限性](#known-limitations)
- [来源与先前工作](#sources-and-prior-work)
- [许可证](#license)
## 本项目存在的原因
AI Futures Project 的 *AI 2040: Plan A* —— 特别是其 [验证计划附录](https://ai-2040.com/supplements/verification-plan)(Romeo Dean,2026 年 7 月)—— 勾勒了一种计算治理机制,该机制松散地参考了军备控制条约的核查方式:在数据中心网络中进行被动监听、对抽样的推理请求进行统计性重新计算、由验证者发布随机数以防止证明者弄虚作假、定期擦除内存,以及基于国际原子能机构(IAEA)的核保障概念(显著量、探测概率、转换时间)建立的物理安全审计。
那只是一份设计文档。本仓库试图探究其中有多少内容能在与现实沙箱的接触中保留下来:在今天到底有哪些是真正可构建和可测试的、真正的瓶颈在哪里(这是一个目前还没有现成商用解决方案的链路预算问题;一个在三种独立测量的存储系统上都会出现的磁盘写入崩溃现象;一个具有真实、可量化的盲区的检测方案),以及哪些必须诚实地作为设计估算保留下来,因为这里没有测试它的硬件条件。
## 包含的实际内容
[`ai-2040-verification.md`](./ai-2040-verification.md) 的每一节都遵循相同的准则:一份技术说明、一个可运行且经过测试的代码工件,以及一个 **自检**,明确说明哪些是已被证明的,哪些仍然只是设计估算。这种准则实际上捕捉到了一些真正的问题,而不是将它们掩盖过去:
- 一个流重组 Bug:CRLF 刚好在 TCP segment 边界处被拆分时会导致解析器挂起 —— 通过逐字节的分片测试捕捉到,已修复并记录在案。
- 一次蒸馏过程在需要针对教师模型进行软 KL 散度计算的地方,却使用了硬标签梯度 —— 这是早期训练阶段的一个真实 Bug,而不是模型设计的选择。
- `-O2` 优化静默地消除了“证书”机制本应认证的非常关键的死代码字段,导致两个*声明方式不同*的工作负载被编译成了在比特级别上完全相同的二进制文件。
- 另一份 AI 生成的文档中的“512位 RSA”实现,在实际运行时,其第一次输入就产生了 `Baseline Check: False` —— 模数实际上是 79 位而不是 512 位,并且 `p × q` 并不等于所声明的 `n`。
沙箱限制(没有 GPU、无法获取预训练权重、一个逻辑 CPU、约 5GB 可用磁盘空间)在所有约束结果的地方都进行了明确说明,而不是将其粉饰过去。
## 架构

证明者的设施(存储库、推理单元、一个没有逻辑、固件或状态的被动光分路器)通过单向信任边界将前端流量镜像到由验证者控制的重新计算服务器中。该服务器在验证者提供的 seed 下重新运行采样的请求,并根据针对每个模型校准的阈值对偏差进行评分,同时将其记录到哈希链式、经过签名的记录中。图中的 `§` 标记指向 `ai-2040-verification.md` 中构建和测试该部分内容的章节。
## 重要发现
以下是六项通过实际运行得出,而非纸上谈兵的结果:
| 发现 | 章节 |
|---|---|
| 触发条件式的 LoRA 后门在休眠状态下对输出级别的验证是**完全不可见的**(100% 通过率,与诚实模型无异)—— 而在触发条件出现的瞬间,它就会崩溃至最大偏差上限(8.0 中的约 7.98)。 | [§9](./ai-2040-verification.md) |
| 在 12 种不同的归约分组下对相同的 4,096 个 float32 值求和 —— 以此代表 GPU kernel 根据不同 batch size 选择不同形状 —— 从一个标准的数学求和中产生了 **9 种不同的位级结果**。单一固定的归约树将其精确地折叠为 1,在 CPU 规模上重现了 Thinking Machines Lab 在真实 GPU 上发现的机制。 | [§7](./ai-2040-verification.md) |
| 在所有测试的 temperature 下,高于 0.99 的综合 AUC *看起来*像是实现了干净的分离 —— 但实际上站得住脚的阈值显示,跨家族的泄露率在 T=0.3 时从 7.5% 攀升至 T=1.6 时的 17.5%。事实证明,temperature 是一个真实存在的可探测性杠杆,而不仅仅是一个解码参数。 | [§11](./ai-2040-verification.md) |
| 一个将高达一半容差预算花费在每个 token 上的隐写攻击者,通过 30 个 token 的输出偷偷传递了约 75% 的 20 位隐藏 payload,同时以 100% 的通过率通过了所有偏差检查 —— 最终仅被一个以约 124,000 倍于诚实基线速率运行的辅助性、逐 token 分布检查所捕获。 | [§10](./ai-2040-verification.md) |
| 每个针对采样网关 keyed PRF 测试的攻击者 —— 包括一个在 480,000 个标注样本上训练的 logistic regression —— 都保持在信息量为零的 AUC 0.5 的 0.005 范围内。而一个被授予了真实密钥的 oracle 则获得了完美的 1.0 分。不可预测性之所以成立,是因为密钥的保密性,而非算法的保密性,这是被证明出来的,而不是假设出来的。 | [§3](./ai-2040-verification.md) |
| 一种真实的“突发写入后崩溃”现象独立重现于**三种不同的存储系统** —— 本沙箱自带的云块存储、另一个 AI 系统的独立沙箱,以及所引用的真实 NVMe 硬件 —— 其量级各不相同,但具有相同的定性形状,这比对比中的任何单一数值都更有价值。 | [§15](./ai-2040-verification.md) |
## 进度
| 部分 | 章节 | 状态 |
|---|---|---|
| I — 架构 | §1 | ✅ 已起草 |
| II — 正确性 | §2–§14 | ✅ 已起草 |
| III — 完整性 | §15–§18 | ✅ 已起草 |
| IV — 物理与运营信任 | §19–§21 | ✅ 已起草 |
| | §22 大规模 TAP 安装与监控 | 🚧 进行中 |
| | §23 工作负载审批 | ⏳ 待处理 |
| V — 超越仅推理阶段 | §24–§25 | ⏳ 待处理 |
| VI — 前沿领域 | §26 | ⏳ 待处理 |
| VII — 统筹协调 | §27–§28 | ⏳ 待处理 |
| VIII — 其他方向 | §29–§30 | ⏳ 待处理 |
各章节的详细内容(每一节都包含自己的 **自检** 和 **使用的来源**)位于 [`ai-2040-verification.md`](./ai-2040-verification.md) 中。
## 仓库结构
```
ai-2040-verification.md The document. Every drafted section: write-up, self-check, sources.
docs/
architecture.svg The topology diagram embedded above.
*.py DiFR verification server, the trained character-LM, LoRA backdoor
adapters, the red-team suite, calibration sweeps, tamper-evident log.
*.json Real output from actual runs of the scripts above.
wipe_daemon.c Memory-wipe daemon (§15) — AES-NI DAG labeling + full overwrite.
verifier.py independently re-checks its output with a maintained
crypto library rather than sharing code with the daemon.
tap_reader/ Rust crate: passive-tap parsing, hashing, HTTP chunked/SSE stream
reassembly, a lock-free evidence ring buffer, the sampling gateway,
and Merkle/epoch commitments (§2–§4). Has its own README.
```
## 快速开始
**Rust (`tap_reader/`)** 是完全自包含的:
```
cd tap_reader
cargo build --release
cargo test --release # 17/17 unit tests
```
有关各个独立的 benchmark 二进制文件,请参阅 [`tap_reader/README.md`](./tap_reader/README.md)。
**Python** 需要 `pip install -r requirements.txt`。一些脚本依赖于由*其他*脚本生成的工件,而不是此处提交的内容 —— 这与不提交大型二进制文件的原则一致:
1. `train.py` 需要 `shakespeare.txt`(tiny-shakespeare 语料库 —— 参见 [来源](#sources-and-prior-work)),并生成 `charlm.pkl` + `vocab.pkl`。
2. `train_variants.py`(需要 `charlm.pkl`)生成在整个红队和校准章节中使用的同家族和跨家族检查点。
3. `lora.py`(需要 `charlm.pkl` + `vocab.pkl`)生成后门适配器。
在运行任何加载 `.pkl` 检查点的内容(`server.py`、`test_suite.py`、`redteam.py`、`calibration.py` 等)之前,请按上述顺序运行这三个脚本。`db.py` 需要一个与该文件顶部的 DSN 相匹配的本地 PostgreSQL 实例。
## 已知局限性
在此处的声明方式与整个文档中的声明方式相同,没有任何淡化:
- **任何地方都没有 GPU。** “受训语言模型”是一个基于 NumPy 的小型字符级模型(8 字符上下文,65-token 词汇表) —— 真实的权重、真实的反向传播、真实的习得结构,但在能力上远远不及前沿模型。文档中的每一项声明都是关于*验证协议*的,绝不意味着它可以代替前沿模型。
- **只有一个逻辑 CPU,没有支持 DPDK 的网卡。** Rust 的吞吐量数值是在此容器上测得的软件上限,而不是真实网卡/真实 DMA 的抓包数值 —— 在文档中使用它们的每一个地方都进行了明确说明。
- **一个已知且未闭合的检测盲区。** §9 发现并经 §10 确认,休眠状态下的触发条件式后门在结构上对输出级别的统计验证是不可见的。这并非被隐瞒 —— 这正是 §10(红队)和 §12(反隐写术)存在的原因。
- **还剩下 9 个章节**,其中包括至少一节(§13 的原始指令绕过)文档本身将其视为一种策略依赖,而不是单靠验证机制就能解决的问题。
## 来源与先前工作
- AI Futures Project,[*AI 2040: Plan A*](https://ai-2040.com) —— 验证计划附录(Romeo Dean),2026 年 7 月。
- Karvonen, Reuter, Rinberg, Marks, Garriga-Alonso, Warr, ["DiFR: Inference Verification Despite Nondeterminism,"](https://arxiv.org/abs/2511.20621) arXiv:2511.20621。
- He et al. (Thinking Machines Lab), "Defeating Nondeterminism in LLM Inference," 2025 年 9 月 —— §7 在 CPU 规模上重现了 batch-invariant-kernels 的发现。
- Bursuc, Gil-Pons, Mauw, Trujillo-Rasua, ["Software-Based Memory Erasure with Relaxed Isolation Requirements,"](https://arxiv.org/abs/2401.06626) arXiv:2401.06626, CSF 2024 —— 内存擦除 daemon 的安全论证。
- `karpathy/char-rnn` (tiny-shakespeare 语料库) —— 替代语言模型的训练数据。
每一个起草的章节都在其使用的地方完整列出了自己的来源 —— 此列表仅包含经常引用的内容,而不是完整的参考书目。
## 许可证
尚未选择许可证,默认情况下这意味着**保留所有权利** —— 未经许可,任何其他人不得合法复制、修改或 redistribute 本项目,无论代码是否公开可见。如果初衷是希望他人切实使用或在此基础上进行开发,则需要添加许可证。这不是法律建议,只是事实上的默认情况;对于此类,以下是一些常见的、低摩擦的选项:
| 选项 | 作用 |
|---|---|
| **MIT** | 对代码给予最大程度的许可。任何人都可以使用、修改和 redistribute(包括商业用途),只要保留许可证文本即可。 |
| **Apache-2.0** | 宽松度相似,但增加了明确的专利授权 —— 通常更受任何与安全或基础设施相关项目的青睐。 |
| **CC-BY-4.0** | 如果文档本身是共享的主要内容,则它比代码更适合这份说明文档(`ai-2040-verification.md`) —— 要求署名,允许重用。 |
GitHub 可以为你添加其中的大多数许可证:**Settings → General → Add a license file**。