Корень Меркла
Корень Меркла это свёртка всех транзакций блока в одно число. Именно через него ваш асик, сам того не зная, подписывает состав блока.
Что это и зачем
Транзакции блока хешируются попарно, результаты снова попарно, и так до единственного числа наверху. Оно и называется корнем Меркла и лежит в заголовке блока. Асик перебирает хеши заголовка, значит каждая его попытка уже содержит в себе весь состав блока.
Подмена невозможна тихо: замена любой транзакции меняет корень, корень меняет заголовок, и вся проделанная работа перестаёт к нему подходить. Поэтому найденное решение доказывает сразу две вещи: саму работу и состав блока, над которым она велась.
Дерево даёт и быстрые проверки: чтобы убедиться, что транзакция есть в блоке, не нужен весь блок, достаточно короткой ветки от неё до корня. На этом стоят лёгкие кошельки, которые не хранят цепочку целиком.
С майнингом у корня есть и бытовая связь: когда пул обновляет состав блока или двигает поле в служебной транзакции, корень пересчитывается, и воркеры получают новое задание. Частые новые задания от пула это как раз жизнь дерева Меркла, а не проблема связи.
Коротко в таблице
| Что это | свёртка транзакций блока в одно число |
| Где лежит | в заголовке блока |
| Что гарантирует | состав блока нельзя подменить тихо |
| Что даёт кошелькам | проверку транзакции без всего блока |
| Связь с асиком | новое задание при каждом пересчёте |
Где майнер сталкивается с ним
Новые задания от пула каждые несколько секунд: пул перебрал состав блока, корень изменился, работа продолжилась с новым заголовком.
Смена задания при появлении свежего блока в сети: старый состав устарел целиком, и доработка по нему это stale share.
Лёгкий кошелёк на телефоне подтверждает вашу выплату веткой Меркла, не выкачивая блок: то самое дерево в быту.
В отчётах пула слово merkle root встречается в сырых данных заданий: пугаться его не нужно, это обычная часть протокола.
Пример на пальцах
В блоке четыре транзакции: A, B, C, D. Хешируются пары AB и CD, потом их результаты вместе, и остаётся одно число. Поменяйте в C хоть байт, и наверху окажется другое число, к которому вся найденная работа уже не подходит. Так четыре строки охраняются одной.
Связанные термины
Куда идти дальше на сайте
Монеты
- Bitcoin монеты
Алгоритмы
- SHA-256 алгоритмы
Вопросы и ответы
Асик что-то знает о транзакциях блока
Нет, он видит только заголовок с готовым корнем. Состав блока собирает пул, асик доказывает работу над этим составом.
Почему пул присылает задания так часто
Пул обновляет состав блока: новые транзакции, новые комиссии. Каждый пересчёт корня это новое задание, и это нормальный ритм работы.
Корень Меркла и корень дерева это одно и то же
Да, дерево Меркла это структура попарных хешей, корень её вершина. В заголовок блока попадает только вершина.
Как термины связаны между собой
Любое звено кликабельно. Оранжевым помечено то, где вы сейчас.
Ищете ASIC-майнер
В каталоге 212 моделей. Сравнить их можно по хешрейту и по джоулям на терахеш, а в калькуляторе подставить свой тариф и увидеть остаток на руки.
Страницу собрал и проверил Денис Климчук. Обновлено .