# 发布说明

> 远地虚拟机 v1.0.0，首个版本。它证明什么、包含什么、如何测量与检验，以及已知的限制。

## v1.0.0

远地虚拟机的首个版本：一台证明 RV32IMAC 程序、并把证明结算到以太坊上的 RISC-V zkVM。本站转载的规范，是代码仓库在源码修订版 `3571370` 时的 `docs/`。

### 它证明什么

一个由其映像摘要所指明的程序，在某个公开输入上运行到某个退出状态，并写出了一份公开输出（journal）；这份证明经由递归树汇成一份 Groth16 证明，由 `ApogeeVerifier.sol` 检验。证明是简洁的，但不是零知识的。

### 发布内容

- **机器。** 单 hart 的 RV32IMAC；RV32IMA 的 59 条指令，压缩指令在加载时展开；客户程序（guest）SDK，为输入、证明者提示（advice）和输出提供三个内存区域。
- **证明系统。** BN254 标量域上的 23 个电路族，每个都是分层 GKR 电路：七个指令电路族、五个内存窗口电路族、六个委托和五个递归电路族。覆盖整个执行过程的单一读/写内存多重集；五个通道上的 LogUp 查找（lookup）。
- **委托。** `KECCAK_F`、`SHA256_COMP`、`POSEIDON2`、`FR_ARITH`、`MOD_MUL` 和 `EC_ADD`，可从 SDK 调用，也可从打过补丁的 `k256`、`ark-ff` 和 `revm-precompile` 调用。
- **承诺。** 基于 KZG 的 Mercury，建立在 PSE 的 perpetual powers of tau 之上，每个分片一个 704 字节的打开证明；为递归提供延迟验证。
- **证明者。** 两遍式流式证明者，内存占用取决于同时处理中的分片。
- **结算。** 由叶程序和节点程序组成的递归树，采用带域内存和四个协处理器的递归格式；带绑定线和两阶段仪式的 Groth16 判定器；`ApogeeVerifier.sol`。
- **以太坊工作负载。** 一个 revm 客户程序，包含一个 mini-block 二进制程序，以及支持 Osaka、BPO1、BPO2 和 Amsterdam 的无状态校验器。
- **工具。** `bench`、周期分析器、证明者的调试日志、`checker`、`artifact-dump`、`verifier` CLI、`kat-gen`，以及两个参照实现（reference oracle）。
- **不依赖外部密码学库。** 域、曲线、配对、MSM、哈希、PCS、GKR 和 Groth16 都在仓库内实现。

### 实测数据

`glamsterdam-devnet-8` 的第 257,510 号区块（60 笔交易，101.5 Mgas，198M 个周期）：包含 207 个分片的基础证明，在 32 vCPU 上耗时 2,481 s，内存峰值 174 GiB；包含 116 个分片的递归树；耗时 18.5 s 的判定器证明；链上验证消耗 3,620,026 gas。全部 67,251 个 `tests-zkevm` v21.0.1 测试对在原生运行下一致。[性能](https://apogee.gweb3networks.com/docs/architecture/performance)页面列出了每一个数据。

### 已知限制

不是零知识的；证明者提示在设计上不受绑定；公开输入和公开输出各至多 16,380 字节；`sc.w` 总是成功；陷入（trap）不可证明；基础委托固定为六种；证明者的内存由同时处理中的分片决定；判定器密钥随根的形状而定，其可信程度取决于它的仪式。[安全模型](https://apogee.gweb3networks.com/docs/architecture/security#limits)列出了每一项限制及其原因。

### 文档

本站提供英文、法文（加拿大）、简体中文和德文版本，各语言版本中的规范原文均为英文。[AI 随行手册](https://apogee.gweb3networks.com/docs/launch/ai-companion)和 [`llms.txt`](/llms.txt) 面向 AI 智能体。
