Инварианты консенсуса
Эти инварианты описывают смысл каждой принятой канонической вершины цепи. Они служат картой для проверки реализаций и изменений протокола, а не вторым источником констант консенсуса. При расхождении приоритет имеют исполняемые правила.
Непрерывность цепочки
Каждый заголовок после генезиса указывает идентификатор своего точного родителя с nonce и увеличивает высоту на единицу. Его временная метка, целевое значение и PoW удовлетворяют детерминированным правилам, выведенным из канонической истории.
Выбор ветви сравнивает накопленную работу только допустимых кандидатов, сохраняющих жёстко финализированный префикс. При равной работе детерминированно выбирается меньший хеш вершины цепи.
Атомарная проверка блока
Блок и соответствующее терминальное доказательство HistoryStep
образуют один принимаемый пакет.
Ни один объект не может попасть в каноническую цепочку без другого.
Терминальное доказательство связывает семантический заголовок без nonce, включая обязательства
транзакций и State после перехода. Затем заголовок с nonce отдельно проверяется
на соответствие PoW и связь с родителем.
Каноническая группировка транзакций
Каждое физическое тело Tx8x2 занимает одну фиксированную 323-байтную
страницу. Логический PagedSpend — одна непрерывная, канонически упорядоченная
группа из 1–128 страниц. Метаданные группы, заполнение и поля обязательств обязаны
согласовываться на всех страницах.
ID логической транзакции фиксирует всю упорядоченную группу. Перестановка, вставка, удаление или изменение страницы меняет логическую транзакцию.
Полномочия расходования
Каждый пользовательский вход покрыт корректной капсулой авторизации, привязанной к ID логической транзакции и владельцу входа. Проверка устанавливает знание 256-битного секрета владельца, не помещая этот секрет в транзакцию.
Сетевые ключи пиров, метки кошелька и локальное состояние обнаружения адресов не имеют полномочий расходования.
Точный переход State
Для каждой принятой логической транзакции:
- каждый входной слот занят в родительском
State; - его владелец, сумма и
creation_idсовпадают с указанной записью; - каждый вход расходуется не более одного раза;
- каждый целевой слот выхода пуст до аллокации;
- ни один целевой слот не выделяется дважды;
- после точной комиссии сохраняется значение;
- полученные счётчики, корни сегментов и глобальный корень точны.
Незатронутые ветви State переходят без изменений. Ноды применяют
канонические записи, раскрытые доказанным переходом, и не создают альтернативный
результат исполнения.
Безопасное повторное использование слотов
Числовой слот можно использовать повторно после его освобождения. Монотонно
растущий creation_id различает последовательных владельцев. Ссылка на
предыдущую запись не может потратить новый выход по тому же индексу.
Эмиссия и системные записи
Первое тело — точная основная награда, требуемая для блока. На границе очередной выплаты фондам развития следующее тело является точной обязательной системной выплатой. Пользовательская транзакция не может заменить, пропустить или изменить обязательную системную запись.
Остальное значение входит и выходит из пользовательских транзакций только
через явные входы, выходы и комиссии. Компонент роста State сжигается, а не
перенаправляется незаметно майнеру или фонду.
Рекурсивная непрерывность
Каждый HistoryStep проверяет предыдущее терминальное доказательство и полный текущий
публичный переход. Корректная вершина цепи тем самым несёт рекурсивную
непрерывность от начала цепочки до своего точного State после перехода.
PoW не может сделать некорректное терминальное доказательство допустимым. Корректное терминальное доказательство не заменяет PoW или выбор ветви по накопленной работе.
Жёстко финализированные решения
Глубина отката строго меньше 18 блоков. Кандидат, меняющий более глубокий финализированный префикс, не участвует в выборе.
Правило расширения State учитывает только уже жёстко финализированное окно из 18
заголовков. Требуются как минимум 10 наблюдений с занятостью от 75%;
разделение 9/9 расширения не вызывает. Временное ответвление у вершины цепи не способно
переключать вместимость.
Аутентифицированная синхронизация
Пир, передающий снимок, служит только источником байтов. До установки подключающаяся нода проверяет согласованность:
- проверенного постоянного заголовка на финализированной границе;
- соответствующего рекурсивного терминального доказательства;
- высоты, корня
Stateи счётчиков манифеста; - идентификатора, длины и корня каждого сегмента;
- восстановленного точного глобального корня.
Данные снимка-кандидата готовятся отдельно и становятся каноническими одной
транзакцией. Прерванная или некорректная передача не может оставить частично
установленный State.
Граница политики
Выбор ретрансляции, динамическая граница комиссии, оценка репутации пиров, число потоков майнинга и порядок транзакций — локальная политика. Она определяет, что нода хранит или майнит, но не меняет допустимость блока, удовлетворяющего консенсусу.
Изменения любого инварианта требуют граничных тестов из раздела «Тестирование». Константы и формулы собраны в параметрах консенсуса.