Scrypt: особенности и преимущества алгоритма

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

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

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

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

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

Большое значение в рассматриваемом алгоритме уделяется видеокартам. Рассматривая покупку видеокарт для Scrypt-майнинга, рекомендуется отдать предпочтение изделию от компании ATI. В связи с архитектурными различиями, производительность майнинга на таких видеокартах намного выше, чем в случае использования Nvidia. Однако здесь нельзя говорить однозначно, ведь ситуация на рынке стремительно меняется, и оба производителя активно совершенствуют свою продукцию.

Анализируя вышесказанное, приходим к выводу: оба алгоритма - SHA-256 и Scrypt - приводят к получению путем многочисленных переборов «красивого хэша», который предоставит нам (или, точнее, пулу, на который осуществляется работа) право на удлинение блокчейна и получение за это вознаграждения. Разница заключается только в различном решении поставленной задачи: SHA-256 делает упор на технические характеристики аппаратного обеспечения - результат прямо пропорционален производительность, тогда как для работы Scrypt требуется большой объем памяти, и чем больше будет размер ОЗУ и видеокарты, тем выше будет производительность.

В Scrypt-майнинге среди всех альткойнов наиболее популярным является Litecoin, хотя также успешно применяются и Dogecoin, Franco, Digitalcoin, Bottlecaps и др.

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


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

С увеличением котировок и популярности Bitcoin, LTC, Ethereum, а также других цифровых активов, всё больше людей пытаются вникнуть в механизмы функционирования систем альткоинов, понять азы криптографии. Ведь открытый код Биткоина позволяет создать собственную криптовалюту, имеющую шанс (теоретически) стать трендом.

Вторым альткоином, разработанным на коде , стал Лайткоин, алгоритм которого кардинально отличается от стандарта SHA-256, разработанного Сатоши Накамото.

Особенности майнинга Лайткоина

Созданный в 2011 году альткоин Litecoin отличается от BTC некоторыми особенностями добычи:

  • Прежде всего, Лайткоин является вторым в истории форком первой криптовалюты.
  • Известно, что будет сгенерировано в общей сложности 84 млн монет, в 4 раза больше по сравнению с Биткоином.
  • Параллельно с увеличением числа коинов, была уменьшена в 4 раза скорость создания блоков, которая составила всего 2,5 минут. Следует отметить, что это чисто теоретические показатели. Особенно это касается системы первой криптовалюты, у которой наблюдаются явные проблемы с масштабированием сети и продолжительностью транзакций. Лайткоин пока с такими вызовами не сталкивался.
  • Показатели сложности Сети определяются 2 раза в неделю.
  • Присутствует и феномен халвинга с аналогичной периодичностью в 4 года, как у BTC. Очередного уменьшения количества призовых монет до отметки 12,5 штук следует ожидать в 2019 году.

Основным отличием в программной части между данными криптовалютами следует считать алгоритм майнинга Litecoin, получивший название Scrypt.

Причины появления нового алгоритма Лайткоина


SHA-256, в отличие от других компонентов программного обеспечения Биткоина, имеет простой функционал. Уже на раннем этапе становления цифровых стандартов взаиморасчётов стало очевидным, что благодаря «лёгкой» структуре, направление добычи с применением центрального процессора персонального компьютера (CPU) будет быстро терять рентабельность. Как итог, в 2010 году стал востребованным майнинг через GPU (графическая карта).

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

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

В системе Биткоина данная проблема стоит весьма остро и сегодня, но в феномене Лайткоина она не так актуальна. По иронии судьбы, понадобилось всего 2 года, чтобы система Litecoin стала убежищем для майнеров с видеокартами, неспособных конкурировать с владельцами полных вычислительных узлов и крупными дата-центрами с тысячами ASIC-майнеров.

Вызовы были решены путём создания нового алгоритма, нашедшего применение в феномене Litecoin. Какой он и чём отличается от стандарта SHA-256? Рассмотрим особенности более детально.

Что такое алгоритм Scrypt?

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

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

Основные принципы функционирования алгоритма Litecoin Scrypt и SHA-256 совпадают. Процесс генерации основан на создании блоков транзакций, каждый из которых состоит из двух компонентов:

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

Алгоритм Лайткоина Scrypt - техническая сторона


Функция хэширования Scrypt является сложной и требует гораздо больше оперативной памяти. В отличие от SHA-256, алгоритм LTC предназначен для обеспечения сохранности данных начального вектора, состоящего из случайных последовательностей. Генерация последних происходит сразу после запуска алгоритма. Процесс создания нового блока ознаменуется определением правильно решения сложных арифметических расчётов. Майнеры получают за это награду в 25 Лайткоин, стоимость которой сегодня варьируется в пределах 5–5,5 тыс. долларов.

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

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

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

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

Перспективы криптоалгоритма Лайткоина Scrypt

Litecoin является самой известной из криптовалют, майнинг которой осуществляется с применением стандарта Scrypt. После появились много цифровых альткоинов на его основе: , Digitalcoin, Franco, Bottlecaps и многие другие. Особенно выросла востребованность подобной разновидности генерации после профессионализации сегмента добычи Биткоина (уже отмечалось выше).

Увеличение популярности алгоритма майнинга Litecoin в последнее время обосновано резким ростом всего рынка криптовалют в 2017 году. Капиталовложения в покупку графических процессоров, в отличие от ASIC-майнеров, обходятся дешевле, а бонусом выступает наличие возможности добычи новых альткоинов, работающих на Scrypt. В качестве примера можно привести цифровой актив Auroracoin, цена которого выросла только за 30–31 декабря на 78,6 %, и составляет 2,35 долларов, а рыночная капитализация превысила 20 млн. долларов.

Сегодня существует несколько тысяч криптовалют. Неудивительно, что они используют разные алгоритмы майнинга. В Bitcoin используется SHA-256, в некоторых других монетах - X11, Keccak или Scrypt-N. Каждый алгоритм имеет свои преимущества и особенности, направленные на поддержание конкуренции среди майнеров. Рассмотрим некоторые из применяемых сегодня алгоритмов и сравним их друг с другом.

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

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

Стоит заметить, что существуют и другие разновидности этого алгоритма - Scrypt-N, Scrypt-Jane и др. Каждый из них имеет свою изюминку. Например, в Scrypt-N требования к памяти меняются через заранее заданные промежутки времени. Таким образом, даже если появится оборудование ASIC, разработанное специально для этого алгоритма, оно устареет уже через несколько лет, так как схема хэширования периодически меняется. Кроме того, существует алгоритм Scrypt-OG, который требует в 8 раз меньше памяти, чем исходный Scrypt. “OG” в данном случае означает “Optimized for GPU” - оптимизирован под графические процессоры.


В 2014 году большой резонанс в криптовалютном сообществе вызвало появление нового алгоритма майнинга, который получил название X11. Он основан на использовании 11 разных раундов хэширования. Благодаря невероятной энергоэффективности при добыче с помощью ЦП и ГП, он был хорошо воспринят сообществом. Данный алгоритм позволяет существенно снизить нагрев оборудования, поскольку предъявляет более низкие требования к вычислительным ресурсам. Повышенная экономичность также приводит к снижению операционных расходов, так как потребляется меньше электричества. Кроме того, X11 сделал невозможным использование существовавших в 2014 году устройств ASICS. Благодаря этому, снова можно было производить с помощью более-менее пристойного компьютера.

К сожалению, алгоритм X11 не смог долго выстоять в борьбе с ASIC. В частности, он был принят на вооружение некогда популярным криптовалютным проектом , известным также под названиями XCoin и Darkcoin, Но довольно быстро для него были созданы специальные устройства ASIC. К ним относятся PinIdea и Baikal, которые быстро стали популярны. Однако несмотря на повсеместное использование специальных микросхем для решения X11, этот алгоритм продолжает оставаться надежным средством, к которому прибегают разработчики криптовалют, когда хотят предотвратить bruteforce-атаки.

Стоит упомянуть разновидности данного алгоритма - X13, X14, X15 и X17. Как можно догадаться, X13 содержит 13 раундов хэширования, X15 - 15 раундов и т. д. Версия X17 появилась еще в 2014 году. Такая тенденция к усложнению обусловлена тем фактом, что новые криптовалютные проекты любят хвастаться, что используют новый алгоритм. Тем самым они стараются привлечь больше внимания к своей монете.


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

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

Относительно недавно появилась новая версия алгоритма SHA-256 - SHA-256D, которая представляет собой удвоенный исходный алгоритм хэширования.

Будьте в курсе всех важных событий United Traders - подписывайтесь на наш

HF17TOPBTC3

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

SHA-256 – традиционный способ

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

Майнинг по этому методу осуществляется за счет мощности специального, центрального или графического процессора. При использовании ПО для добычи криптовалюты, программа отображает преобразовательные процессы, к примеру значение «Accepted 0aef41a3b». Набор цифр и букв – это подпись набора данных, способного включать в себя тысячи и даже миллионы строк.

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

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

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

Еще больше шанс успешной добычи вырастает, при объединении большого количества ASIC-устройств в пулы, которые совместно перебирают комбинации, а при нахождении успешного блока, полученные биткоины делят между всеми участниками по мере сделанного ими вклада. Описываемый метод подходит не только для производства Bitcoin, но также для Peercoin, Tekcoin и т. д.

Методика Scrypt – особенности и достоинства

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

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

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

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

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

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

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

Существует большое количество альткоинов, добываемых на алгоритме Scrypt. Наиболее популярный и известный – Litecoin, хотя существуют и другие. Популярность метода стала стремительно расти после того, как добыча биткоинов полностью перешла на ASIC-устройства, которым обычные персональные компьютеры не могли создать сколько-нибудь существенной конкуренции.

Другие популярные методы и системы

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

Scrypt-Jane изначально использовали для добычи Yacoin, но интерес к этой валюте был не очень долгим. Затем появились монеты Copperbars, Tix и т. д., но они пока не сумели даже приблизиться к популярности и стоимости биткоинов.

Еще один популярный метод – Ethash или Dagger-Hashimoto . Он используется для получения монет системы Ethereum, Ubiq, Ethereum Classic, Expanse и т.д. Этот алгоритм предполагает использование специального DAG-файла, который представляет собой блок данных размер которого изначально составлял 1 Гб. Файл используется для нахождения новой записи и получения вознаграждения. Во время добычи этот файл загружается в графическую память.

С течением времени, через каждые 30 тысяч найденных блоков, DAG растет. Увеличение файла называется сменой эпох. Каждую новую эпоху файл растет на 8 Мб. Время обнаружения нового блока у разных криптовалют отличается: для Ethereum – 30 секунд, для Ethereum Classic – 90 секунд, для Expanse – 15 секунд.

Для расчета используется видеокарта и к ней предъявляются основные требования при вычислениях. В настоящее время размер DAG составляет 2,15 Гб, что делает невозможным производство валюты с помощью карт, объем памяти которых составляет только 2 Гб. Сейчас для расчетов требуется более мощное и современное оборудование.

Для добычи криптовалюты Dash, известной также как Darkcoin и XCoin используют алгоритм x11 . Он использует 11 раундов хэширования за счет использования разных функций. Это делает методику одной из самых защищенных в мире. В отличие от SHA256 для взлома придется найти уязвимости во всех 11 функциях одновременно, если же будет взломана только 1 функция, разработчики успеют заменить ненадежный хэш.

Алгоритм создавался не только с целью повысить надежность и защиту от взлома, но еще и защитить майнинг от использования ASIC. По принципам работы X-11 мало чем отличается от описанных выше методик. Однако выгодно отличается от них безопасностью, анонимностью, а также существенно меньшим нагревом оборудования. По сравнению со Skrypt для использования X11 требуется на 30, а иногда и на все 50% меньше ресурсов на охлаждение используемого оборудования.

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

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.