Miner World

Оборудование и комплектующие для майнинга

0 Корзина
Корзина

No products in the cart.

Что такое хеширование? — Алгоритмы хеширования

Последнее обновление - 24 июня 2022

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

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

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

hashrate

 

История развития

В ранней криптографии применялся MD5 hash, затем популярность пришла к другим алгоритмам.

Алгоритм MD5

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

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

MD5 hash применялся для проверки контрольных сумм файлов, а также для хранения паролей в БД интернет-приложений. MD5 hash был крайне слаб к сопротивлению коллизиям, и даже на простом процессоре был достаточно считаных секунд, чтобы отыскать подходящие коллизии хеш-функций. По этой причине в Интернете наблюдалась утечка предварительных прообразов.

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

RSA

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

SHA1, SHA2 и SHA3

С целью улучшить MD5 hash, появился алгоритм с 160-битным выходом фиксированной длины: SHA1. Изменились следующие моменты:

  • увеличилось число однонаправленных операций;
  • выросла длина вывода до 512 бит;
  • возросла сложность односторонних операций.

С помощью мощного оборудования можно атаковать и такой алгоритм. Так, для него были найдены коллизии: 252 операции. Этот алгоритм продолжает применяться в государственных структурах США.

Для решения проблемы был изобретен SHA-2, то есть целое семейство протоколов. Размер блока в этом случае 512/1024 бит, число раундов 64/80. Для алгоритма SHA-256, который является частью данного семейства, не были найдены коллизии. Однако это технически возможно.

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

BLAKE

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

Хэшрейт

Что такое хеш-функция и в чем заключаются проблемы коллизий

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

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

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

Проблемы коллизий

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

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

Защищенный алгоритм хеширования отличают определенные свойства:

  1. При изменении единственного бита информации будет изменяться весь хеш.
  2. Вычисления достаточно сложны, чтобы было невозможно или крайне затруднительно использовать «атаку нахождения прообраза». То есть хеш-функция стойкая к восстановлению данных, если вероятность того, что пользователь сумеет найти вход и сгенерировать заданный вывод, крайне мала. Такое свойство важно для защиты информации. Алгоритм должен быть устойчив к подобным атакам. 
  3. Вероятность коллизии должна быть минимизирована. На данный момент функций, существующих без коллизий, нет, но разработаны алгоритмы, где поиск коллизии может занять миллионы лет вычислений, что является достаточной устойчивостью. Для ряда применяемых алгоритмов коллизии пока не найдены.

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

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

Применение хеша

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

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

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

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

Хеш в блокчейне

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

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

Хешрейт Асика

Что такое хеширование в контексте майнинга 

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

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

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

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

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

Майнеры, попытавшиеся обмануть существующую систему, понесут финансовые убытки. Чем больше количество пользователей в сообществе, тем более защищенной и сильной становится конкретная блокчейн-сеть.

Proof-of-Work 

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

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

Так, для Bitcoin с применением специализированного оборудования, в том числе с использованием ASIC, вычисление по алгоритму SHA256 оказывается простым. Это значит, что PoW стимулирует пользователей объединять вычислительную мощность в пулы, повышая количество вычисляемых за определенное время хешей. Однако Биткойн применяет двойную итерацию, что позволяет смягчить риск атаки удлинения сообщения, которая способна изменить запрос и выполнить то, за что он отвечает.

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

Одной из сложных функций, которые требуют значительных временных затрат и существенного объема памяти, является Scrypt. Его применяет еще одна популярная криптовалюта, Лайткоин, чтобы защитить блоки информации.

Какие алгоритмы для майнинга будут востребованы в 2022 году

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

  1. SHA-256 с генерацией 256-битного хеша, использующийся для майнинга популярной криптовалюты Биткойн, а также ряда других. 
  2. Equihash, анонимный алгоритм с быстрым созданием блоков. Весьма требовательный к объему памяти, продолжительное время сопротивлялся майнингу на АСИКах. Используется для Zcash, ZClassic, Bitcoin Gold и Private.
  3. Ethash, алгоритм, созданный для криптовалюты Эфир с постоянно растущей сложностью сети. 
  4. Scrypt, где блоки создаются за 30 секунд. Чтобы защитить криптовалюту от майнинга с помощью ASIC-ферм, разработчики увеличили сложность генерации блоков и повысили требование к оборудованию. Применяется для Litecoin, Dogecoin, Redcoin или Viacoin. 

Проблемой майнинга в 2022 г. остается существенная стоимость мощного оборудования, то есть АСИКов. С применением графических процессоров придется отказаться от майнинга Биткойна. Однако создано достаточное количество криптовалют, которые используют алгоритмы хеширования, подходящие для домашней добычи.

Автор статьи

lpunity


0 Корзина
Previous Next
Close
Test Caption
Test Description goes like this