Аннотация

В исследовании сравниваются две полностью реализованные архитектуры. В первой блок входил в каноническую цепь до завершения рекурсивного доказательства, а трёхэтапный фоновый конвейер позднее строил доказательство блока, включал его в рекурсивную историю и продвигал отдельную доказанную вершину. Во второй блок, соответствующий терминал HistoryStep, State и индексы фиксируются как единый атомарный результат. Это переносит подготовку доказательства в критический путь майнинга, но устраняет сохраняемую очередь, частичное продвижение и неоднозначное восстановление: на каждой принятой высоте блок и его рекурсивное доказательство всегда существуют вместе.

Когда блок можно считать принятым?

State — аутентифицированный набор текущих непотраченных выходов и счётчиков консенсуса. HistoryStep — рекурсивный терминал, который доказывает точный переход одного блока от родительского State к дочернему и проверяет предыдущий терминал. Исследование отвечает на простой вопрос: может ли блок войти в каноническую цепь до готовности своего HistoryStep или оба объекта должны приниматься одновременно? Обе архитектуры были реализованы для сравнения автоматов состояний консенсуса, поведения после перезапуска и критического пути майнинга.

Эксперимент 1. Фоновый конвейер доказательств

В эксперименте блоки распределялись по четырём фиксированным классам ёмкости доказательства: B8, B32, B64 и B255. Число в названии означало максимальное количество пользовательских транзакций, которое мог доказать этот класс. Для каждого класса одна криптографически аутентифицированная матрица системы ограничений задавала переход блока, а другая — включение доказательства блока в рекурсивную историю. Девятая матрица задавала начало цепи от генезиса.

Рекурсивное отношение связи — это система ограничений, которая проверяет доказательство одного блока вместе с предыдущим HistoryStep и создаёт следующее звено доказанной истории. Все четыре таких отношения использовали параметр m = 22. Здесь m — двоичный логарифм размера дополненной области свидетеля и ограничений: каждое отношение занимало 2^22 позиций поля. Затем работа проходила три этапа, промежуточное состояние которых сохранялось на диске:

Этап 1Доказательство блокаДоказать одну принятую высоту
Этап 2Рекурсивная связьИспользовать предыдущий терминал
Этап 3Проверить и продвинутьПродвинуть вершину, охваченную рекурсивными доказательствами

Три меньших класса — для блоков не более чем с 64 пользовательскими транзакциями — позволяли одновременно обрабатывать до трёх высот. Максимальный класс B255, рассчитанный на 255 пользовательских транзакций, обрабатывал по одной высоте из-за большей потребности в памяти. Параллельная работа повышала пропускную способность, но в консенсусе появлялись две позиции: вершина канонической цепи и вершина, уже охваченная рекурсивными доказательствами. Сохраняемые задания, строго последовательное продвижение, восстановление после перезапуска и частичное состояние конвейера требовались только для согласования этих двух позиций.

Эксперимент 2. Атомарные PoW и HistoryStep

Альтернативная архитектура определяет одну принимаемую единицу:

принятый блок = канонические байты блока + соответствующий терминал HistoryStep

Кандидат не может изменить State, создать награду или быть объявлен сети, пока терминал не свяжет его точный семантический заголовок и переход State. Байты блока, терминал, State и индексы чеков фиксируются атомарно. Поэтому после перезапуска восстанавливается либо весь пакет, либо отсутствие блока на этой высоте.

Сравнение автоматов состояний

СвойствоФоновый конвейерАтомарный HistoryStep
Прогресс консенсусаВершина цепи и рекурсивно доказанная вершинаОдна принятая высота
Долговечные промежуточные заданияСостояния блока, связи и продвиженияНет
Сценарии перезапускаВосстановить и завершить частичный конвейерПолный пакет либо отсутствующая высота
Задержка доказательстваМожет отставать от производства блоковОплачивается до принятия
Сетевой объектБлок и более позднее состояние покрытияОдин полный пакет

Компромисс

Атомарность не делает доказательство бесплатным. Детерминированная подготовка HistoryStep переходит в путь майнинга; её бюджет должен позволять поддерживаемому оборудованию выпускать кандидаты в темпе сети. Поиск nonce для proof of work остаётся вероятностным и зависит от сложности: это не фиксированная локальная задача на пятнадцать секунд. Измерения классов доказательств приведены отдельно в статье «Почему HistoryStep использует два класса доказательств».

Преимущество заключается не в чистой скорости, а в устранении целого автомата очереди, состояние которого влияло на консенсус.

Результат

Принятое правило

Если рекурсивное доказательство определяет полную валидность блока, оно должно быть частью принимаемого объекта блока. Фоновое доказательство уместно для необязательных индексов и кэшей, но не для второго, видимого консенсусу состояния прогресса.