Как выглядит хэш биткоина

Обновлено: 06.07.2024

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

Как это работает?

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

Мороз и солнце, день чудесный.

У лукоморья дуб зеленый.

Хэш алгоритма Биткоин (SHA-256) может иметь следующий вид: i58r1e4c55fa105bdd3f40e5038eb0b057b5998c52c05e6uv08478hh2da5cab2.

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

Роль хэша в майнинге криптовалюты

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

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

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

  • Детерминированность - свойство, которое позволяет отследить исходную информацию. Не важно, сколько будет проведено преобразований, на выходе получится один и тот же хэш.
  • Оперативность. Хэш-функция очень быстро обеспечивает возвращение исходной информации.
  • Устойчивость к коллизиям. Свойство, которое обеспечивает надежную безопасность цифровых монет.

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

Блокчейн Биткоина построен на алгоритме шифрования SHA-256. Все данные кодируются в 256-битный ключ. Алгоритм SHA-256 позволяет закодировать очень большой массив информации, что выгодно отличает его от других. Если кто-то попытается изменить хоть один символ исходного блока, то итоговый ключ полностью изменится. Так достигается защита от несанкционированного изменения.

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

Что такое хешрейт?

Успешность майнинга измеряется количеством попыток, которое предпринимает майнинг-оборудование для поиска хеша (преобразования блока). С каждой попыткой создается “кандидат на создание блока”, который должен соответствовать установленному хешу. Поскольку попытки осуществляются непрерывно, мощность майнинга измеряется в попытках в секунду [H/s]. Чем больше людей со своим оборудованием принимает участие в процессе майнинга, тем выше коэффициент хэширования. Если хешрейт слишком высокий, уровень сложности увеличивается. Если хешрейт становится меньше, соответственно, и уровень сложности уменьшается.

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

Что такое хэш биткоина?

Для начала важно иметь общее представление о том, что такое хэш-функция и что она делает.

Что такое хэш?

Что такое хэш

И этот выход фиксированного размера - это то, что называется хэшем. Другими словами, хэш является криптографическим побочным продуктом хэш-алгоритма.

Хэш-алгоритм обладает определенными уникальными свойствами:

  • Он генерирует уникальный результат (хэш).
  • Это односторонняя функция.

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

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

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

Что такое хэш биткоина?

Блокчейн биткоина использует SHA-256 (Secure Hash Algorithm). В 2001 году этот алгоритм был разработан Агентством национальной безопасности США.

Лежащий в основе биткоина алгоритм proof of work основывается на SHA-256. Используя его, биткоин-майнеры решают сложные математические задачи, чтобы добавить блоки в блокчейн. Биткоин-блоки добавляются путем проверки хэшей на основе лотереи.

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

Майнеры стремятся найти конкретный хэш, изменяя небольшую часть заголовков блока, которая называется «nonce». «Nonce» всегда начинается с «0» и увеличивается каждый раз для получения требуемого хэша.

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

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

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

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

Хеширование
Передача прав собственности. Хеш-сумма публичного ключа

image

Bitcoin оперирует хеш-суммой публичного ключа, как адрес для передачи монет. Объявить чей-либо bitcoin адрес во всеуслышание — ничего не стоит. Узнать исходный ключ по его хешу не предоставится возможным даже участникам «битвы экстрасенсов». А сама пара ключей будет использована лишь однажды — при передаче прав собственности. На этом жизнь пары ключей заканчивается.

PUB1 — публичный ключ
PRIV1 — секретный ключ
HASH1 или HASH(PUB1) — хеш-сумма публичного ключа (биткойн-адрес).
HASH2 или HASH(PUB2) — хеш публичного ключа следующего владельца.

image

Отвлечемся на некоторое время от монет. Возьмем, к примеру, владельца автомобиля, собственность которого не вызывает сомнений.
— Собственник на публичном собрании (ярмарке, телевизионном шоу) показывает всем хеш своего публичного ключа HASH(PUB1), заводской номер автомобиля, и все соглашаются с этим — никто не предъявляет претензий.
— До момента продажи оба ключа PUB1, PRIV1 продавца остаются в секрете. Известен только HASH(PUB1) и соответсвующий ему заводской номер автомобиля.
— Как только собственник хочет продать автомобиль какому-либо покупателю — он пишет открытое письмо, в котором указывает заводской номер и хеш-сумму публичного ключа второго владельца HASH(PUB2). И конечно же подписывает письмо своим секретным ключом PRIV1, прилагая публичный ключ PUB1.
— После передачи собственности секретный ключ перестает быть актуальным — второго такого письма быть не может (см. «Единая история»). Публичным ключом можно проверить само письмо, удостоверить второго собственника.
— О втором собственнике ничего неизвестно кроме HASH(PUB2), до тех пор пока он не передаст права третьему владельцу. И эта цепочка может быть бесконечной.
— Подписывая передачу прав с использованием ЭЦП, собственник не только удостоверяет себя, но и накладывает на себя обязательство передачи. Как говорится: «слово — не воробей, вылетит — не поймаешь».
— Благодаря HASH(PUB) получается двойная защита. Первая загадка — узнать публичный ключ по его хешу. Вторая загадка — подписаться чужим секретным ключом.

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

«А сдачу!?»

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

Единая история. Что же копают майнеры.

Чтобы не было возможности дважды потратить монеты, должна быть единая история всех сделок. Тогда в журнал будет попадать только первая транзакция (письмо передачи прав на монеты), или в крайнем случае одна из нескольких. Для этого транзакции объединяются в блоки и признаются только «красивые» блоки. «Красивый блок» трудно найти, это подобно тому как из тонн золотой руды попадается лишь один стоящий самородок. В нашем случае хеш-сумма блока должна содержать определенное количество нулей.
Блок состоит из предыдущего блока (хеш-суммы), хеш-суммы всех включенных транзакций, и случайно перебираемого числа (англ: nonce).
Пример bitcoin-блока с сайта blockexplorer.com:
* Hash: 00000000000001c21dbf4715d5da1a288061faa21e950dd8df6ae25c8b55d868
* Previous block?: 000000000000056a7dcf283f627c2a17c55ffe1937a6ed2bc467d9c524311da2
* Difficulty: 1 690 895.803052 ("Bits": 1a09ec04)
* Transactions: 184
* Total BTC: 4251.63216933
* Size: 58.913 kilobytes
* Merkle root: 98c5d975bf556f0344770eee7ab31688a1c108223c14cea908ff99b0ab8fe947
* Nonce: 3723473450
Видите сколько нулей в начале хеш-суммы блока? Вот поэтому его так трудно было найти. Но каждый легко может проверить подлинность «красоты» блока. Количество нулей в хеше выбирается таким образом, чтобы каждый блок появлялся на свет приблизительно раз в 6 10 минут. За нахождение блока выдается поощрение, сейчас это 50 монет. Также нашедшему выдаются все сборы от платежей (transactions fees), за те транзакции которые включены в его блок.
Единая история достигается за счет того, что всегда побеждает наиболее длинная цепочка блоков. Не проблема, если от биткойн-сети будет отколот изолированый кусочек пользователей — впоследствии все отколотые транзакции войдут в более длинную цепочку (с учетом сложности).

Тонкости работы

— Под хешированием обычно понимается двойной sha256, т.е. sha256(sha256(x)).
— Удивительно, но bitcoin ничего не шифрует. Весь журнал транзакций — полностью открытая информация. Любой может проверить целостность всех транзакций, посчитать количество монет в обороте. Нет никаких шансов для фальшивомонетничества. Единственная возможность для злодейств — лишь приостановить работу биткойн на некоторое время.
— При первом старте bitcoin-приложение создает пару ключей. Точнее он создает их сразу 100 пар заранее, тем самым можно сделать резервирование кошелька (backup) не более чем на 100 операций вперед.
— На самом деле в транзакции указывается алгоритм проверки, помимо самого биткойн-адреса. Внутри биткойн встроен собственный примитивный, намеренно обрезанный язык программирования, который позволяет сделать сложные транзакции. Например можно запрограммировать, чтобы деньги отправлены нескольким адресатам (как сейфовая ячейка с несколькими ключами). Или включить ограничения по времени на трату денег (не раньше 2013 года) и т.д.
— Транзакции в блок укладываются в виде дерева хешей. Таким образом в дальнейшем можно будет выкидывать завершенные транзакции для экономии места на диске, не нарушая целостности блоков.
— Биткойн-адрес содержит в себе контрольную сумму. Поэтому в адресе нельзя ошибиться пропустив или заменив одну или несколько символов.

Хеширование биткоина

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

Что такое хеширование биткоина

Хеширование биткоина — это преобразование массива данных любого объема в исходную строку фиксированной длины. Для более легкого понимания назовем их Input (входящий массив данных) и Output (полученный хеш, т.е. уже упомянутая выше строка фиксированной длины). В отношении криптовалют, таких как, например, Bitcoin.

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

Давайте на небольшом примере посмотрим, как устроен процесс хеширования биткоина. Для преобразования массива информации в хеш мы применим уже упомянутый выше алгоритм хеширования SHA-256 (Secure Hashing Algorithm):

Пример хеширования

Как видите, вне зависимости от длины и объема Input на выходе всегда получается одинаковый Output, который имеет фиксированную длину в 256 бит. Это имеет решающее значение, особенно когда нужно преобразовать в хеш большие и очень большие массивы информации, как например, множество транзакций в сети Bitcoin или Ethereum.

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

Что такое хеширование

Значение криптографической хеш-функции в хешировании и ее свойства


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

Свойство 1: Детерминированность

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

Свойство 2: Быстрое вычисление

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

Свойство 3: Стойкость к атаке поиска прообраза

Суть свойства стойкости к атаке поиска прообраза состоит в следующем: если мы знаем значение H (A), в котором A — Input, а H (A) — Output, т.е. хеш, то нахождение значения A является практически неосуществимой задачей. Здесь стоит сделать акцент именно на слове «неосуществимо», а не на «невозможно». Ведь работа майнеров доказывает, что при определенных обстоятельствах эта задача становится выполнимой. Давайте рассмотрим небольшой пример.

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

Однако такой метод поиска Input актуален лишь при работе с небольшими массивами данных, но когда у нас просто огромный объем информации, получить Input путем применения данного метода (он называется «brute force» — метод «грубой силы») становится очень сложной задачей. Данный математический метод заключается в переборе всех допустимых вариантов Input, их преобразование в Output и сравнение с имеющимся хешем. Сложность нахождения правильного решения напрямую зависит от объема исходной информации.

В случае применения метода brute force есть три варианта развития событий:

  1. Самый оптимистичный — вам повезло и вы получите правильный результат с первого раза, однако, это практически нереально, если смотреть на ситуацию с точки зрения математики.
  2. Реалистичный — Input будет найден примерно после перебора половины всех существующих вариантов.
  3. Самый негативный — исходные данные вы найдете только, преобразовав последний из имеющихся вариантов в хеш.

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

Свойство 4: Стойкость к коллизии

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

В этом контексте, чтобы понять как работает хеширование биткоина, стоит упомянуть такое явление как «парадокс дня рождения». В чем его суть?


Прежде всего, нужно сказать, что шанс встретить двух незнакомых людей, которые бы родились в один и тот же день, равен 0,27%. Однако если в одном помещении одновременно находятся 366 людей, то шанс, что как минимум двое из них родились в один и тот же день, возрастают до 100%. Очевидно, что чем большее количество людей находится в одной группе, тем более высока вероятность того, что два человека будут иметь день рождения в один день.

«Парадокс дня рождения» используется в криптографической атаке, которая называется атакой «дней рождения» и в которой метод brute force применяется для поиска двух Input с одинаковым Output. «Парадокс дня рождения» помогает создать коллизию, потому что метод «грубой силы» при применении «парадокса дня рождения» становится более эффективным, чем без него. Однако несмотря на это в системе хеширования Bitcoin данный вид атаки малоприменим, поскольку шанс создать коллизию — примерно один к триллиону.

Свойство 5: Лавинный эффект

Данное свойство в процессе хеширования биткоина означает, что внесение даже незначительных изменений в Input приводит кардинальному изменению Output, т.е. хеша. Посмотрим на простой пример:

Пример хеширования

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

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

Свойство 6: Высокий показатель энтропии

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

Рассмотрим небольшой пример. Так, у нас есть уравнение Y = H (k | x). Так, если Y является Output, а значение k обладает высоким показателем энтропии, то найти такое значение x (Input), которое бы удовлетворяло уравнению, будет практически невозможно.

Энтропия хеш-функций

«Высокая энтропия» означает состояние, при котором значение выбрано из такого широкого круга всевозможных вариантов, что попытки угадывания методом рандомного подбора не имеет никаких шансов на успех. Например, число, которое находится в рамках от 1 до 10, обладает низким показателем энтропии, в то время как число, которое находится между 1 и 2^256 имеет высокий показатель энтропии.

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

Хеширование биткоина: структура данных

Структура данных — это способ хранения данных. В блокчейне структура данных, задействованных в процессе хеширования, представлена двумя видами элементов: указателями и связанными списками.

Указатели

Указатели в программировании — это переменные, которые ссылаются на другие переменные, вне зависимости от вида языка программирования. Вместо того чтобы хранить числовые значения переменных, указатели содержать лишь своего рода «ссылку» на них. Как можно понять из названия, указатели «показывают путь» к расположению других переменных.

Например, выражение int b = 100 означает, что есть некая переменная b, которая содержит в себе целое числовое значение 100.

Связанные списки

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

Связанные списки

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

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

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


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

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

  • Номер версии блокчейна (необходимо для отслеживания обновлений и изменений в протоколе);
  • Временную метку UNIX; (определяется количеством нулей, которые соответствуют текущему уровню протокола Proof-of-Work);
  • Хеш-указатель;
  • Nonce (значение, которое ищут майнеры для того, чтобы создать блок и присвоить ему правильный хеш);
  • Хеш корня Меркла, который состоит из хешей транзакций, входящих в конкретный блок.

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

Дерево Меркла отвечает за упорядочивание и хранение транзакций внутри блока. Дерево Меркла выглядит так:

Дерево Меркла

В самом низу древовидной структуры дерева Меркла находятся листовые узла (на приведенной выше картинке это L1, L2, L3 и L4). Выше них расположены несколько уровней дочерних узлов — это все узлы, которые находятся ниже корневого узла. На картинке это узлы Hash 0-0, Hash 0-1, Hash 1-0, Hash 1-1 и Hash 0, Hash 1. В самом верху находится корневой хеш дерева Меркла (в нашем случае он называется Top Hash).

Древовидная структура корня Меркла помогает отследить расположение определенной транзакции и получить доступ к ее данным, как, например, время создания, объём, адрес отправителя и получателя и т.д.

Биткоин: Криптографические хэш-функции

Хеширование в сети биткоин


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

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

С математической точки зрения данный процесс описывается следующей формулой: H (k | x) = Y, в которой K — это nonce, x — хеш блока, а Y — текущая сложность сети. Процесс подбора nonce рандомный и основан на применении метода brute force. Поэтому майнинговое оборудование непрерывно генерирует рандомные сроки до тех пор, пока не будет найдено верное значение nonce. На данный момент майнеры имеют 10 минут на добавление каждого нового блока, что обеспечивает низкую вероятность возникновения коллизий и создания блоков-орфанов (потерянных блоков, которые не были добавлены в блокчейн, например, в том случае, когда nonce был найден почти одновременно несколькими майнерами или при попытке хакеров внести изменения в транзакции).

Хеширование биткоина играет решающую роль в майнинге, поскольку оно лежит в основе работы алгоритма Proof-of-Work, который используется в сети Bitcoin, Ethereum и многих других криптовалют. Хеширование биткоина обеспечивает безопасность и надежность системы, предохраняет ее от создания коллизий и возможного взлома. Без хеширования не существовало бы блокчейна, по крайней мере, в том виде, в котором мы его имеем сегодня.

Подсчёт скорости хеширования сети Биткоина не настолько сложен, как может показаться обычному криптовалютному трейдеру. Скорость хеширования или хешрейт это важный показатель сети Биткоина, отображащий её устойчивость. Что же такое скорость хеширования в сети Биткоин?

Что такое хешрейт сети Биткойн?

Говоря простыми словами, скорость хеширования сети Биткойн – количество вычислительной мощности, используемой для обеспечения её безопасности. Биткоин использует алгоритм консенсуса PoW (Proof of Work). Этот алгоритм требует, чтобы компьютеры расходовали свои вычислительные мощности на проверку блоков для поддержки сети Биткоин. За свою работу майнеры получают вознаграждение в биткоинах. Чем выше скорость хеширования биткоинов, тем более безопасна сеть главной криптовалюты в целом.


Скорость хеширования сети Биткоина в период 01.01.15-01.01.16

У всех ли криптовалют есть хешрейт?

Только у криптовалют на основе PoW есть хешрейт. Криптовалюты, которые используют другие алгоритмы консенсуса, такие как PoS (Proof of Stake) и BFT (Byzantine Fault Tolerance), добываются другими способами. У них свои методы для обеспечения безопасности сети.

Например, в системе PoS майнеров заменяют специальные счета для «стейкинга» монет. Cardano (ADA) одна из популярных криптовалют на основе PoS.


График курса ADA/USD – интерес к PoS-криптовалютам существенно вырос в 2021 году, особенно к ADA

Почему важен хешрейт сети Биткоин?

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

Как измеряется хешрейт сети Биткоин?

Скорость хеширования сети измеряется в TH/s. 1 TH/s – один триллион операций хэширования в секунду. На графике ниже мы видим, что когда BTC во втором квартале 2021 года достиг максимума в 64 000 долларов США, скорость хеширования составила 197 890 893 438 966 000 000 /с.


Хешрейт BTC/USD за 2 квартал 2021 г.

Изменение скорости хеширования BTC с течением времени

В таблице ниже вы можете увидеть хешрейт BTC на конец года в период с 2010 по 2020 годы. Каждый год BTC увеличивал хешрейт по сравнению с предыдущим годом. Увеличение происходило и во времена ценового падения:

2014 – BTC упал с 735 долларов до 314 долларов.

2018 – BTC упал с 14 000 до 3 500 долларов.

Год Скорость хеширования на конец года (/с) Рост или падение по сравнению с предыдущим годом
2010 116,600,046,181 Рост
2011 8,684,307,258,960 Рост
2012 26,122,000,344,734 Рост
2013 10,733,336,513,366,100 Рост
2014 300,130,533,562,990,000 Рост
2015 782,995,962,456,021,000 Рост
2016 2,347,023,754,909,770,000 Рост
2017 15,280,279,912,836,000,000 Рост
2018 40,455,816,966,094,400,000 Рост
2019 94,326,808,567,832,400,000 Рост
2020 153,010,994,865,172,000,000 Рост


Рост хешрейта BTC с 2010 по 2020 год

Почему хешрейт BTC вырос с 2010 года?

Есть три основные причины, по которым скорость хэширования BTC значительно выросла с 2010 года.

Причина первая – повышенный интерес к Биткоину

Первая причина очевидна. С 2010 года интерес к Биткоину увеличился по мере того, как больше людей стали лучше понимать главную цифровую валюту. Посмотрим на изменение количества Биткоин-адресов с балансом более 1 доллара США. В конце 2010 года таких адресов было 112 894. В начале 2020 года существовало 20 497 559 адресов BTC с балансом более 1 доллара США. Их количество увеличилось в 181 раз!

На графике ниже вы можете увидеть рост количества Биткоин-адресов с 2010 по 2020 годы.


BTC/USD – количество адресов с балансом более $1 с 2010 года.

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

Причина вторая – закон Мура

Закон Мура – это наблюдение Гордона Мура (основателя Intel) о том, что каждые два года количество транзисторов в схеме удваивается. Вместе с тем – в среднем удваивается каждые два года вычислительная мощность. Компьютеры необходимы для майнинга Биткоина, потому что это система PoW (как упоминалось ранее). Следовательно, если вычислительная мощность удваивается каждый год, скорость хеширования также должна увеличиваться (при условии, что количество майнеров не сокращается). На графике ниже мы можем увидеть, что существует прямая корреляция закона Мура и увеличения хешрейта BTC с 2010 года.


Закон Мура – диаграмма Эрика Мартина

Причина третья – совершенствование оборудования для майнинга Биткойна

Третья и не последняя по важности причина – создание оборудования специально для майнинга Биткоина. Изначально Биткоин предназначался для добычи на домашних компьютерах, что должно было создать децентрализованную сеть. Со временем финансовая привлекательность майнинга Биткоина стимулировала развитие оборудования для майнинга. Обычные компьютеры вытеснены таким оборудованием для майнинга и конкурировать с ними уже не могут. На картинке ниже пример специализированного компьютера, предназначенного для майнинга BTC – Antminer S19.


Bitmain Antminer S19

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

Компьютер для Биткоин-майнинга Год создания Скорость хеширования (TH/s)
Antminer S19 pro май 2020 110
Antminer S19 май 2020 84
Antminer S9 (14Th) февраль 2017 14
Antminer S9 (11.5Th) июнь 2016 11.5
Antminer S7 сентябрь 2015 4.73
Antminer S5 декабрь 2014 1.155
Antminer S3 июль 2014 0.478

Постоянное совершенствование компьютеров для майнинга BTC, показанное выше на примере Antminer, стало одним из основных факторов роста скорости хеширования BTC.

Вывод о скорости хеширования сети Биткоин

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

Важно понимать, что такое хешрейт BTC. Знание, почему постоянно растёт хешрейт сети Биткоина, а вместе с ним растут её сила и прочность, должно прийтись по душе долгосрочным держателям главной криптовалюты.

Читайте также: