Расшифровка Sha256 и особенности майнинга. Все криптовалюты на алгоритме SHA256 Как это применяется в Биткоине

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

Что такое майнинг?

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

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

Одним из самых популярных протоколов вычисления является SHA-256. Именно его использует первая криптовалюта в мире - Биткоин. Причем для повышения уровня безопасности алгоритм задействуется 2 раза и именуется уже двойным.

В Bitcoin критерием пригодности хеша считается необходимое количество «0» в его начале. Обнаружить подобное значение также невероятно трудно, как, например, отыскать номер автомобиля или сотового, кончающегося на пару 0. Разумеется, сделать такое для хеш-функции в много раз сложнее. В настоящее время, правильное значение должно включать приблизительно 17 начальных нулей, чему соответствует лишь одно из 1,4 умноженное на 10 в 20 степени. Проводя сравнение, отыскать подобный хеш значительно сложнее, нежели отыскать определенную песчинку среди всей нескончаемой массы песка на планете.

Первоначальная версия алгоритма SHA-256 была создана Агентством национальной безопасности США весной 2002 года. Спустя несколько месяцев Национальный метрологический университет опубликовал новоявленный протокол шифрования в принятом на федеральном уровне стандарте безопасной обработки данных FIPS PUB 180-2. Зимой 2004 года он пополнился второй версией алгоритма.

В течение следующих 3 лет АНБ выпустила патент на SHA второго поколения под лицензией Royalty-free. Именно это дало старт применению технологии в гражданских сферах.

Обратите внимание! Довольно интересный факт: каждый пользователь Всемирной паутины, сам того не зная, во время своих путешествий по интернету пользуется данным протоколом. Посещение любого веб-ресурса, защищенного сертификатом безопасности SSL, автоматически запускает выполнение алгоритма SHA-256.

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

Кроме того, SHA-256 имеет довольно неплохие технические параметры:

  • Показатель размера блока (байт) – 64.
  • Предельно допустимая длина сообщения (байт) – 33.
  • Характеристика размера дайджеста сообщения (байт) – 32.
  • Стандартный размер слова (байт) – 4.
  • Параметр длины внутреннего положения (байт) – 32.
  • Число итераций в одном цикле – всего 64.
  • Достигаемая протоколом скорость (MiB/s) – примерно 140.

Работа алгоритма SHA-256 базируется на методе построения Меркла-Дамгарда, в соответствии с которым начальный показатель сразу после внесенного изменения разделяется на блоки, а те, в свою очередь, на 16 слов.

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

Также стоит упомянуть 6 битовых операций, на основе которых функционирует протокол:

  • «and» - побитовая операция «И»;
  • «shr» - перемещает значение на требуемое количество бит вправо;
  • «rots» - команда аналогичная по действию предыдущий, с той лишь разницей, что осуществляется циклический сдвиг;
  • «||» или конкатенация - операция соединения частей линейной структуры, чаще всего строк;
  • «xor» - команда, убирающая «ИЛИ»;
  • «+» - обыкновенная операция сложения.

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

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

Первые исследования SHA-256 на присутствие уязвимостей начали осуществляться специалистами с 2003 года. На тот момент ошибок в протоколе обнаружено не было.

Однако, уже в середине 2008 года группа экспертов из Индии смогла отыскать коллизии для 22 итераций архитектур семейства SHA. Через несколько месяцев был предложен способ разработки коллизий для усеченного варианта протокола, а затем и для 31 итерации хеширования непосредственного самого SHA-256.

Во время анализа функции свертки осуществляется тестирование ее сопротивляемости к 2 разновидностям атак:

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

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

Практическое применение и сертификация технологии

Законодательством Соединенных Штатов Америки разрешается использование SHA-256 и прочих аналогичных методов хеширования в определенных государственных программах для защиты сведений. Кроме того, допускается применение алгоритма коммерческими компаниями.

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

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

В противовес Bitcoin, Лайткоин, Догикоин и прочие схожие «коины» используют протокол шифрования Scrypt, который оснащен функцией повышения сложности. Данный алгоритм в ходе деятельности сохраняет 1024 различных значения хеш-функций, а уже на выходе соединяет их и получает преобразованный результат. Благодаря этому для реализации протокола нужны несравнимо большие вычислительные мощности.

Вывод

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

С позиции рядового пользователя нет никакой разницы между протоколами SHA-256 и Scrypt. Можно майнить цифровую валюту своим компьютером или фермой на любом из данных протоколов.

Алгоритм SHA-256 на сегодняшний день занимает более 40% всего рынка, однако, вне всякого сомнения, имеются и другие. И в скором времени они потеснят прославленного предшественника. Так, из сравнительно свежих необходимо упомянуть об особенно «майнероустойчивом» протоколе Dagger, который собираются использовать в децентрализованной площадке Эфириум. Возможно, именно он примет эстафету лидера в области хеширования и займет место SHA-256.

Привет друзья.
В данной статье вы узнаете о том, что такое алгоритм SHA256, каковы его особенности и в основе каких криптовалют он заложен. Аббревиатура данного алгоритма расшифровывается как Secure Hashing Algorithm.

Sha256 алгоритм – это один из наиболее востребованных механизмов для шифрования данных, который входит в семейство алгоритмов SHA2. Эта категория криптографических алгоритмов была создана в середине 2002 года. Ее разработкой занималось Агентство национальной безопасности США.

В основу SHA 2 вошли более ранние виды хеш-функций, в частности созданная в 1995 году SHA1. По состоянию на 2019 год, семейство SHA 2 состоит из нескольких алгоритмы:

  • SHA-224;
  • SHA-256;
  • SHA-384;
  • SHA-512;
  • SHA-512/256;
  • SHA-512/224.

Последними обновлениями в семействе стали хеш-функции SHA-512/256 и SHA-512/224, которые появились в первом квартале 2012 года. Но в 3-м квартале 2012 года состоялся релиз алгоритмов 3-го пополнения – SHA 3, который стал более совершенным.

Как работает SHA 256

Algorithm Sha 256 выполняет функцию изменения (преобразования) любого рода информации в значения фиксированного размера по 256 бит или 32 байт. Эти значения называются цифровыми отпечатками. При дальнейшей работе полученные значения используются для расшифровки информации.

Больше информации о том, как работает алгоритм SHA-256 вы можете узнать в этом видео.

Майнинг sha 256

Если вы просмотрели видео, вы уже знаете, что SHA 256 – алгоритм хеширования биткоина. Стоит отметить, что на момент создания криптовалюты BTC, этот метод был одним из самых новых, поэтому использовал его в своем проекте.

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

По мере роста цены BTC популярность его майнинга также возрастала. Поэтому, спустя время, появились компании-производители, которые начали создавать чипы, ориентированные на добычу криптовалют. Устройства, в основе которых находились эти чипы получили название ASIC (Application Specific Integrated Circuit).

В 2019 году, именно ASIC Miner пользуются наибольшей популярностью среди майнеров. Они более производительные и требуют меньше усилий для настройки, по сравнению с GPU-процессорами (видеокартами). Наиболее популярный производитель асиков – компания Bitmain, которая выпускает линейку Antminer. По состоянию на 2019 год, самые мощные устройства для добычи BTC и BCH это:

  • T2 Turbo+ (T2T+) Miner от производителя Innosilicon;
  • T2 Turbo (T2T) Miner от производителя Innosilicon;
  • Antminer S9-Hydro от производителя Bitmain;
  • Ebit E10 18T от производителя Ebang Communication;
  • DragonMint T1 от производителя Halon Mining.

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


Рост курса криптовалют в 2017 году привёл к повышению спроса на майнинг. Тысячи людей бросились в интернет-магазины в поисках мощного оборудования для добычи виртуальных монет. Спросом пользуются видеокарты с высоким хэшрейтом, а также ASIC оборудование (специальные аппараты для майнинга). И если для добычи новых криптовалют GPU ещё подходит, в случае с Биткоином, Лайткоином и другими виртуальными монетами из ТОП-10 добыча на видеокарте менее эффективна. Вот почему все больше майнеров отдает предпочтение ASICам. Вопрос лишь в том, что лучше майнить на асиках, и какие монеты принесут наибольшую выгоду.

Что можно майнить на асиках - алгоритмы и криптовалюта

Всё больше майнеров интересуется перспективами виртуальных монет и вопросом заработка. При этом мало кто понимает в тонкостях криптографии. Чтобы правильно подобрать ASIC, важно знать алгоритм, на котором он работает. Рассмотрим варианты оборудования, которое имеется в продаже на январь 2018 года.

Асики на SHA-256


Таблица с Асиками, функционирующими на алгоритме SHA-256


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

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

Сегодня рассматриваемый алгоритм реализуется на многих ASIC майнерах, что позволяет пользователям выбрать подходящий по цене и характеристикам вариант, после чего приступать к майнингу. С помощью аппаратов на SHA-256 удаётся майнить не только Bitcoin, но и ряд других криптовалют, работающих на этом алгоритме - Биткоин Кэш, Пиркоин, Неймкоин, еМарк (Deutsche eMark) и другие.

Актуальные Асики на SHA-256 на январь 2018 - Uranus v1 Miner, Antminer S9, SMART Miner 2.0 SE.

Асики на Scrypt


Примеры ASIC майнеров, работающих на алгоритме Scrypt


В 2011 году выпущена новая криптовалюта - Лайткоин, которая является форком Биткоина, но работает на другом алгоритме - . С ростом сложности добычи Bitcoin майнеры стали обращать внимание на новые виртуальные монеты. Так, к 2013–2014 году при добыче Биткоина многие перешли на асики, в то время, как Лайткоин ещё можно было добывать на видеокартах.

В 2017 году с ростом курса сообщество майнеров, добывающих Litecoin, значительно возросло. Это привело к росту сложности майнинга и потребности в появлении ASIC-оборудования. Так появились аппараты, добывающие монеты на алгоритме Scrypt - втором по популярности после SHA-256.

В процессе создания новой функции хэширования ставилась задача повысить требования к аппаратным ресурсам, участвующим в процессе майнинга. По принципу действия новый алгоритм почти не отличается от существующего SHA-256. Здесь также на вход приходит пакет данных, после чего применяется хэш-функция, а к выходу направляется хэш. Разница в том, что для расчета хэш-функции требуются большие ресурсы. В алгоритме Scrypt применяется увеличенный объём оперативной памяти, которая необходима для накопления битовых последовательностей. Их генерация происходит на старте процесса. После получения вектора элементы устанавливаются в произвольном виде и формируют ключ. Следовательно, для добычи виртуальных монет на Scrypt требуется больше оперативной памяти. Вот почему на начальном этапе майнеры добывали на обычных ПК с простой видеокартой, но ёмкой «оперативкой».

Рост сложности добычи Litecoin заставил пользователей задуматься о замене ПК в пользу более мощного оборудования - . Вопрос в том, какую валюту майнят асики на Scrypt. Здесь не только Биткоин, но и ряд других виртуальных монет, а именно Verge, Spots, Nyancoin, Догикоин и другие. Если говорить о добыче Лайткоинов, применение видеокарт постепенно теряет актуальность, уступая дорогу ASIC оборудованию.

Асики на Scrypt, актуальные на январь 2018 - Antminer L3+, Innosilicon A4.

Асики на Х11


Алгоритм Х11 первый раз использовался при разработке форка Даркоина. В его основе лежит 11 этапов хэширования и столько же хэш-функций. Благодаря этой особенности, Х11 считается одним из наиболее надёжных алгоритмов в криптовалютном мире. Главное преимущество Х11 в сравнении с SHA-256 заключается в большей надёжности. К примеру, в случае со SHA-256 вероятность взлома (хоть и незначительная) остаётся. Это значит, что криптовалютная сеть также не в безопасности. Проблема касается и другого алгоритма - Scrypt. Создатели Х11 уверяют, что здесь подобные «пробелы» в безопасности исключены, а она находится на высочайшем уровне.

При рассмотрении вопроса, какую валюту манить на асике, пользователей интересует вопрос доходности и окупаемости добычи виртуальных монет. Здесь алгоритм Х11 и его криптовалюты (Dash, StartCoin, Cannabiscoin и другие) считаются одними из лидеров. К примеру, криптовалюту Даш можно майнить с помощью видеокарт, но позволяет добиться ещё большей доходности.

Кроме рассмотренных выше, стоит выделить и ряд других алгоритмов, но здесь для майнинга криптовалют аппаратура ASIC пока не применяется - достаточно ферм. Речь идет о следующих алгоритмах:

  1. Blake-256 (Blakecoin).
  2. Groestl (Groestlcoin).
  3. EtHash (Ethereum, Ethereum Classic).
  4. Equihash (Биткоин Голд, Zcash).

Какие криптовалюты можно майнить на асиках - сравнение эффективности


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

Antminer D3 для Х11


Майнер Bitmain Antminer D3 - один из наиболее мощных ASIC аппаратов, который подходит для добычи криптовалют на алгоритме X11. Это компактное устройство, которое имеет габариты 32х13х19 см, а также скорость хэша, составляющую 15 Гх/сек.

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

Если вас интересует, что можно майнить на асиках Bitmain Antminer D3, то здесь доступна добыча Dash, Startcoin, Cannabiscoin и MonetaryUnit.

Исходные условия для расчёта, что лучше майнить на асике:

  1. Тариф на электроэнергию - 0,09 доллара (по Москве).
  2. Скорость майнинга - 15 Гх/сек.
  3. Мощность потребления - 1200 Вт.
  4. Цена - 2500 долларов.
  5. Расчётный период - 30 дней.
Получаем следующие результаты доходности Antminer D3 в месяц:
  1. Для Cannabiscoin - 187 долларов. Окупаемость - около 13–15 месяцев.
  2. Для Startcoin - 174 доллара. Окупаемость - 14–15 месяцев.
  3. Для Dash - 186 долларов. Окупаемость - около 13–15 месяцев.
  4. Для MonetaryUnit - 101 доллар. Окупаемость - около 25 месяцев.
На основании приведённых расчётов делаем вывод, какие криптовалюты можно майнить на асике Antminer D3 с позиции выгоды. Лучшее решение - добыча Dash или Cannabiscoin. Худшую окупаемость показывает криптовалюта MonetaryUnit.

Antminer S9 для SHA-256


Следующий аппарат, который достоин внимания - , предназначенный для добычи виртуальных монет на алгоритме SHA-256. Сегодня в продаже можно найти модели со скоростью хэширования от 11,5 до 14 Тх/сек. При этом потребляемая мощность оборудования (в зависимости от модели) от 1,127 до 1,372 кВт. Как и рассмотренный выше аппарат, Bitmain Antminer S9 имеет небольшие размеры - 35х13,5х15,8 см.

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

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

С помощью Antminer S9 можно майнить следующие криптовалюты - Биткоин Кэш, Пиркоин, Биткоин, Неймкоин и другие. Рассмотрим доходность и окупаемость Antminer S9 для этих виртуальных монет.

  1. Применяемый калькулятор - bitcoincloudmining.center/calculator-mayninga.
  2. Дата расчёта - 23.01.2018 года.
  3. Скорость майнинга - 14 Тх/сек.
  4. Мощность потребления - 1372 Вт.
  5. Цена - 5–7 тысяч долларов.
  6. Расчетный период - 30 дней.
Результаты доходности в месяц асика Bitmain Antminer S9:
  1. Для Биткоина Кэша - 566 долларов. Окупаемость - около года.
  2. Для Биткоин - 497 доллара. Окупаемость - 12–13 месяцев.
  3. Для Пиркоина - 509 долларов. Окупаемость - около 12–13 месяцев.
  4. Для Неймкоина - 3 доллара. Окупаемость нет смысла рассчитывать.
С помощью Antminer S9 можно майнить и другие криптовалюты на SHA-256, но приведённого примера достаточно, чтобы сделать предварительные выводы. Приблизительно равную доходность показывают Биткоин, Пиркоин и Биткоин Кэш. Их майнить выгодно при условии, что сложность сети не будет сильно меняться в год окупаемости, а стоимость криптовалюты останется на том же уровне или пойдёт вверх. Что касается Неймкоина, его добыча с помощью Antminer S9 нерентабельна.

Antminer L3+ для Scrypt


Майнер Antminer L3+ считается одним из наиболее мощных аппаратов для добычи монет на алгоритме Scrypt. Его особенность заключается в высокой скорости хэширования - 504 Мх/сек, а также низкой потребляемой мощности, находящейся на уровне 0,8 кВт. Выпуск этого оборудования стартовал только в прошлом году. С ростом курса Litecoin значительно вырос и спрос на это оборудования у майнеров в СНГ и других странах мира.

Новый майнер отличается большей эффективностью, если сравнивать с прошлой моделью. Внутри аппарата находится около 288 микросхем, которые помещаются в небольшом корпусе размером 35,2х13х18,75 см. Процесс настройки не занимает много времени - достаточно включить устройство, ввести реквизиты, после чего начать работу.

С помощью Bitmain Antminer L3+ можно майнить все криптовалюты, которые работают на Scrypt, а именно Лайткоин, Мегакоин, Догикоин, Верже и другие. Рассмотрим доходность каждой из них в случае применения рассматриваемого аппарата.

Исходные условия для расчета, что лучше майнить на асике:

  1. Применяемый калькулятор - bitcoincloudmining.center/calculator-mayninga.
  2. Дата расчета - 23.01.2018 года.
  3. Тариф на электроэнергию - 0,09 доллара.
  4. Скорость майнинга - 504 Мх/сек.
  5. Мощность потребления - 800 Вт.
  6. Цена - 4–5 тысяч долларов.
  7. Расчётный период - 30 дней.
Результаты доходности Bitmain Antminer L3+ в месяц для наиболее востребованных криптовалют:
  1. Для Лайткоина - 345 долларов. Окупаемость - 14 месяцев.
  2. Для Мегакоина - 343 доллара. Окупаемость - 14 месяцев.
  3. Для Догикоина - 11,96 долларов. Окупаемость нет смысла рассчитывать.
  4. Для Верже - 570 долларов. Окупаемость - 9 месяцев.
Подведём очередной итог, какие валюты майнят на асике Antminer L3+. Лучшие результаты показал Лайткоин, Мегакоин и Verge. При этом последняя показала наибольшую доходность.

Какую валюту майнить на асике - выводы


Решение, какую криптовалюту майнить с помощью оборудования , каждый майнер принимает индивидуально. Как видно из расчётов, на асиках можно майнить такие криптовалюты: Cannabiscoin, Dash, Verge, Bitcoin, Bitcoin Cash, Litecoin. А вот Догикоин и Неймкоин не стоят внимания в этом плане, поскольку их курс не позволяет окупить затраты на оборудование. Главное в майнинге - правильно подобрать аппарат с учётом алгоритма интересующей виртуальной монеты, учесть тенденцию роста сложности и стоимость коинов. По рассмотренному алгоритму можно рассчитать доходность любой криптовалюты при условии применения различного оборудования - не только ASIC майнеров, но и обычных ферм GPU. В процессе расчёта учтите тариф на электроэнергию для своего региона и комиссию пула.

Ушедший 2017 год стал годом взрывной популярности криптовалют и такого же стремительного роста курса «главной» криптомонеты Bitcoin. Эти обстоятельства подогрели интерес не только к спекуляциям и майнингу, но и к самой сути явления. Все больше людей желают докопаться до сути – как же это все работает?

Мы открываем серию материалов, в которых постараемся в максимально доступной форме объяснить, что стоит за этими загадочными акронимами вроде Scrypt, SHA-256, Х11 и прочими. Начнем с важнейшего (но не самого лучшего) для мира криптовалют алгоритма — SHA-256. Именно он является основой разработки Bitcoin. Но перед этим определимся с ключевой терминологией – определим значения терминов «майнинг» и «хэш».

Что такое майнинг?

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

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

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

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

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

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

Приведем пример. Мы можем «скормить» хеш-функции, скажем, текст романа в стихах А. С. Пушкина «Евгений Онегин», и получим на выходе шестнадцатеричный код приблизительно такого вида:. Обратно «развернуть» этот код и превратить его в «Евгения Онегина», конечно же, нельзя. Но стоит только в поэме поменять один-единственный знак, даже просто добавить один пробел, как результирующий хеш преобразится до неузнаваемости. Объем тоже никак не влияет на длину хеш-кода. Так, можно подать на вход функции один символ «а», и на выходе получится точно такой же набор псевдослучайных символов ровно такой же длины.

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

В интерфейсе программного обеспечения для майнинга процессы преобразования блоков в хеш-суммы отображаются в виде лаконичной строки вида «Accepted 0aef59a3b». Блок может состоять из тысяч или даже сотен тысяч подобных строк, но только одна может служить той самой «подписью» блока, в поиске которой и заключается суть майнинга.

Поиск правильного хеша осуществляется простым перебором результатов решения огромного числа задач. В алгоритме SHA-256 «правильность» хеша определяется количеством нулей в начале хеш-суммы. Вероятность узнать такой хеш-код путем определенных алгоритмом вычислений ничтожно мала – один шанс на миллионы решений. Точная вероятность определяется текущим уровнем сложности в децентрализованной системе конкретной криптовалюты.

Примечательный факт. С алгоритмом SHA-256 каждый из нас неоднократно имел дело, сам того не подозревая, даже безотносительно майнинга криптовалют. Речь о сертификате безопасности SSL, которым защищены очень многие веб-сайты. При посещении такого сайта вы автоматически взаимодействуете с SHA-256, на котором построена работа SSL.

Особенности протокола SHA-256

Для начала немного истории. Изначально алгоритм шифрования SHA-256, вернее, его прототип, был придуман в стенах «зловещего» АНБ (Агентства национальной безопасности США) в теперь уже далеком 2002 году. Уже через пару месяцев он был видоизменен и официально представлен Национальным метрологическим университетом на федеральном уровне. Через два года вышла его вторая, усовершенствованная версия.

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

В конечном счете SHA-256 лег в основу создания первой в мире криптовалюты – Bitcoin. При этом протокол задействуется дважды для повышения защиты.

При проведении вычислений в рамках майнинга в системе Bitcoin признаком пригодности получаемого хеш-кода является число нулей в начале строки. По состоянию на конец 17-го, начало 18-го годов количество требуемых начальных нулей равно 17 (+/-). Вероятность обнаружения такого кода составляет приблизительно 1 к 1.4*10 20 . Это чудовищно малое число, не поддающееся осмыслению и сравнимое с вероятностью отыскать песчинку определенной формы на всех песчаных пляжах нашей планеты. Вот почему майнинг Биткойна требует таких огромных вычислительных мощностей и столько электроэнергии.

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

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

Работа протокола подразумевает разбиение информации на фрагменты по 512 бит каждый (или 64 байта, что то же самое, так как 1 байт = 8 бит). Затем происходит криптографическое «перемешивание» по заложенной в алгоритме схеме, и на выходе издается хеш-код размером в 256 бит. Операция хеширования производится в 64 итерации, что относительно немного, особенно на фоне новых появившихся криптографических алгоритмов.

Основные технические параметры SHA-256 следующие:

  • Размер блока: 64 байт;
  • Максимальная длина сообщения: 33 байт;
  • Размер результирующего хеш-кода: 32 байт;
  • Количество повторений в одном раунде: 64;
  • Максимальная скорость: около 140 MiB/s (мебибайт в секунду).

В своей работе алгоритм использует известную методику Меркла-Дамгарда, которая подразумевает разделение начального показателя на блоки сразу после внесения изменений. Блоки, в свою очередь, делятся на 16 слов каждый.

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

Эволюция SHA-256

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

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

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

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

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

Недостатки алгоритма

То, что разработчикам удалось исправить собственные ошибки, отнюдь не значит, что SHA-256 им получилось довести до совершенства. Протокол избавился от явных уязвимостей, но его «родные» недостатки остались.

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

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

Каждая итерация в рамках алгоритма выглядит довольно примитивно – элементарная двоичная операция плюс 32-разрядное сложение. Именно поэтому асики на SHA-256 появились столь молниеносно, умножив на ноль все надежды «домашних» майнеров, располагающих только процессором и парочкой видеокарт.

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

Резюме

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

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

Протокол SHA-256 на нынешний момент занимает львиную долю рынка криптовалют, но новые альтернативы его уже сейчас уверенно теснят. Например, вторая по популярности и «дороговизне» крипта – Ethereum использует протокол Ethash, который раньше назывался Dagger. Протокол настолько хорош, что Ethereum по сей день держит максимальную децентрализацию, и ASIC-майнеров для его добычи до сих пор не существует в природе. Возможно, именно Ethash придет на смену явно морально устаревшему SHA-256.

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

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

Следующий материал в рамках данной темы мы посвятим упомянутому альтернативному протоколу шифрования Scrypt.

Известно, что криптовалюты генерируются путем майнинга, он же является основным моментом в создании защиты сети блокчейн. Майнинг криптовалют основан на использовании алгоритма хеширования SHA-2. Благодаря этому алгоритму производится добыча основной криптовалюты Bitcoin и обеспечивается его безопасность. SHA-2 также используется для майнинга альткоинов: Bitcoin Cash, Bitcoin Gold, Litecoin Cash, Auroracoin и других. На алгоритме SHA-2 базируются некоторые протоколы передачи защищенной информации, TLS, SSH, PGP, в том числе протоколы TCP/IP для передачи данных в Интернете.

Алгоритм безопасного хеширования SHA-2 (Secure Hash Algorithm Version 2) представляет собой совокупность криптографических хеш-функций, направленных на шифрование информации с целью ее защиты. Одной из хеш-функций алгоритма SHA-2 является SHA-256, которая используется для майнинга криптовалют.

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

Особенности протокола SHA-256

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

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

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

1. При изменении входящей информации хеш-сумма должна измениться.

2. В процессе хеширования необходимо получить уникальную хеш-сумму.

3. Хеши должны быть необратимы, т.е. можно работать с входящей информацией, но нельзя выполнить обратный процесс.

4. Должна быть максимально усложнена генерация ключа с помощью хеширования.

Каждый узел одноранговой сети криптовалюты должен «выловить» из транзакций в сети интересующую его (прежде всего, суммой комиссионных) транзакцию, и провести ее верификацию: проверить вход, выход и подлинность электронной подписи. Затем начать формировать блок заданной емкости, для Bitcoin - 1Мб. Кроме версии и времени создания блок включает хеш входящих в него транзакций, хеш предыдущего блока, nonce и bits – специальные параметры, которые выражают условие для создания уникального хеша. Вместе они подвергаются многократному хешированию и генерируют хеш заглавия формируемого блока, который станет его выходом, а для последующего блока входом.

Представим, что в начале хеша должно быть определенное количество нулей, например, nonce =18. Найти такой хеш невероятно сложно, используя метод перебора. Но это-то как раз и гарантирует защищенность информации в сети блокчейн. Для генерации хеша блока потребуется просто гигантское количество переборов чисел. Но как только число найдено, оно передается по узлам сети вместе с готовым блоком и полученным хешем с 18 нулями. Каждый участник сети проверяет хеш, склеивая число с данными из блока. Если протокол Proof of Work реализован, блок устанавливается в конце самой длинной ветки блокчейна.

В 2003 году протокол впервые попал под прожектор внимания специалистов. Его исследованием были заняты команды разработчиков по всему миру. Основным вектором работы был поиск уязвимостей, однако вплоть до 2008 года никто не мог обнаружить ни одной проблемы. Впервые сделать прорыв удалось специалистам из Индии. В ходе их исследований было выявлено 22 уязвимости, для которых впоследствии были предложены варианты решения.

Технические данные SHA-256

    Размер блока в байтах – 64.

    Максимальная длина сообщения в байтах – 33.

    Дайджест сообщений в байтах – 32.

    Размер слова из расчета в байтах – 4.

    Внутреннее положение (длина) в байтах – 32.

    Максимальное число итераций из расчета за один цикл – 64.

    Удельная скорость протокола (MiB/s) ≈ 140.

Метод работы алгоритма SHA-256 подразумевает деление начального показателя после внесения в него каких-либо коррективов на блоки. Последние, в дальнейшем, претерпевают деление на 16 слов.

Битовые операции протокола представлены следующим образом:

    and - смысловое значение «и»;

    shr - отображает перемещение выбранного значения на заданное количество бит вправо;

    rots - основным значением является принудительный циклический сдвиг;

    || - позволяет соединять линейные структуры (основным элементов, на которое оказывается воздействие, являются строки);

    xor - значение, ввод которого устраняет команду «или»;

    Стандартное соединение значений (прибавление).

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

Важно! Высокий уровень изученности алгоритма стал опорой для его продвижения в программировании. Доказательством доверия является официальное разрешение со стороны правительства США на применение SHA-256 в качестве алгоритма для защиты информации.

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

Подводим итоги

Таким образом, вполне вероятно, что Scrypt и прочие более современные алгоритмы в ближайшем будущем смогут потеснить SHA-256, который занимает более трети от общего рыночного объема на данный момент. Уже много криптовалют используют для майнинга или .

Поделиться