> For the complete documentation index, see [llms.txt](https://docs.rome.builders/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rome.builders/zh/canton-zk-evm/prover-host.md).

# 证明主机

证明者的主机要求、持久化工作进程以及固定的 guest 构建。

证明者使用一个 GPU 工作进程运行 ZisK。协调器和工作进程在请求之间保持运行，并且 PLONK 密钥已加载。对于每个区块，构建器发送输入并接收包装后的证明。

本页介绍 commit `a84e84e439a5cc669c0ae61facf7c8c995d9d564`. 请阅读完整的 [证明者 README](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/prover/README.md) 和 [测量结果](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/docs/METRICS.md).

## 主机要求

安装程序面向 Linux x86-64，且需要 `apt`, `sudo`、已安装的 NVIDIA 驱动程序以及约 100 GB 的可用磁盘空间。它会安装系统软件包并调整内存锁定限制。

2026-10-03 的基准测试使用了一块 NVIDIA RTX PRO 6000 Blackwell Server Edition，配备 96 GB GPU 内存、基于 AMD EPYC 9B45 的 48 个 vCPU，以及 176 GiB 主机内存。系统运行于带有 580.178.04 驱动程序的 Ubuntu 22.04.5。这些规格描述的是被测试的机器；它们并不构成运行证明者所需的最低硬件要求。

基准测试记录到 22.9 GiB 的模拟器共享内存。仅 PLONK 包装层就报告了 30,054,767,337 字节的 GPU 需求，约为 28.0 GiB。GPU 内存峰值使用量为 93.2 GiB，但证明者会为显卡预留一个大型缓冲区。该峰值反映的是缓冲区分配，并不能说明整个证明者最低需要多少 GPU 内存。有关各数值的适用范围，请参见 [测量](/zh/canton-zk-evm/measurements.md) 。

## 构建与运行

脚本使用 [固定值](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/PINS)中的版本。证明者使用 ZisK 1.3.1-alpha、Node 20.20.2 和 snarkjs 0.7.6。浏览器的 Node 版本是单独的。

| 脚本                      | 功能                                                    |
| ----------------------- | ----------------------------------------------------- |
| `prover/install.sh`     | 先检查安装程序固定的校验和，然后安装 GPU 版本、证明密钥和 PLONK 配置。             |
| `prover/build-guest.sh` | 构建 guest ELF 并打印其 SHA-256、programVK、rootC 和 rules 哈希。 |
| `prover/start.sh`       | 启动协调器和一个加载了 PLONK 密钥的 GPU 工作进程。                       |
| `prover/make-input.sh`  | 将已保存的区块、执行见证和创世状态转换为证明者输入。                            |
| `prover/prove-one.sh`   | 对一个输入生成证明，并使用 `cargo-zisk`检查证明，然后将包装后的证明写为十六进制格式。     |

`ZISK_COORDINATOR_URL` 用于选择协调器。其默认值为同一台机器上的协调器。 `network/up.sh` 会构建 guest，并作为本地网络的一部分启动证明者；有关该流程，请参见 [在本地运行它](/zh/canton-zk-evm/run-it-locally.md) 。

构建器默认使用 `prover/prove-one.sh` 通过 `CZE_PROVE_CMD`。该命令接收一个输入文件和输出文件夹，并且必须留下 `wrapped-proof.hex`。其本地 `cargo-zisk` 检查不会强制执行链上固定的 programVK 和 rootC。确认器的 sidecar 会强制执行这些固定值。请参见 [构建器设置](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/builder/README.md#settings).

## 重现 guest 密钥

构建脚本使用一个固定的构建目录，并会拒绝仍包含构建路径的 ELF。请一次只运行一个 guest 构建，因为每次构建都会清空这个共享目录。

在 2026-10-04，两份全新的检出由同一用户在同一台机器上按顺序构建，生成了相同的 ELF 和 programVK。构建分别耗时 133 秒和 126 秒。若要在其他用户或其他机器上重现构建，请确认生成的 programVK 与记录值一致。 `network/up.sh` 如果构建的固定值不同，则会停止。该 [guest README](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/guest/README.md#building) 描述了构建过程及其限制。

## 证明输出

线格式为 1,344 字节：其中 768 字节为 PLONK 证明，32 字节为 programVK，32 字节为 rootC，512 字节为公开值。 `prove-one.sh` 写出十六进制形式以及由 `cargo-zisk-dev export-solidity-calldata`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rome.builders/zh/canton-zk-evm/prover-host.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
