Одной из самых безопасных хэш-функций в мире является Scrypt. Созданная для разработки системы резервного копирования данных в Интернете, Scrypt благодаря своей высокой безопасности вошла в состав таких криптовалютных проектов, как Litecoin, которые используют ее в качестве хэш-функции для решения задач майнинга.
Среди алгоритмов или хэш-функций, наиболее известных в мире криптовалют, нет Scrypt. Использование этого алгоритма при разработке криптовалют связано с поиском более безопасных вариантов, чем хэш SHA-256, используемый Bitcoin. В результате различные криптовалютные проекты, такие как Litecoin, использовали эту новую хэш-функцию с отличными результатами.
Но история Scrypt очень обширна и интересна. Поэтому в этой новой статье мы посвятим себя тому, чтобы узнать все, что связано с этим знаменитым алгоритмом.
Алгоритм Scrypt
История хэш-функции Scyrpt берет свое начало с создания программы резервного копирования данных tarsnap. Это программное обеспечение было разработано Колином Персивалем, известным разработчиком в мире свободного программного обеспечения. В процессе разработки Tarsnap Персиваль обнаружил, что ему нужна надежная и эффективная хэш-функция для системы резервного копирования данных в Интернете. Потребности Tarsnap в то время сводились к следующему:
- Эффективный алгоритм хэширования, чтобы не отнимать много энергии у компьютеров, на которых работает программа.
- Обеспечить более высокий уровень безопасности, чем многие алгоритмы, известные как bcrypt, включая атаки методом грубой силы.
- Быть бесплатным, многоплатформенным и переносимым программным обеспечением.
Персиваль понял, что ни один из известных на сегодняшний день алгоритмов не может предложить ему то, что он искал. По этой причине Персиваль начал разработку Scrypt, которую завершил и представил в 2009 году. Персиваль опубликовал свой whitepaper, а также выпустил код для него. Благодаря этому любой желающий мог использовать или улучшить хэш-функцию Scrypt.
Фактически работа Персиваля впоследствии привела к принятию этой новой роли во всем мире. Именно это привело к тому, что в 2016 году IETF создаст стандарт RFC 7914. Таким образом, хэш-функция Scrypt будет признана мировым стандартом хэш-функции.
Как работает Scrypt?
Теперь вы, конечно, зададитесь вопросом: как работает эта хэш-функция? Для того чтобы разобраться в этом вопросе, необходимо понять, что такое хэш. В предыдущей статье мы говорили о том, что хэш - это уникальная и неповторяющаяся буквенно-цифровая строка. Строка, которую мы получаем в результате выполнения сложной математической и алгоритмической функции. Если вы хотите узнать больше о том, что такое хэш и каковы его свойства, предлагаем вам прочитать эту статью, где мы все объясним.
Теперь мы знаем, что Scrypt генерирует уникальные и неповторяющиеся буквенно-цифровые строки. Это соответствует данным, которые мы передаем вам. На этом этапе возникает вопрос на миллион долларов: чем же Scrypt отличается от других привычных функций? Ответ на него заключается в том, как Scrypt выполняет эту работу.
Scrypt работает благодаря известному методу увеличенной деривации ключей через жесткие последовательные функции памяти. Это, конечно, сложное название, но по сути Scrypt выполняет хэширование, используя ключ, серию ключевых точек, отмеченных в алгоритме хэширования, и добавляя много шума.
Шум в Scrypt - это серия случайных чисел, которые генерируются алгоритмом и хранятся в памяти. Эти числа предназначены для маскировки ключевых данных алгоритма, чтобы усложнить работу по взлому хэшей. Одним словом, это мера защиты, не позволяющая злоумышленникам завладеть данными, защищенными Scrypt.
С помощью этой операции Scrypt гарантирует две вещи:
- Во-первых, хэшировать пароли таким образом, чтобы злоумышленник, получивший доступ к файлу паролей, не смог сразу завладеть содержащимися в нем паролями.
- Во-вторых, генерировать криптографические ключи, которые будут использоваться для шифрования или аутентификации данных.
Характеристика хэша Scrypt
Изложенное выше позволяет функции Scrypt получить достаточно уникальные возможности. Среди них можно отметить следующие:
- Это эффективный алгоритм. Функция Scrypt имеет минимальную нагрузку по сравнению со сложностью выполняемой ею работы. Использование ключа, набора точек или переходов, распараллеливание процесса, генерация случайных чисел, а также возможность настройки значений функции позволяют Scrypt достичь высокой степени эффективности без ущерба для безопасности.
- Он обеспечивает высокий уровень безопасности. Scrypt - это алгоритм с высоким уровнем безопасности, более того, уровень безопасности является настраиваемым. Алгоритм разработан таким образом, что программист может увеличивать или уменьшать различные переменные, влияющие на это. Кроме того, алгоритм обладает высокой устойчивостью к атакам грубой силы, что делает его идеальным для распределенных систем, где безопасность имеет большое значение.
- Устойчивость к ASIC и FPGA. Одной из причин, по которой такие криптовалюты, как Litecoin, закрепились на Scrypt, была его способность препятствовать реализации. ASIC o FPGA. Это означает, что Scrypt усложняет разработку майнеров такого типа. Не только сложнее, но и менее эффективно с точки зрения вычислительной мощности по отношению к потребляемой электроэнергии. В результате криптовалютные проекты, использующие Scrypt, стремились защитить децентрализацию своих сетей. Однако в 2013 году был представлен первый ASIC для Scrypt, и с тех пор этот тип аппаратного обеспечения стал лежать в основе майнинга криптовалют на базе этого хэша.
Монеты алгоритма scrypt
С момента появления алгоритма Scrypt многие криптовалюты использовали его для реализации в своих протоколах консенсуса PoW. Среди этой группы криптовалют можно выделить:
- Litecoin - LTC
- Dogecoin - DOGE
Майнеры Scrypt
Как мы уже говорили, Scrypt отличается от, например, SHA-256. Это идеальный алгоритм для создания криптовалют с высокой степенью устойчивости к майнингу на ASIC. Однако разработчики майнингового оборудования если и проявляют изобретательность, то уже сегодня существуют аппаратные майнеры, способные работать с Scrypt. Но это достигается с большими потерями, связанными с выделяемой мощностью и необходимым энергопотреблением.
Майнеры на ASIC отличаются высокой эффективностью. Они обеспечивают высокий уровень хэшрейта при минимальном энергопотреблении. Например, часто встречаются майнеры SHA-256 с потреблением 3500 Вт, предлагающие мощность в несколько сотен TH/s (триллионов хешей в секунду). Но в Scrypt ситуация кардинально меняется. Фактически майнер Scrypt, потребляющий около 3500 Вт, вряд ли сможет предложить нам более 9500 MH/s (миллионов хешей в секунду). До этого момента Scrypt представляет собой достаточно сложную задачу для аппаратных майнеров. Актуальный майнер:
Заключение
Алгоритм Scrypt представляет собой эффективный и надежный механизм шифрования, который успешно справляется с вызовами современных вычислительных мощностей. Его уникальная структура, основанная на хэш-функции и операции XOR, обеспечивает не только безопасность передачи данных, но и эффективное использование ресурсов при выполнении вычислительных задач.