Майнингdocs/mining/index.md

Майнинг

Одной вычислительной мощности недостаточно для создания блоков. Майнинг требует State; поиск nonce начинается только после завершения доказательства.

В Parano1d proof of work (PoW) упорядочивает переходы, корректность которых уже установлена. До поиска nonce производитель блока должен следовать канонической цепи, хранить Live State, построить точный следующий переход и завершить рекурсивный HistoryStep.

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

Путь блока в proof-native архитектуре

Роли ноды и вычислителя nonce

Блок принадлежит майнинговой ноде. Нода:

  • следует канонической цепочке и независимо её проверяет;
  • проверяет логические транзакции до помещения в мемпул;
  • выбирает непротиворечивый набор транзакций;
  • фиксирует выплату, комиссии, записи слотов и корень State после блока;
  • доказывает не зависящую от nonce часть блока и предыдущее терминальное доказательство HistoryStep;
  • проверяет выигрышный nonce;
  • атомарно принимает и распространяет полный пакет {block, HistoryStep terminal}.

Поиск nonce может выполняться в том же процессе либо в parano1d-miner. Роль внешнего вычислителя значительно уже:

  • получить одно неизменяемое расписание заголовка Poseidon2b и целевое значение PoW;
  • независимо перебирать значения 128-битного nonce;
  • вернуть ноде найденный кандидат.

Вычислитель не получает ни тело блока, ни Live State, ни другие данные свидетеля, необходимые для построения HistoryStep. Он не может заменить транзакции, изменить корень State или переписать шаблон после построения доказательства.

Одна попытка добычи блока

Производство блока идёт в строгом порядке:

  1. Нода ждёт синхронизации и необходимого кворума аутентифицированных пиров.
  2. Читает каноническую вершину, Live State и допустимые логические транзакции из мемпула.
  3. Выбирает класс доказательства Small, Large или Native и фиксирует все смысловые поля блока-кандидата, кроме nonce.
  4. Вычисляет точные записи слотов и итоговый корень UTXO.
  5. Доказывает новый HistoryStep, включая рекурсивную непрерывность от предыдущего терминального доказательства.
  6. Завершённое доказательство фиксирует один неизменяемый шаблон майнинга.
  7. Встроенный майнер или внешний вычислитель ищет nonce Poseidon2b.
  8. Нода проверяет nonce, запечатывает подготовленное терминальное доказательство, атомарно принимает блок и объявляет его пирам.

Новая каноническая вершина делает незавершённую работу устаревшей. Нода отбрасывает попытку и начинает заново от нового State; старое доказательство никогда не переносится на другого родителя или другой набор транзакций.

Пиры принимают результат только после собственной проверки родителя, HistoryStep, целевого значения PoW и всех консенсусных криптографических обязательств. Из нескольких корректных цепей выбирается цепь с наибольшей накопленной работой.

Два режима майнинга

Режим Построение доказательства Поиск nonce Подходит для
Встроенный Нода Core Нода Core Соло-майнер, бэкенд пула или один сервер
Внешний Нода Core parano1d-miner Отдельный CPU-вычислитель, приватная майнинговая сеть или пул

Оба режима следуют одним правилам консенсуса и создают одинаковые блоки. Внешний режим переносит через RPC только поиск nonce.

Обычный процесс --mode node проверяет и ретранслирует блоки, но не строит шаблоны майнинга.

Кошелёк и Core

Кошелёк предоставляет разделы активов и контрактов. Для майнинга используйте встроенный майнер Core или внешние вычислители. Для отдельной ноды майнинга выберите собственную папку данных. Кошелёк отслеживает подтверждённые награды через свою проверяющую ноду.

Порядок работы описан в разделе майнинг через Core.

Встроенный майнер Core

До создания данных проверьте реальную машину:

sh
parano1d --check-hardware

Запустите Core со встроенным майнером:

sh
parano1d --mode miner --cpu-threads 12

Без --cpu-threads используются все логические CPU, видимые процессу. Если выплата не задана явно, Core использует активный адрес локального кошелька. Отдельный канонический адрес bech32m можно зафиксировать так:

sh
parano1d --mode miner --miner-address o1...

Следите за готовностью и цепью из другого терминала:

sh
parano1d-cli status
parano1d-cli peers
parano1d-cli mining

Если Core не синхронизирован или нет аутентифицированного пира, он ждёт и не майнит изолированное локальное представление. Полная серверная установка с systemd описана в разделе Встроенный майнинг.

Внешний вычислитель nonce

Запустите ноду, которая владеет внешними шаблонами и строит для них доказательства:

sh
parano1d \
  --mode extminer \
  --mining-key-file ~/.parano1d/mining.key

Подключите вычислитель к RPC ноды через локальный интерфейс:

sh
parano1d-miner \
  --rpc http://127.0.0.1:9601 \
  --key-file ~/.parano1d/mining.key \
  --threads 12

До выдачи шаблона нода полностью строит доказательство. Вычислитель ищет nonce и отправляет только результат. Шаблоны одноразовые, истекают через 30 секунд и сразу устаревают после принятия конкурирующей вершины.

Удалённый вычислитель должен подключаться через аутентифицированную закрытую сеть или TLS-прокси с ограничениями межсетевого экрана. Токен доступа аутентифицирует вычислитель, но не шифрует обычный HTTP. Он разрешает только getBlockTemplate и submitBlock, без доступа к кошельку или управлению нодой. Старые параметры --mining-key и --key совместимы, но защищённые файлы не раскрывают токен в аргументах процесса.

По умолчанию выплатой управляет нода. Возможность аутентифицированному вычислителю запросить собственную выплату — явное решение оператора. Удалённая конфигурация и граница доверия описаны в разделе Внешний майнер.

CPU и ёмкость доказательства

Для production нужны SSE4.1 + PCLMULQDQ на x86-64 или NEON + PMULL на ARM64. Backend выбирается при запуске. Доказательство и PoW делят бюджет потоков; оставляйте ресурсы кошельку и P2P.

Банк аутентифицирует три класса:

Класс Страницы Живые входы Вызовы ABI 3
Small, m23 63 504 63
Large, m24 206 504 63
Native, m24 63 504 63

Small и Large обрабатывают платежи NOID и вызовы ABI 3. Native также обрабатывает токены, launchpad, DEX и NFT. Узел автоматически рассматривает Small и Native. Флаг --v2-large-blocks дополнительно разрешает Large. Выбирается кандидат с наибольшими доступными комиссиями. При равенстве сохраняется более ранний кандидат, Small рассматривается первым. Узел строит одно доказательство. Обновлённые узлы проверяют все три класса.

Лимиты страниц, входов и вызовов действуют одновременно. Основной coinbase выделен отдельно. Дополнительная системная выплата занимает одну эффективную страницу. getContractProtocol и getNativeProtocol возвращают бюджеты.

См. производительность и правила Native finance.

Сложность, награды и подтверждения

ASERT регулирует целевое значение PoW Poseidon2b по полному интервалу между принятыми блоками. Средняя цель в 30 секунд относится ко всему интервалу, включая подготовку доказательства, поиск nonce и распространение блока. Побеждает цепь с наибольшей накопленной работой; при равной работе применяется каноническое правило выбора по хэшу блока.

Текущая субсидия определяется расписанием по высоте: ступень меняется каждые 1 051 200 блоков. Её показывает:

sh
parano1d-cli mining

В течение трёхлетнего периода финансирования разработки майнер получает 90% субсидии блока. После консенсусного сжигания за рост State майнеру также принадлежат доступные комиссии транзакций. После завершения периода всю субсидию блока получает майнер.

Локально найденный блок не становится окончательным балансом мгновенно. С каждым корректным потомком глубина подтверждения растёт; внутри окна конкуренции неглубокая реорганизация с большей работой всё ещё может его заменить.

Майнинг и децентрализация

Одной вычислительной мощности автономному майнеру недостаточно. Его нода должна оставаться актуальной, проверять входящую работу, строить следующий State и доказывать его до того, как какой-либо вычислитель nonce получит полезный шаблон. Если такая нода принимает входящие P2P-соединения, та же инфраструктура ретранслирует транзакции и блоки и обслуживает синхронизацию сети.

Внешние вычислители и пулы остаются возможны: одна доказывающая нода может обслуживать несколько вычислителей nonce. Специализированному оборудованию для nonce по-прежнему нужна нода, способная строить корректные доказательства блоков с требуемой скоростью.

Точное отношение заголовка описано в разделе Proof of work, реализация конвейера — в Производстве блока.

Техническая документация ParanO(1)dПоведение консенсуса определяется исходным кодом.