Архитектура
Parano1d переносит каждую обязанность доказательства туда, где уже находится соответствующий свидетель. Кошелёк знает секрет расходования. У майнера есть публичный свидетель — Live State. Полная нода не использует эти данные как свидетель: она проверяет полученные доказательства и материализует доказанные записи.
Граница доказательств
Кошелёк и майнер доказывают разные утверждения.
Кошелёк доказывает знание 256-битного секрета каждого владельца входа и привязывает авторизацию к полной логической транзакции. Он не доказывает, что вход не потрачен в Live State, поскольку актуальный путь Merkle ему не нужен.
Майнер доказывает публичное утверждение об исполнении: входы существуют,
выходные слоты пусты, значения сбалансированы, комиссии соответствуют
консенсусу, записи слотов точны, а полученный корень UTXO корректен. Внутри
нового доказательства он также проверяет предыдущее
терминальное доказательство HistoryStep.
Такое разделение оставляет приватную авторизацию внутри кошелька и одновременно позволяет публичному свидетелю — Live State — измениться между построением транзакции и включением в блок.
| Этап | Получает | Проверяет или доказывает |
|---|---|---|
| Кошелёк | Секрет и принадлежащие ему UTXO | Одну рандомизированную авторизацию, привязанную к логической транзакции |
| Мемпул | Логический PagedSpend |
Допустимость капсулы, структуры, лимитов, комиссий и резервирований |
| Майнер | Принятые логические транзакции и Live State | Точный переход State и рекурсивную непрерывность |
| Полная нода | Блок и терминальное доказательство | Корректность HistoryStep, PoW и канонического родителя |
Путь транзакции и блока
- Кошелёк выбирает активные UTXO и строит один логический
PagedSpend. - Он создаёт новую капсулу авторизации для
{logical_txid, input_owner}. - Мемпул проверяет полную логическую транзакцию до сохранения и ретрансляции.
- Майнер выбирает неконфликтующие транзакции и вычисляет точные записи слотов.
- Майнер доказывает отношение блока и предыдущее терминальное доказательство, затем ищет nonce фиксированного заголовка Poseidon2b.
- Пиры проверяют атомарный пакет
{block, terminal}и применяют его доказанные записи к MDBX.
Ни один пир не повторяет построение доказательства кошельком или исполнение майнера. Майнер не
может компенсировать некорректную авторизацию, а вычислительная мощность не может
сделать некорректный HistoryStep допустимым.
Рекурсивная непрерывность
Концептуально терминальное доказательство T[h] подтверждает три свойства:
- блок
hудовлетворяет публичному отношению блока; - его корень и счётчики
Stateпосле перехода являются точным результатом доказанных записей; - терминальное доказательство
T[h-1]проходит проверку, а его аккумулятор задаёт точную границуStateперед блокомh.
Следующий блок проверяет T[h] внутри собственного отношения. Корректность
цепочки накапливается рекурсивно, тогда как формат терминального доказательства остаётся
фиксированным. Между конкурирующими допустимыми ветвями по-прежнему выбирает
накопленная работа; рекурсия не заменяет PoW.
Материализация State
Результат проверки — набор канонических записей слотов. Полная нода применяет их к точному разреженному вектору UTXO, а не исполняет логику транзакций заново.
Слоты размещены в сегментах по 2^16 записей. Пустые сегменты виртуальны.
Очистка последнего занятого слота удаляет сегмент, а при создании выхода
сначала используется свободный слот и только затем расширяется State.
Новый creation_id не позволяет старой ссылке снова стать допустимой при повторном
использовании того же индекса.
Ноды хранят компактные заголовки для сравнения накопленной работы и последние 18 полных блоков для обычной синхронизации и неглубоких реорганизаций. Старые тела транзакций активному консенсусу не нужны. Чеки сохраняют независимо проверяемое доказательство включения платежа после выхода тела блока из этого окна.
Подключение к сети
Небольшое отставание закрывается сохранёнными полными блоками. При большем
отставании подключающаяся нода загружает во временную область заголовки и
аутентифицированный снимок State. До установки State снимок
проверяет цепочку накопленной работы, финализированную границу и соответствующее
терминальное доказательство HistoryStep. Затем обычным способом проверяется недавний суффикс.
Снимок не является доверенной контрольной точкой. Это лишь способ передать
State, корень и историческая граница которого аутентифицированы консенсусом.
Граница майнинга
Майнер сначала доказывает все данные, не зависящие от nonce. После этого PoW
ищет только 128-битный nonce фиксированного заголовка Poseidon2b. У PoW остаётся
одна задача: упорядочивать допустимые переходы State.
Внешний майнер получает неизменяемый одноразовый шаблон и возвращает только
nonce. Выбор транзакций, переход State, построение доказательства и
ретрансляция блока остаются внутри ноды. После выдачи шаблона внешний вычислитель не
может изменить его выплату, транзакции или корень State.
Карта реализации
| Компонент | Ответственность |
|---|---|
noid_tx |
Логический PagedSpend, идентификаторы транзакций и привязка авторизации |
noid_mempool |
Приём логических транзакций, резервирование конфликтов и политика ретрансляции |
noid_miner |
Выбор транзакций, Live State как свидетель, подготовка блока и PoW |
noid_recursive |
Отношение HistoryStep, проверка терминального доказательства и рекурсия |
noid_chain |
Правила консенсуса, State в MDBX, заголовки, реорганизация и снимки |
noid_p2p |
Ретрансляция GossipSub, обнаружение и протоколы синхронизации |
noid_node |
Координация компонентов во время исполнения, интеграция кошелька и завершение работы |
noid_rpc |
Локальный интерфейс ноды, кошелька и внешнего майнинга |
Практическое развёртывание описано в разделе «Запуск ноды в Linux».