Sha 256 валюты. Расшифровка Sha256 и особенности майнинга

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

История

Название алгоритма SHA 256 является аббревиатурой от Secure Hashing Algorithm. Так его назвал разработчик - Агентство национальной безопасности США. Алгоритм представляет собой функцию хеширования. Это означает, что на ее вход поступает объем данных произвольной длины, а на выходе получается набор символов фиксированной длины, называемый хешем.

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


Алгоритм является частью семейства SHA-2, разработанных на базе SHA-1, появившегося в 1995 году. С момента своего появления sha256 подробно проверялся на стойкость с помощью криптоанализа. Криптоанализ проверяет устойчивость хеш-функций к двум основным видам атак:
  • Нахождение коллизий - обнаружение одинаковых хешей при разных параметрах на входе. Вероятность успеха данной атаки ставит под угрозу безопасность цифровой подписи с применением текущего алгоритма.
  • Нахождение прообраза - возможность расшифровывать исходное сообщение по его хешу. Данная атака ставит под угрозу безопасность хранения хешей паролей аутентификации.

Впервые анализ был проверен в 2003 году, но тогда уязвимости не были найдены. Время шло, вычислительные мощности развивались. В 2008 году были найдены коллизии для итераций SHA-512 и SHA-256. В сентябре того же года был разработан метод создания коллизий для 31 итерации SHA256 и 27 итераций SHA-512.

Очевидно, что настала пора разрабатывать новую криптостойкую функцию. В 2012 году АНБ был изобретен SHA-3. Постепенно обновленный алгоритм будет вытеснять своих менее криптостойких предшественников.

Майнинг на SHA 256

Законодательство США разрешает использовать SHA и похожие хеш-функции как часть других протоколов и алгоритмов в некоторых федеральных приложениях для защиты информации, не имеющих грифа «Секретно». Допускается применение SHA-2 частными и коммерческими организациями.

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

  • CPU (центральный процессор);
  • GPU (видеокарты);
  • ASIC (специализированное устройство).

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


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

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

Впрочем, это легко посчитать. Существуют калькуляторы для расчета прибыльности майнинга на sha256. Например, https://www.coinwarz.com/miningprofitability/sha-256 . Введите в форму хешрейт своего оборудования (вычислительная мощность), потребляемую энергию и ее стоимость, сервис рассчитает прибыль.

Альткоины SHA-256

Рассмотрим перечень и список криптовалют, работающих на sha 256.

Bitcoin Cash (BCH)

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

Namecoin (NMC)

Представляет собой систему хранения и передачи комбинаций вида «имя-значение», основанную на технологии биткоин. Самым известным ее применением стала система распределения доменных имен, независимая от ICANN, а значит, делающая невозможным изъятие домена. Namecoin была запущена в 2011 году, она работает на ПО для майнинга биткоина, перенаправленное на сервер, где работает Namecoin.

DigiByte (DGB)

Криптовалюта, запущенная в 2013 году с целью улучшить характеристики биткоина и лайткоина. Отличия DigiByte:

  • Низкая волатильность достигается за счет огромного количества выпускаемых монет (до 21 млрд), что позволяет обеспечить их низкую стоимость и удобство для использования в расчетах;
  • Быстрые транзакции за счет увеличения размера блока вдвое каждые два года;
  • Низкие комиссии или их отсутствие;
  • Процесс майнинга распределен на пять алгоритмов, позволяющих добывать монеты независимо друг от друга. Можно использовать асики для SHA-256 и Scrypt, видеокарты для Groestl и Skein, процессор для Qubit.

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

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

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

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

Как мы все знаем, при майнинге SHA-256 монет, мы решаем поставленную задачу при помощи процессора CPU или GPU. Процессы преобразования отображаются в интерфейсе программы, предназначенной для майнинга, например, в виде строки «Accepted 0aef41a3b». Значение 0aef41a3b — это и есть хэш. Он представляет собой кусок данных для раскодирования, которому соответствует полученный хэш-код. Если еще проще, то это короткая строка расшифрованных данных, тогда как основной кусок (или блок) данных состоит из нескольких тысяч, если не миллионов, подобных строк.

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

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

Теперь вернемся к алгоритму SHA-256. Криптовалюта — это не единичный пример, где используется SHA-256. Есть несколько протоколов, о которых вы, скорее всего, слышали и которые работают по схожему алгоритму. Это протоколы SSL, SSH, PGP и многие другие. Каждый раз, когда вы заходите на защищенный веб-сайт с помощью сертификата SSL, используется SHA-256. Бьюсь об заклад, вы не задумывались об этом, не так ли? Все мы узнаем что-то новое со временем!

Итак, давайте поговорим о протоколе SHA-256! У вас наверняка есть биткоин, который является самой известной альтернативной валютой на сегодняшний день. Но это не повод останавливаться на достигнутом. В последнее время наблюдается всплеск новых SHA-256 монет: Zetacoin, Ocoin, Tekcoin и др. Но мы также не можем забывать про те монеты, которые были запущены ранее, например, NameCoin и т.д.

В следующей статье мы рассмотрим особенности работы алгоритма Scrypt!

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

Суть SHA 256 - в преобразовании информации в значения, цифры. Данная цепочка имеет фиксированную длину. Это значит, что любые сведения, передаваемые вами внутри сети, будут зашифрованы специальными значениями - идентификаторами(ID).

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

История появления

Как получилось, что Bitcoin начал использоваться SHA 256? Все началось с того, что алгоритм стал членом семейства SHA-2, которые имеют размер цепочки хеша 224-512 бит.

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

Семейство SHA-2, к которому принадлежит SHA 256, было разработано Агентством национальной безопасности 16 лет назад - весной 2002. Исходя из этого, можно сказать, что алгоритм морально устарел. Однако он по-прежнему является одним из самых надежных алгоритмов для шифрования транзакций в сети.

Технические параметры SHA 256

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

Краткие характеристики алгоритмичных инструкций SHA 256:

  • блоки 64-битного размера - наиболее быстро работает с 32-битными;
  • пиковая длина зашифрованной цепочки информации - 33 байта;
  • объем дайджеста сообщения - 32 байта;
  • стандартизированный размер одного слова - 4 байта;
  • цикличность шифрования в одном раунде операции - 64 байта;
  • скорость, на которой работает алгоритм - 140 Мбит/с.

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

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

Криптовалюты с алгоритмом SHA 256

Как и говорилось ранее, таким набором инструкций обладает не только Bitcoin, но и:

  • peercoin, особенность которого заключается в том, что код создается на основе битка, но вот PoS применяется для защиты всей сети, а PoW отвечает за распределение монет;
  • namecoin - цифровая валюта, которая выступает средством защиты, конфиденциальности, децентрализации; unobtanium - отличается крайне низкой инфляцией, чтобы добыть все монеты потребуется, как минимум, 300 лет;
  • deutsche eMark - немецкая микросеть, которая используется для обмена активами и деньгами. Сам процесс проходит без посредников; betaCoin - работает по такому же принципу, что и всемирно известный BitCoin;
  • jouleCoin - также базируется на дедушке биткоине, однако обеспечивает более быстрое подтверждение транзакций;
  • steemit - даже не отдельная крипта, а целая платформа на блокчейне. Ее главная задача - награждение за интересные публикации.

Litecoin тоже использует алгоритм SHA 256, однако не во всей системе, а в подпрограмме. Для добычи лайткоина применяется защитный протокол Scrypt, что сказывается на увеличении сложности майнинга и снижает окупаемость асиков.

Майнинг криптовалюты на основе алгоритма SHA 256

Для добычи электронных монет, которые основываются на семействе SHA-2, необязательно использовать специализированные средства - ASIC. В майнинге отлично себя показывают и фермы на основе CPU и GPU. Последний по скорости явно превосходит первый.

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

Добыча на GPU считается более-менее прибыльной. В целом, вся ферма будет стоить приблизительно $1000-2000, плюс дополнительное оборудование - в частности, системы охлаждения для видеокарт. Также стоит учитывать аренду помещения, оплату электроэнергии и зарплату обслуживающему персоналу.

Среди видеокарт неплохо себя показывает GTX 1080 Ti от Nvidia. Она выдает скорость в 1400 удачных операций в секунду. AMD чуть отстает со своими картами линейки Vega - 1200 MH/s. Есть и более дешевые варианты вроде Radeon 7970, однако его скорость не превышает 800 MH/s.

Алгоритм SHA 256 хоть и старый, но по-прежнему используется в Bitcoin - криптовалюте №1 в мире. Протокол применяется и в ряде других перспективных альткоинов. На смену SHA256 постепенно приходит Scrypt, однако биткоин не планирует на него переходить. Касаемо майнинга все просто - если есть деньги, берите асики с высокой скоростью хеширования. Хотите более экономное решение? Тогда стройте ферму из видеокарт AMD или Nvidia.

Привет друзья.
В данной статье вы узнаете о том, что такое алгоритм 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 год стал годом взрывной популярности криптовалют и такого же стремительного роста курса «главной» криптомонеты 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.

Loading...Loading...