Dmitry Kopyloff
Dmitry Kopyloff
Читать 9 минут

Алгоритмы шифрования — основа работы криптовалют

Image for post

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

Что такое алгоритм шифрования?

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

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

Сегодня насчитывается несколько десятков алгоритмом шифрования, однако пользуются популярностью лишь несколько из них. Среди востребованных можно назвать следующие: SHA-256, EtHash, Scrypt, X11, CryptoNight, EquiHash, X13, Quark, NeoScrypt. Ниже вы найдете подробный разбор самых используемых алгоритмов хеширования.

SHA-256

Image for post

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

Помимо криптовалют, SHA-256 также широко используется в некоторых других технологиях. Например, работа протоколов безопасности, таких как TLS, SSL, PGP, SSH, построена на SHA-256.

Аббревиатура SHA — это Secure Hash Algorithm, а 256 означает, что алгоритм генерирует 256-битный хеш, т.е. строку (дайджест) размером 256 бит. Хешрейт для криптовалют, работающих на основе SHA-256, вычисляется в единицах Gigahash в секунду (GH/s). На создание блока уходит от шести до десяти минут.

На алгоритме SHA-256 работает Bitcoin, а также ряд других криптовалют, которые в основном являются форками биткоина — Bitcoin Cash, Emercoin, Namecoin, Peercoin, BitcoinDark.

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

Ethash (Dagger Hashimoto)

Image for post

Ethash — это алгоритм шифрования, разработанный специально для Ethereum. В основу работы данного алгоритма хеширования положены два разных алгоритма: Dagger, созданный Виталиком Бутериным, и Hashimoto (название состоит из слов hash, shift, and modulo), разработанный программистом Thaddeus Dryja.

Dagger — это алгоритм, который предъявляет жесткие требования к памяти видеокарты. Принцип его работы похож на Scrypt, однако его производительность выше, особенно это заметно в условиях повышения сложности сети. Но Dagger имеет некоторые уязвимости, поэтому он эффективен только в паре с Hashimoto.

Алгоритм Hashimoto работает с операциями ввода/вывода в особом режиме. В частности, он ограничивает скорость майнинга, из-за того, что количество памяти для записывания и считывания информации не является бесконечным. Hashimoto — это алгоритм, который требует большой объем памяти, за счет чего не получается выполнить большое количество операций ввода/вывода, т.е. для расшифровки не получится использовать метод бесконечного подбора случайных значений. Это и являлось основной причиной того, почему устройства ASIC не подходили для майнинга Ethereum (об этом ниже).

Хейшрейт алгоритма Ethashизмеряется в Megahash в секунду (MH/s).

Изначально Ethash был создан для Ethereum, однако этот алгоритм также используют Ethereum Classic, Ubiq, Expanse, Pirl, Musicoin.

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

Как мы говорили выше, устройства ASIC не подходили для добычи монет, работающих на основе Ethash , однако все изменилось летом 2018 года, когда крупнейший китайский производитель майнеров Bitmain выпустил в продажу модель Innosilicon A10 ETHMaster, т.е. ASIC для Ethereum.

Scrypt

Image for post

Scrypt — это алгоритм, который раньше был интересен многим одиночным майнерам в виду его устойчивости к так называемой «аппаратной атаке». История создания этого алгоритма началась с того, что вскоре стало ясно, что добычу Bitcoin очень легко монополизировать, из-за того что простота функции SHA-256 позволяет автоматизировать процесс майнинга.

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

Скорость создания блоков в блокчейне, работающем на базе Scrypt, составляет около 30 секунд. Хешрейт как и у Ethash измеряется в Megahash в секунду (MH/s).

Scrypt положен в основу работы таких монет как Litecoin, Dogecoin, Redcoin, Monacoin, Viacoin, Syscoin.

Изначально для майнинга криптовалют на основе Scrypt применялись центральные и графические процессоры, однако алгоритм не мог противостоять майнинг-корпорациям и в 2014 году был создан первый ASIC для Scrypt-монет.

В ответ на это криптоэнтузиасты создали усовершенствованный алгоритм под названием Scrypt-N, который впервые был применен в монете Vertcoin. Отличается он тем, что требования к оперативной памяти постоянно растут.

X11

Image for post

Данный алгоритм шифрования был разработан создателем одной из топовых криптовалют (Dash, в прошлом Darkcoin) — Эваном Даффилдом. Все началось с того, что он хотел улучшить анонимность и взаимозаменяемость биткоина, однако сообщество не одобрило его идею. Тогда Эвану не оставалось ничего, кроме как создать свою собственную криптовалюту.

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

Еще одним достоинством X11 является то, что майнинг криптовалют, созданных на его основе, является очень экономным в плане потребления энергоресурсов. Следует сказать, что энергоэффективность — это всего лишь приятный «бонус», так как Эван не ставил за цель создать алгоритм, который бы не требовал больших энергозатрат. Данное свойство заметили майнеры. Проведенные эксперименты показали, что майнинг Dash на видеокартах потребляет на 30-50% меньше электроэнергии, чем майнинг Bitcoin на ASIC-устройствах.

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

На алгоритме X11 созданы такие монеты как Dash Pura, Tao, Synergy, Enigma и многие другие.

На данный момент X11 — не единственный в своем роде, который использует больше одной хеш-функции. По его примеру были созданы другие алгоритмы, которые также построены на интеграции нескольких хеш-функций: X12, X13, X14, X14, X15, X16 и даже X17. Однако X11 до сих пор является самым популярным и самым используемым.

CryptoNight

Image for post

Алгоритм CryptoNight стал, прежде всего, известен благодаря криптовалюте Monero (XMR). Применение CryptoNight позволяет создать конфиденциальную, защищенную и взаимозаменяемую цифровую валюту. Эти свойства достигаются благодаря применению протокола CryptoNight , который был создан в 2012 году разработчиком (или группой разработчиков) под псевдонимом Николас ван Саберхаген. До сих пор неизвестно, кто скрывается за этим именем.

Высокая степень анонимности алгоритма CryptoNight достигается благодаря использованию двух технологий:

  • Кольцевые подписи (шифруют отправителя);
  • Одноразовые адреса (шифруют получателя).

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

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

Секрет в том, что CryptoNight требовательный к оперативной памяти (для правильной работы нужно минимум 2 Гб), а не к скорости проведения математических вычислений, в чем сильны ASIC-майнеры. Процесс поиска правильного nonce для генерации блока состоит в том, что CryptoNight создает рандомные блоки, которые хранит в памяти вычислительного устройства, а не отправляет непрерывные частые обращения к майнеру с целью проведения математических операций, как это происходит в случае использования алгоритма SHA-256 (используемого для Bitcoin). Это позволяет построить более децентрализованную сеть и не допустить возникновения ситуации, когда больше половины хешрейта принадлежит одному узлу, и существует высокая вероятность проведения атаки 51%.

На анонимном алгоритме CryptoNightсозданы такие криптовалюты как Monero, Bytecoin, DigitalNote, Electroneum.

Генерация блока занимает около 60 секунд.

Для эффективного майнинга криптовалют, работающих на основе CryptoNight, стоит использовать центральные процессоры Intel Coreпоколений i5 и i7. Также хорошие результаты показывает применение оборудования бренда Radeon HD (новые модели). Кроме того, для майнинга криптовалют на основе CryptoNight можно использовать ASIC-майнеры. На данный момент для этого подходят такие модели: Antminer X3, Baikal Giant-N, PinIdea RR-200, DragonMint X1/X2.

Однако стоит отметить, что Moneroкаждый год вносит изменения в протокол, которые помогают защитить майнинг монеты от использования ASIC. Но другие монеты, работающие на CryptoNight, например, Bytecoin, Aeon, Dashcoin, без проблем добываются при помощи ASIC.

Equihash

Image for post

Этот алгоритм был разработан Александром Бирюковым и Дмитрием Ховратовичом — учеными Университета Люксембурга, которые входят в исследовательскую группу CryptoLUX. В 2016 году разработка была представлена широкому круга.

Первой криптовалютой, которая использовала Equihash в качестве базы, была ZCash.

В основе данного алгоритма лежит хеш-функция, которая построена на принципе «Парадокса дней рождений» — это математическая закономерность, которая используется для расчета вероятности. Правило гласит: если в комнате находится 23 человека, то вероятность того, что день рождения как минимум двух из них приходится на один и тот же день, составляет 50%. Исходя из этой закономерности, вероятность нахождения числа nonce в процессе майнинга равняется 2, вознесенное в степень N и разделенное на 2.

Как и предыдущие два алгоритма, Equihash требователен к объему оперативной памяти, а не к скорости обработки математических вычислений. Это делает майнинг «айсикоустойчивым», а сеть более децентрализованной. Для добычи криптовалют, работающих на Equihash , используются видеокарты, обладающие минимальным объемом памяти в 2 Гб. Самые лучшие результаты показало применение графических процессоров бренда NVidia.

Однако для майнинга Equihash также были разработаны устройства ASIC. Сегодня самыми популярными являются две модели: Antminer Z9 miniот Bitmain и A9 ZMaster от менее известной компании Innosilicon. В отличие от команды Monero, разработчики ZCash не предприняли никаких действий для защиты своей криптовалюты от централизации майнинга, а лишь высказали свое огорчение.

Equihash используется в таких криптовалютах как ZCash , Bitcoin Gold, Komodo, ZClassic.

Создание блоков занимает 150 секунд, а хешрейт измеряется в Megahash в секунду (MH/s).

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

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

45 просмотров
Добавить
Еще
Dmitry Kopyloff
Подписаться