> 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/ru/canton-zk-evm/prover-host.md).

# Хост prover

Требования к хосту доказывающей стороны, постоянный worker и закреплённая сборка гостя.

Доказатель запускает ZisK с одним GPU-воркером. Координатор и воркер остаются запущенными между запросами, при этом ключ PLONK уже загружен. Для каждого блока сборщик отправляет входные данные и получает упакованное доказательство.

Эта страница описывает коммит `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 ГБ свободного места на диске. Он устанавливает системные пакеты и изменяет ограничения на блокировку памяти.

В бенчмарке от 2026-10-03 использовалась одна NVIDIA RTX PRO 6000 Blackwell Server Edition с 96 ГБ памяти GPU, 48 vCPU на AMD EPYC 9B45 и 176 ГиБ оперативной памяти хоста. Система работала под управлением Ubuntu 22.04.5 с драйвером 580.178.04. Эти характеристики описывают протестированную машину; они не определяют минимальные аппаратные требования для запуска доказателя.

Бенчмарк зафиксировал 22,9 ГиБ общей памяти эмулятора. Только для PLONK wrap было указано требование к GPU в 30 054 767 337 байт, то есть около 28,0 ГиБ. Пиковое использование памяти GPU составило 93,2 ГиБ, однако доказатель выделяет на карте крупный буфер. Этот пик отражает выделение буфера и не показывает, сколько памяти GPU минимально требуется всему доказателю. См. [Измерения](/ru/canton-zk-evm/measurements.md) для понимания области применения каждого числа.

## Сборка и запуск

Скрипты используют версии из [PINS](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 для explorer является отдельной.

| Скрипт                  | Что делает                                                                                                                        |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `prover/install.sh`     | Проверьте закреплённую контрольную сумму установщика, затем установите сборку для GPU, ключ для доказательства и настройку PLONK. |
| `prover/build-guest.sh` | Собирает ELF гостя и выводит его SHA-256, programVK, rootC и хэш rules.                                                           |
| `prover/start.sh`       | Запускает координатор и одного GPU-воркера с загруженным ключом PLONK.                                                            |
| `prover/make-input.sh`  | Преобразует сохранённый блок, witness выполнения и genesis в входные данные для доказателя.                                       |
| `prover/prove-one.sh`   | Доказывает один вход, проверяет доказательство с помощью `cargo-zisk`и записывает упакованное доказательство в виде hex.          |

`ZISK_COORDINATOR_URL` выбирает координатор. По умолчанию используется координатор на той же машине. `network/up.sh` собирает гостя и запускает доказатель в составе локальной сети; следуйте [Запустить локально](/ru/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).

## Воспроизведение ключа гостя

Скрипт сборки использует одну фиксированную папку сборки и отклоняет ELF, который по-прежнему содержит путь к сборке. Запускайте по одной сборке гостя за раз, поскольку каждая сборка очищает эту общую папку.

04.10.2026 два свежих checkout'а, собранные последовательно одним пользователем на одной машине, дали одинаковые ELF и programVK. Сборки заняли 133 с и 126 с. Чтобы воспроизвести сборку как другой пользователь или на другой машине, убедитесь, что полученный programVK совпадает с зафиксированным значением. `network/up.sh` останавливается, если закрепления в сборке отличаются.  [README гостя](https://github.com/rome-protocol/canton-zk-evm/blob/a84e84e439a5cc669c0ae61facf7c8c995d9d564/guest/README.md#building) описывает сборку и её ограничения.

## Выходные данные доказательства

Формат wire — 1 344 байта: 768 байт PLONK-доказательства, 32 байта programVK, 32 байта rootC и 512 байт публичных значений. `prove-one.sh` записывает hex-представление и JSON, полученный от `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/ru/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.
