Нажимая кнопку "Принять", вы соглашаетесь на хранение файлов cookie на вашем устройстве для улучшения навигации по сайту, анализа использования сайта и помощи в наших маркетинговых усилиях. Для получения дополнительной информации ознакомьтесь с нашей Политикой конфиденциальности.
Основы

Почему пулы добывают пустые блоки и как Stratum V2 исправляет эту проблему

Добыча пустых блоков становится все менее распространенной, но технические ограничения не позволяют ей полностью исчезнуть. Появился Stratum V2.

Опубликовано 18 августа 2020 г.
НАЧНИТЕ ЧИТАТЬ
Опубликовано 18 августа 2020 г.

Оглавление

Поскольку интерес к Биткойну растет, а вместе с ним увеличивается и объем транзакций, мало что может разочаровать больше, чем появление в блокчейне пустого блока (т.е. блока без транзакций). С годами майнинг пустых блоков становится все менее распространенным, но, к сожалению, в среднем в неделю все еще добывается 3-4 пустых блока.

В этой статье мы объясним:

  • Почему пустые кварталы встречаются все реже
  • Почему пулы вообще до сих пор добывают пустые блоки
  • Как Stratum V2 может устранить майнинг пустых блоков раз и навсегда

Почему добывается меньше пустых блоков, чем раньше?

Более 15% блоков в блокчейне Биткойна не содержат никаких транзакций, за исключением, конечно, транзакции coinbase, вознаграждающей майнера вновь выпущенными монетами. Однако эта статистика довольно обманчива без контекста.

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


Комиссионные за транзакции в процентах от вознаграждения за блокчейн (источник BTC.com)

На заре майнинга Биткойна, когда вознаграждение за блок составляло 50 или 25 BTC, а объем транзакций был невелик, комиссия за транзакции была относительно незначительной суммой для майнеров. Однако начиная с 2016 года вознаграждение за блок снизилось до 12,5 BTC, а комиссия за транзакции начала неуклонно расти. Это означало, что все большая часть дохода от майнинга поступала от платы за транзакции, что не стимулировало добычу пустых блоков.

Но в связи с этим возникает вопрос: если майнеры теряют значительные суммы дохода при добыче пустых блоков, почему это все еще происходит?

Почему пулы для майнинга биткоина все еще иногда добывают пустые блоки

Итак, частота пустых блоков за последний год снизилась до 0,4%, но это все равно на 0,4% слишком много, верно?

К сожалению, даже сильного экономического стимула добывать полные блоки недостаточно для полного устранения проблемы. Причина, по которой майнинговые пулы, включая Braiins Pool (бывший Slush Pool), все еще иногда добывают пустые блоки, кроется в технических ограничениях.

Каждый раз, когда найден новый блок, он транслируется узлом майнера (или майнингового пула), который его нашел, и распространяется на все остальные узлы в сети. В тот момент, когда другие майнинговые узлы видят, что найден действительный блок, они должны прекратить использование своей хэш-мощности на этом блоке и начать поиск следующего.

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

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

Отправка полных блоков увеличивает задержку

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

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

Как Stratum V2 устраняет майнинг пустых блоков

Подведем итоги того, что мы прошли до сих пор:

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

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

Решение в Stratum V2 на самом деле довольно простое. Если в V1 передача данных, позволяющая майнерам начать работу над новым блоком, содержит шаблон блока и prevhash вместе, то в V2 эти два компонента разделены.

В результате майнинговые пулы смогут копать глубже в mempool (для транзакций, которые вряд ли будут включены в текущий блок) и создавать полные шаблоны блоков до того, как будет найден текущий блок. Затем они смогут отправлять эти шаблоны блоков майнерам заранее, когда задержка не имеет значения, так что для фактического начала нового раунда добычи нужно будет отправить только сообщение prevhash.

Решение Straum V2 для добычи пустых блоков

Таким образом, преимущество в несколько секунд, полученное за счет отправки пустых блоков, теряет свою актуальность. С появлением Stratum V2 у пулов больше нет стимула отправлять пустые блоки в начале раундов добычи.

Подробнее о Stratum V2

Добыча пустых блоков - не такое частое явление, как раньше, но, тем не менее, каждый раз, когда блок добывается без подтверждения транзакций, вызывает досаду, особенно потому, что это потерянный доход для майнеров, а в противном случае это была бы возможность очистить мемпул от транзакций с меньшей стоимостью. Отделение шаблона блока от сообщения prevhash является простым решением этой проблемы и очевидным преимуществом Stratum V2.

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

КонференцияВеб-сайтXГдеКогдаПодтверждено
Клетка
КлеткаКлеткаКлетка
Клетка
КлеткаКлеткаКлетка
Клетка
КлеткаКлеткаКлетка
Клетка
КлеткаКлеткаКлетка
Клетка
КлеткаКлеткаКлетка
Клетка
КлеткаКлеткаКлетка
Клетка
КлеткаКлеткаКлетка

Вы можете просмотреть журнал изменений также в нашей документации.
Смотрите полный журнал изменений
Ничего не найдено.

Получайте уведомления о выходе нового обновления

Подписываясь на рассылку, вы соглашаетесь с нашей политикой конфиденциальности
Вууууууууууууууууууууууууууу! Вы подписаны, мы скоро с вами свяжемся.
Что-то пошло не так. Пожалуйста, попробуйте еще раз.
Поделиться сейчас

О Брейнсе

Компания по разработке программного обеспечения для майнинга биткоинов: Braiins Pool, Braiins OS & Stratum V2.

От майнеров, для майнеров.

Почему пулы добывают пустые блоки и как Stratum V2 исправляет эту проблему

Основы

Опубликовано

18.8.2020

Добыча пустых блоков становится все менее распространенной, но технические ограничения не позволяют ей полностью исчезнуть. Появился Stratum V2.

Оглавление

Поскольку интерес к Биткойну растет, а вместе с ним увеличивается и объем транзакций, мало что может разочаровать больше, чем появление в блокчейне пустого блока (т.е. блока без транзакций). С годами майнинг пустых блоков становится все менее распространенным, но, к сожалению, в среднем в неделю все еще добывается 3-4 пустых блока.

В этой статье мы объясним:

  • Почему пустые кварталы встречаются все реже
  • Почему пулы вообще до сих пор добывают пустые блоки
  • Как Stratum V2 может устранить майнинг пустых блоков раз и навсегда

Почему добывается меньше пустых блоков, чем раньше?

Более 15% блоков в блокчейне Биткойна не содержат никаких транзакций, за исключением, конечно, транзакции coinbase, вознаграждающей майнера вновь выпущенными монетами. Однако эта статистика довольно обманчива без контекста.

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


Комиссионные за транзакции в процентах от вознаграждения за блокчейн (источник BTC.com)

На заре майнинга Биткойна, когда вознаграждение за блок составляло 50 или 25 BTC, а объем транзакций был невелик, комиссия за транзакции была относительно незначительной суммой для майнеров. Однако начиная с 2016 года вознаграждение за блок снизилось до 12,5 BTC, а комиссия за транзакции начала неуклонно расти. Это означало, что все большая часть дохода от майнинга поступала от платы за транзакции, что не стимулировало добычу пустых блоков.

Но в связи с этим возникает вопрос: если майнеры теряют значительные суммы дохода при добыче пустых блоков, почему это все еще происходит?

Почему пулы для майнинга биткоина все еще иногда добывают пустые блоки

Итак, частота пустых блоков за последний год снизилась до 0,4%, но это все равно на 0,4% слишком много, верно?

К сожалению, даже сильного экономического стимула добывать полные блоки недостаточно для полного устранения проблемы. Причина, по которой майнинговые пулы, включая Braiins Pool (бывший Slush Pool), все еще иногда добывают пустые блоки, кроется в технических ограничениях.

Каждый раз, когда найден новый блок, он транслируется узлом майнера (или майнингового пула), который его нашел, и распространяется на все остальные узлы в сети. В тот момент, когда другие майнинговые узлы видят, что найден действительный блок, они должны прекратить использование своей хэш-мощности на этом блоке и начать поиск следующего.

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

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

Отправка полных блоков увеличивает задержку

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

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

Как Stratum V2 устраняет майнинг пустых блоков

Подведем итоги того, что мы прошли до сих пор:

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

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

Решение в Stratum V2 на самом деле довольно простое. Если в V1 передача данных, позволяющая майнерам начать работу над новым блоком, содержит шаблон блока и prevhash вместе, то в V2 эти два компонента разделены.

В результате майнинговые пулы смогут копать глубже в mempool (для транзакций, которые вряд ли будут включены в текущий блок) и создавать полные шаблоны блоков до того, как будет найден текущий блок. Затем они смогут отправлять эти шаблоны блоков майнерам заранее, когда задержка не имеет значения, так что для фактического начала нового раунда добычи нужно будет отправить только сообщение prevhash.

Решение Straum V2 для добычи пустых блоков

Таким образом, преимущество в несколько секунд, полученное за счет отправки пустых блоков, теряет свою актуальность. С появлением Stratum V2 у пулов больше нет стимула отправлять пустые блоки в начале раундов добычи.

Подробнее о Stratum V2

Добыча пустых блоков - не такое частое явление, как раньше, но, тем не менее, каждый раз, когда блок добывается без подтверждения транзакций, вызывает досаду, особенно потому, что это потерянный доход для майнеров, а в противном случае это была бы возможность очистить мемпул от транзакций с меньшей стоимостью. Отделение шаблона блока от сообщения prevhash является простым решением этой проблемы и очевидным преимуществом Stratum V2.

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

в социальных сетях

Узнайте первыми!

Спасибо! Ваша заявка получена!
Упс! Что-то пошло не так во время подачи формы.

СТАТЬ АВТОРОМ

Просмотреть книги

Поделиться статьей

Узнайте первыми!

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

Прочитать политику конфиденциальности.

Упс! Что-то пошло не так во время подачи формы.
Приносим свои извинения, но наш блог доступен только на английском, испанском и русском языках.