Scrypt алгоритм для майнинга

Алгоритм майнинга Scrypt

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

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

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

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

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

Лайткоин, будучи самым известным представителем криптоалгоритма Scrypt, был создан в 2011 году Чарли Ли. Лайткоин отличается от созданного на классическом алгоритме SHA-256 биткоина некоторыми особенностями добычи:

  1. Лайткоин — второй после Namecoin в истории форк биткоина;

2. Будет сгенерировано всего 84 млн монет, что в 4 раза больше чем биткоинов.

3. Скорость создания блоков была уменьшена в 4 раза до 2,5 минут. Однако это чисто теоретические показатели. Особенно это касается системы биткоина, у которой есть проблемы с масштабированием и продолжительностью транзакций.

4. Показатели сложности сети определяются 2 раза в неделю.

5. В сети присутствует феномен халвинга с аналогичной биткоину периодичностью в 4 года. Очередное уменьшение количества монет награды за блок до 12,5 будет в 2019 году.

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

Источник

Scrypt

Понравилась статья? Поделись:

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

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

Не использующий скрипт биткоин только один пример. Поэтому scrypt монеты пользуются популярностью среди майнеров, который используют для майнинга процессоры (CPU) или видеокарты (GPU). Рассмотрим scrypt алгоритм, его особенности и преимущества.

Читайте также:  Оценка доходности потоков денежных средств

Содержание

Описание алгоритма [ править ]

Scrypt (Скрипт) — адаптивная криптографическая функция формирования ключа на основе пароля, созданная офицером безопасности FreeBSD Colin Percival для системы хранения резервных копий Tarsnap. Функция создана таким образом, чтобы усложнить атаку перебором при помощи ПЛИС. Для ее вычисления требуется значительный объем оперативной памяти. 17 сентября 2012 года алгоритм scrypt был опубликован IETF в виде Internet Draft, планируется его внесение в RFC. Используется, например, в качестве proof-of-work в криптовалютах Litecoin, Worldcoin и подобных.

Основанные на пароле функции формирования ключа (password-based key derivation function, PBKDF) обычно разрабатываются таким образом, чтобы требовать относительно большого времени вычисления (по порядку величины — сотни миллисекунд). При использовании легальным пользователем требуется вычислить подобную функцию один раз (например при аутентификации) и такое время допустимо. Но при проведении атаки полного перебора (brute force) атакующему требуется произвести миллиарды вычислений функции и ее вычислительная сложность делает атаку более медленной и дорогой.

Алгоритм scrypt был придуман Колином Персивалем как криптозащита онлайн-сервиса для хранения резервных копий UNIX-подобных ОС. Принцип работы алгоритма скрипт заключается в том, что он искусственно усложняет подбор вариантов для решения криптографической задачи, наполняя его «шумом». Этот шум — случайно сгенерированные числа, к которым Scrypt алгоритм обращается, увеличивая время работы.

Если скрипт проверяет ключ пользователя, то такое замедление будет практически незаметным. Но когда код пытается взломать злоумышленник методом перебора, скрипт это усложняет: в сумме все операции занимают очень много времени.

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

Майнинг на Scrypt [ править ]

При выборе криптовалюты, использующей scrypt алгоритм, на чем майнить тоже немаловажно.

Майнинг на алгоритме Scrypt в отличие от SHA-256 требует меньше ресурсов, благодаря чему использующие scrypt алгоритм валюты могут успешно майниться разными инструментами. Это и scrypt pool, и scrypt miner cpu и gpu, и даже scrypt asic miner: производители асик-оборудования тоже ищут способы «вскрыть» майнинг скрипт алгоритма и реализовывать script function.

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

Чтобы вычислить scrypt hash, то есть найти то самое решение, которое позволит создать новый блок в блокчейне, опытные майнеры советуют использовать GPU. Видеокарты более производительны, чем процессоры, к тому же лучше справляются с выполнением одной операции. Лучше всего подойдут Scrypt miner AMD: эти видеокарты обладают большей производительностью, чем Nvidia, и собрать ферму из них дешевле. Также Scrypt mining требует больших объемов памяти.

К слову, производители ASIC-майнеров тоже не стоят на месте. Сегодня с алгоритмом Script асик может справиться, но разработчики продолжают эту технологическую войну, чтобы выбравший scrypt алгоритм майнер с менее производительным оборудованием тоже имел возможность для майнинга.

Но для старта одиночного майнинга на Scrypt требуются достаточно большие ресурсы. Альтернативный вариант — script пулы. Это сообщества, в которых вы предоставляете мощность своего оборудования для объединения усилий. Такой подход дает лучший результат, чем сольный майнинг, однако вознаграждение получается ниже.

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

Реализация алгоритма Scrypt [ править ]

scrypt (P, S, N, r, p, dkLen) = MFcryptHMAC SHA256,SMixr (P, S, N, p, dkLen)

    • где N, r, p — параметры, задающие сложность вычисления функции.
Читайте также:  Kishu inu криптовалюта что такое

MFcrypt определена так: DK = MFcrypt PRF,MF (P, S, N, p, dkLen)

    • PRF — псевдослучайная функция (в scrypt — HMAC-SHA256)
    • hLen — длина выхода PRF в байтах
    • MF (Mixing Function) — последовательная функция, требующая память со случайным доступом (отображение из Z_<256>^ * N в Z_<256>^ (в scrypt — SMix на базе Salsa20/8)
    • MFLen — длина блока, перемешиваемого в MF (в байтах). MFLen =128 * r.

Входные параметры scrypt и MFcrypt:

  • P — пароль (passphrase) — байтовая строка.
  • S — соль (salt) — байтовая строка.
  • N — параметр, задающий сложность (количество итераций для MF).
  • r — параметр, задающий размер блока.
  • p — степень параллельности, целое число, меньшее чем (232 − 1)*hLen/MFLen
  • dkLen — требуемая длина выходного ключа в байтах, не более чем (232 − 1)*hLen.
  • DK — выходной ключ

Функция MFcrypt работает по алгоритму:

  • (B0 … Bp−1) = PBKDF2 PRF (P, S, 1, p * MFLen)
  • Для всех i от 0 до p−1 применить функцию MF:
  • Bi = MF(Bi, N)
  • DK = PBKDF2 PRF (P, B0 || B1 || … || Bp−1,1, dkLen)

Потребление памяти оценивается в 128*r*N байт. Соотношение количества чтений и записей в эту память оценивается в 100% и 63%.

Где Integerify – это биективная функция из промежутка от <0, 1>k до <0. 2 k − 1>.

Примеры криптовалют на алгоритме Scrypt [ править ]

Главный вопрос после того, как вы поняли, что такое алгоритм Scrypt — что майнить на нем. Первая использующая алгоритм scrypt криптовалюта — это Litecoin. Также на нем работают все форки лайткоина. Например, чуть меньше популярность на алгоритме scrypt монеты Dogecoin.

Среди других криптовалют, использующих алгоритм scrypt — монеты ProsperCoin, CashCoin, MonaCoin, Mooncoin и многие другие. Криптовалюта Litecoin использует такие параметры Scrypt: N = 1024, r = 1, p = 1, размер входного параметра и соли — 80 байт, размер DK — 256 бит (32 байта). Потребление оперативной памяти для Scrypt майнинга монет- около 128 КБ. Вычисление такого Scrypt на видеокартах приблизительно в 10 раз быстрее чем на процессорах общего назначения, что является признаком выбора недостаточно сильных параметров.

Рекомендуемые параметры scrypt: N = 16384, r = 8, p = 1 (потребление памяти около 16 МБ) Скорость вычисления одной операции Scrypt на процессоре общего назначения составляет около 100 миллисекунд при настройке на использование 32 МБ памяти. При настройке на длительность операции в 1 миллисекунду, используется слишком мало памяти и алгоритм становится слабее алгоритма bcrypt, настроенного на сравнимую скорость.

Источник

Алгоритм Scrypt и его применение в криптовалютах

05.11.2018 | Автор: Евгений Наумов

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

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

Что такое Scrypt?

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

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

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

Для доказательства выполнения работы (PoW) Litecoin первым начал использовал Scypt, но, учитывая большое количество математических вычислений и обращение к большим объемам памяти, Scypt также использует хеш-функцию SHA-256.

Чем майнить алгоритм Scrypt

Процесс генерации блоков сети Litecoin с использованием алгоритма Scypt основан на принципе циклического хеширования также как и для Bitcoin, использующего алгоритм SHA-2. Каждый блок формируется из административных данных (версии блока, даты и времени создания), хеша предыдущего блока, верифицированных транзакций и специальных параметров, определяющих условия создания уникального хеша. После многократного хеширования создается уникальный исходящий хеш-код блока, и после подтверждения узлами цепь блоков становится длинней на 1 блок.

Криптовалюты на алгоритме Scrypt

Алгоритм Scrypt используется для майнинга монет и обеспечения защиты таких криптовалют, как Litecoin, Dogecoin, BitConnect, Novacoin, Netcoin.

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

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

Особенности Scrypt-майнинга

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

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

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

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

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

Криптовалюты на алгоритме scrypt

В данный момент существует более 80 монет, в основе работы которых алгоритм scrypt. Среди них наиболее капитализированными являются следующие (топ-10 по состоянию на ноябрь 2018):

Источник

Читайте также:  Что такое рентабельная инвестиция
Оцените статью