Merged Mining позволяет использовать один поиск хеша, результата вычисления при майнинге, для нескольких совместимых сетей. Блок — это группа транзакций, которую предлагают добавить в публичную историю сети. Майнеры ищут результат вычисления, позволяющий представить этот блок другим участникам для проверки. Каждая сеть сохраняет свою историю и правила. Общая работа сама по себе не означает общих монет или одинаковой безопасности.
Ян майнит через Mining Pool, сервис, координирующий работу майнеров. Однажды он видит в панели и награду Namecoin. Это не обязательно означает, что его ASIC, специализированная машина для майнинга, половину времени не работал для Bitcoin. Пул может подготовить задание так, чтобы один поиск подходящего хеша служил обеим сетям. Если результат отвечает нужным условиям, работу можно доказать и вспомогательной сети. Мощность машины не удвоилась: её работа получила ещё одно применение. Награда другой сети не создаёт дополнительные биткоины сверх правил Bitcoin. [1] [4]
Bitcoin здесь называют родительской цепочкой, а Namecoin — вспомогательной. Но это не значит, что Bitcoin берёт за неё ответственность. Bitcoin Full Node, компьютер с программой, самостоятельно проверяющей правила, проверяет транзакции и блоки Bitcoin. Он не решает, верны ли также транзакции Namecoin: это должны делать узлы Namecoin. Каждая сеть ведёт собственную историю и учёт доступных для расходования монет. Сбой приложения во вспомогательной сети сам по себе не делает биткоин-платёж недействительным, а её правила не могут изменить правила Bitcoin. [1] [2]
Результат вычисления сравнивают с целью: числовой границей, которую хеш не должен превышать. Хеш вычисляют из заголовка, содержащего сводные данные о предлагаемом блоке. Майнер меняет часть этих данных и повторяет вычисление, пока не получит достаточно маленькое число. У вспомогательной сети условие может быть проще. Тогда результат Яна подойдёт для её блока, но не для блока Bitcoin. Rootstock прямо различает эти случаи: результат может подойти обеим сетям, только Rootstock либо лишь более лёгкому условию пула для share, текущего свидетельства работы. Сама share не является блоком ни одной сети. Достижение цели также не оправдывает недействительные транзакции: блок должен соответствовать остальным правилам своей сети. [3] [4]
Повторять все вычисления не требуется, но обслуживание всё равно требует работы. Кто-то должен готовить вспомогательные блоки, запускать их узлы, обновлять программы и отправлять доказательства. Этим может заниматься оператор пула, поэтому ASIC Яна не обязан сам запускать узел каждого проекта. Выплата — отдельный вопрос. Namecoin начисляет награду в своей валюте NMC. Условия пула определяют, выплатит ли он её Яну, обменяет или иначе учтёт в предложении. Важна реально полученная сумма после удержаний, а не яркий бонус в панели. [1] [5]
Эта фраза ещё не сообщает, сколько майнеров действительно участвует. Меньшая сеть не получает автоматически всю мощность Bitcoin. Важны объём работы, которую действительно выполняют участники, её концентрация у операторов и их стимулы честно поддерживать сеть. Namecoin допускает и другие родительские цепочки с SHA-256d, то есть двойным применением одной хеш-функции. Поэтому указанный hashrate, скорость вычислений, требует контекста. Сам по себе он не доказывает равную устойчивость к переписыванию недавней истории или то, что одинаковое число подтверждений даёт ту же уверенность, что и в Bitcoin. Подтверждения транзакции включают блок, в который она вошла, и последующие блоки соответствующей сети. [1] [4]
Увидев дополнительную награду, Ян сначала должен понять, о какой сети и валюте речь и как она действительно попадёт в его кошелёк. Пользователю вспомогательной сети также важно знать, кто проверяет её правила и какие риски несёт её программа. Совместный майнинг сам по себе не обменивает одну монету на другую. Если проект предлагает мост, механизм переноса стоимости между сетями, у него собственные условия и риски. «Майнится вместе с Bitcoin» объясняет источник части защиты, но не весь продукт и не безопасность хранящихся в нём денег. [1] [4]
Namecoin называет доказательство AuxPoW, вспомогательным Proof of Work. Чтобы нельзя было взять уже найденный хеш и позже прикрепить к нему другой блок, вспомогательный блок заранее криптографически связывают с вычислением. Его хеш, цифровой отпечаток, через Merkle Tree, дерево хешей для доказательства включения данных, ведёт к данным в родительской coinbase, первой специальной транзакции блока. Другая ветвь доказывает её включение в сводку транзакций родительского заголовка. Узлы проверяют всю связь, расположение данных, размер дерева и индекс, зависящий также от chain ID, идентификатора цепочки. Чужого хеша без этой связи недостаточно. [2]
BIP 301 описывает Blind Merged Mining (BMM). BIP — документ с предложением или описанием правил и процедур для Bitcoin; сама публикация документа не меняет правил сети. В этом предложении вспомогательные блоки составляют другие участники и предлагают майнерам Bitcoin плату за включение соответствующего криптографического обязательства, проверяемой ссылки на выбранный блок. Майнеры поэтому не обязаны сами выбирать его содержимое. Предложение имеет собственные правила, требующие изменения консенсуса, общих правил проверки в сети; это не новое название уже применяемого Namecoin AuxPoW. На момент этой редакции BIP 301 имеет в официальном реестре статус Draft, проект. Сам номер BIP или существующая реализация ещё не доказывают активацию в сети Bitcoin. [5]
Для полной картины прочитайте эту статью вместе с Майнинг, Proof of Work, Bitcoin, Mining Pool, ASIC Miner, Full Node. На эту статью также ссылаются Sergio Demian Lerner.