лаборатория · всё считается локально · никуда не отправляется Главная · Протокол
S Shroud
lab · bench 01–06
LAB / 01–06

Протокол — руками, в браузере

Шесть стендов плюс журнал с итогами. Математика — как в node/src/fhe.rs и @shroud/sdk (квантование, reference-SGD, keccak-транскрипт, STAR-референс), сверено скриптом web/tests/equiv.mjs. Демо-раскладка шарда — shroud/noop/v1 (боевая — relayer/TFHE, смысл байтов тот же). Итог — веса, дайджесты и JSON-отчёт.

Честно о стендеReference-движок считает в открытую из демо-байтов (dev-путь узла: shroud/noop/v1, без шифрования). Боевой TFHE-путь включается флагом prover, полной ончейн-проверки STARK пока нет, первого живого commitEpoch ещё не было — см. docs/05 §8. Дефолтный lr 0.05 даёт lrQ16 3277, а золотые векторы пинят 3276 (см. vectors.json) — сверяйся с векторами при том же lrQ16. Стенд показывает порядок шагов и форматы, а не криптографические гарантии.
Быстрый запуск

Нажми одну кнопку: данные зашифруются, эпоха посчитается, выплаты рассчитаются. Подробности — в журнале.

здесь появится итог простыми словами
Стенд 01 — данные

CSV «признаки,метка», по строке на запись. Числа с точкой; разделитель — запятая, точка с запятой, пробел или табуляция. Только неотрицательные — TFHE шифрует беззнаковые целые.

нажмите «Разобрать CSV»
Стенд 02 — сборка шарда

Собирает shroud/noop/v1 shard локально: хэш-байты, row-commitment, CID = keccak(байтов). Plaintext никуда не уходит.

ждёт шага 01 → 02
Стенд 03 — задача и бюджет

createTask(budget, params) эскроуирует ровно названное. Деление пулов — как в CipherTask._settle.

ждёт фиксации
Стенд 04 — эпоха узла

Детерминированный fixed-point SGD (reference-cpu). Тот же шаг повторит любой узел — иначе спор.

ждёт эпохи
Стенд 05 — proof-of-compute

Транскрипт связывает chainId, задачу, ctRoot, прошлые веса и новые. Формат байт-в-байт как в узле.

ждёт эпохи 04
—
Стенд 06 — settlement

Выплаты по пулам + постраничный settleFrom. Каналы — EIP-712 слайсы через PaymentVault.

ждёт расчёта