Пересчет сложности bitcoin

В этой статье мы рассмотрим часто звучащий вопрос: “Как рассчитывается сложность майнинга биткоина?” Сложность майнинга зависит от целевой сложности, то есть от сложности, при которой вычислительная мощность биткойн-сети способна решить алгоритм proof-of-work в среднем за 10 минут. Он автоматически настраивается каждые 2,016 блоков, исходя из времени, затраченного на майнинг предыдущих 2,016 блоков.

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

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

Чтобы лучше понять вышеприведенный ответ, мы начнем с краткого объяснения того, как работает майнинг биткоина. Затем мы дадим более подробный ответ на вышеприведенный вопрос. Наконец, мы рассмотрим возможные причины, по которым цель сложности устанавливается так, чтобы обеспечить средний 10-минутный интервал блока.

Как работает майнинг биткоина

Узлы майнинга записывают действительные транзакции, которые они группируют вместе в контейнере, называемом

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

Решение алгоритма доказательства работы для блока транзакций требует, чтобы узел майнинга нашел криптографический хэш заголовка блока , который численно ниже целевого уровня сложности, регулируемое 256-битное число (бит равен либо 0, либо 1) (см. ниже, раздел Что такое целевой уровень сложности?).

Криптографический хэш-это выход криптографической хэш-функции, математического алгоритма, который принимает данные произвольного размера (входные данные) и выдает результат фиксированного размера (выходные данные). Криптографический алгоритм SHA256, используемый в биткойне, производит детерминированный вывод 256 бит.

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

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

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

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

Какова цель сложности?

Цель сложности-это регулируемое 256-битное число (бит равен либо 0, либо 1). Это 256-битное число, которое представлено в определенном шестнадцатеричном 32-битном формате, называемом битами

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

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

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

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

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

В этой связи стоит отметить, что явное увеличение вычислительной мощности сети биткойн за последние годы было таково, что первоначальное количество возможных перестановок, предлагаемых 4-байтовым одноразовым номером в заголовке блока, оказалось недостаточным. Даже перепробовав все возможные одноразовые значения, майнеры все равно не смогут найти действительный хэш заголовка блока. Обновление временной метки, которая также является частью заголовка блока, для учета прошедшего времени предлагает некоторые дополнительные возможные перестановки, но также является недостаточным. Чтобы решить эту проблему, майнеры также используют дополнительный одноразовый номер в транзакции coinbase. Изменение nonce в транзакции coinbase влияет на корень merkle, который является частью заголовка блока, что, в свою очередь, влияет на результат хэша заголовка блока. Таким образом, узлы майнинга теперь имеют в своем распоряжении огромное количество дополнительных возможных перестановок для циклического прохождения.

Изменение дополнительного nonce в транзакции coinbase (нижний левый квадрат) изменяет корень merkle, который является частью заголовка блока, что приводит к другому хэшу заголовка блока.

Узлы майнинга пытаются решить одну и ту же головоломку?

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

Ответ — нет. Узлы майнинга в принципе никогда не будут одинаковыми блоками майнинга. Таким образом, каждый узел майнинга всегда будет находить свой детерминированный хэш заголовка блока.

Причина, по которой майнинговые узлы в принципе никогда не будут майнить идентичные блоки, двоякая:

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

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

Как рассчитывается изменение цели сложности?

Цель сложности для биткойн-сети установлена таким образом, чтобы гарантировать, что новые блоки биткойн-транзакций будут добываться (то есть добавляться в блокчейн Биткойна) со средним темпом 1 блок каждые 10 минут.

Цель сложности переоценивается и автоматически корректируется (в зависимости от обстоятельств) каждым полным узлом сети, каждые 2 016 блоков.

Регулировка сложности цели осуществляется путем сравнения, с одной стороны, количество времени, которое потребовалось, чтобы мой 2,016 блоков, и, с другой стороны, он должен предпринять, чтобы мои 2,016 блоки, в зависимости от желаемой 10-минутного интервала, т. е. 20160 минут (10 минут X 2,016 блоки).

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

Если время, затраченное на добычу 2 016 блоков, превышает желаемые 20 160 минут, Сложность добычи уменьшается, а значит, цель сложности будет установлена выше. Если количество времени, затраченного на добычу 2 016 блоков, меньше желаемых 20 160 минут, то сложность добычи увеличивается, а это означает, что цель сложности будет снижена. Из этого также следует, что корректировка целевого уровня сложности не зависит от объема транзакции или стоимости, обрабатываемой сетью биткойн.

Изменение сложности можно описать следующим образом:

Новая сложность майнинга = предыдущая сложность майнинга * (Время до майнинга последних блоков 2016 года / 20 160 минут)

Эволюция хеш-курса биткойна и сложности майнинга.
Эволюция хеш – курса (зеленый) и сложности майнинга (красный) в середине 2014 года (источник: bitcoinwisdom.com)

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

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

Кто регулирует цель сложности?

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

Почему цель сложности установлена так, чтобы обеспечить средний 10-минутный интервал блока?

Считается, что средний 10-минутный интервал блокировки был намеренно выбран Сатоши Накамото, изобретателем биткоина, в качестве компромисса между (1) скоростью сети биткоина и (2) стабильностью сети биткоина.

(1) скорость работы биткойн-сети

С одной стороны, средний 10-минутный интервал блокировки гарантирует, что транзакции, транслируемые в биткойн-сеть, подтверждаются (то есть включаются в добытый и действительный блок) относительно быстро. Относительно короткое время подтверждения выгодно влияет на удобство использования биткойна в качестве транзакционного механизма.

(2) стабильность сети Биткойн

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

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

В таком случае две различные версии блокчейна биткоина будут временно существовать среди узлов сети биткоина (часто называемых форком

Гарантируя, что в среднем достаточное количество времени (т. 10 минут) проходит между вновь добытыми блоками, риск материализации вилки смягчается, хотя и не полностью исключается.

Вывод

Сложность майнинга зависит от цели сложности, то есть сложности, при которой вычислительная мощность сети bitcoin способна решить алгоритм доказательства работы в среднем за 10 минут. Он автоматически настраивается каждые 2,016 блоков, исходя из времени, затраченного на майнинг предыдущих 2,016 блоков. Считается, что средний интервал блокировки в 10 минут был выбран намеренно, как компромисс между (1) скоростью биткойн-сети и (2) стабильностью биткойн-сети.


Хотите распространить информацию о биткойне? Купи себе классную биткойн-рубашку прямо сейчас!

Нажмите на кнопку ниже.

180+ оригинальных дизайнов доступны


Другие связанные с майнингом биткоина вопросы

Какое оборудование для майнинга используют биткойн-майнеры?

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

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

Хэшрейт биткоина
Эволюция совокупного хеш — курса сети биткойн с течением времени.

Следующие 3 типа оборудования для майнинга обычно использовались на протяжении многих лет для майнинга биткоина:

  • Процессоры
  • Графические процессоры
  • ASICs

Из этих 3 типов ASIC сегодня доминируют в индустрии майнинга биткоинов.

В самом начале люди сделали из нас универсальный процессор (центральный процессор) своих ПК для майнинга биткоина.

Через некоторое время люди начали использовать GPU (графические процессоры) для майнинга биткойнов. Одна из основных причин заключается в том, что графические процессоры имеют возможность выполнять несколько вычислений одновременно. Кроме того, вы можете управлять многими графическими процессорами от одной материнской платы и процессора, что позволило построить мощную операцию майнинга из своего дома.

Установка для майнинга биткоинов, состоящая из нескольких графических процессоров.

Однако графические процессоры имеют 3 основных недостатка, что делает их неоптимальными для майнинга биткоинов:

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

Сегодня майнинг биткоина в основном осуществляется с помощью специализированных интегральных схем (ASIC).

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

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

Является ли майнинг биткоина по-прежнему прибыльным?

Индивидуумы

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

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

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

биткойн майнинг распределение хешрейта
Распределение хешрейта биткойна от 15 марта 2019 года

Майнинг-пулы

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

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

Майнинг-пулы имеют несколько преимуществ перед Соло-майнингом:

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

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

Калькулятор прибыли от майнинга биткоина

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

При использовании вышеупомянутого калькулятора майнинга биткоинов необходимо учитывать ряд факторов:

  • Не все поля являются обязательными, но чем больше информации вы введете, тем точнее будут результаты.
  • Результаты будут отображаться в долларах США.
  • Если вы хотите учитывать затраты на электроэнергию при использовании приведенного выше калькулятора, пожалуйста, не забудьте заполнить как потребляемую мощность (Вт), так и стоимость электроэнергии (долл./кВтч), так как одно не будет работать без другого.
  • Коэффициент сложности и курс обмена USD/BTC, показанный выше, автоматически обновляются один раз в час. Данные о ценах берутся из API Coindesk. Номер сложности получается из APIBitcoinWisdom . Любое значение также может быть скорректировано вручную, что может быть полезно для создания конкретных моделей.
  • Расчет основан на текущей сложности майнинга. Пожалуйста, имейте в виду, что сложность майнинга может (и, вероятно, будет) колебаться с течением времени, влияя на вашу прибыльность майнинга. Как указано в начале этой статьи, сложность майнинга автоматически корректируется каждые 2 016 блоков. Исходя из исторических данных, сложность майнинга имеет тенденцию к увеличению с течением времени (в среднем на 0,4% в день). Вы можете найти предполагаемую следующую корректировку сложности майнинга, нажав здесь.
  • Рост сложности майнинга с течением времени, скорее всего, сделает ваше нынешнее горное оборудование устаревшим в какой-то момент времени в будущем. Поэтому при проведении каких-либо долгосрочных расчетов прибыли от добычи полезных ископаемых следует также учитывать стоимость замены вашего горного оборудования.

Внимание! Храните ли вы свои криптовалюты на онлайн-платформе? Обратите внимание, что в этом случае вы не являетесь фактическим владельцем своих криптовалют!

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

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

Нажмите на кнопку

Trezor Model T – аппаратный кошелек