Equihash — алгоритм консенсуса Proof-of-work в блокчейн-системах, особенностью которого являются повышенные требованиями к памяти устройства, на котором он выволняется. Это существенно затрудняет майнинг с использованием ASIC.
Алгоритм предложили в 2016 году специалисты Междисциплинарного центра безопасности, надёжности и доверия Университета Люксембурга. В его основе лежит атака «дней рождения» — обобщение парадокса дней рождения для нахождения совпадающих значений хеш-функций.
Алгоритм стал базовым в ряде блокчейн-систем, например, Zcash, , Horizen, Aion, Hush и Pirate Chain.
Общие сведения Алгоритм Equihash был предложен специалистами исследовательской группы CryptoLUX Люксембургского университета Алексом Бирюковым и Дмитрием Ховратовичем. Он был представлен на Симпозиуме по безопасности сетей и распределённых систем в 2016 году в Сан-Диего.
Алгоритм разработан таким образом, что пропускная способность памяти устройства является «узким местом» при распараллеливании вычислений, что не даёт возможности существенно увеличить скорость майнинга при использовании устройств ASIC.
Позднее производителю ASIC Bitmain удалось в свои чипы интегрировать версию алгоритма Equihash-200,9 используемую в Zcash.
Спецификация Алгоритм имеет три параметра, , и , которые определяют требования по времени и занимаемой памяти: Требуемое время пропорционально . Объём необходимой памяти пропорционален . Алгоритм часто применяется с , используя альтернативный метод управления сложностью.
Задача, решаемая алгоритмом Equihash, состоит в нахождении различных -битных значений , таких, что и имеет ведущих нулей, где — некоторая хеш-функция.
Алгоритмом также накладываются дополнительные ограничения, которые призваны предотвратить применение других алгоритмов для решения основной задачи.
Верификация работы алгоритма требует вычислений хеш-функции и для проверки не предъявляет специальных требований к памяти.
Компромисс сложности по времени и памяти
Сформулированная выше задача решается в Equihash с помощью вариации алгоритма Вагнера для обобщённой задачи о дне рождения. Предлагаемый алгоритм выполняет итераций по большому списку. При изменении количества записей в списке на вычислительная сложность алгоритма изменяется пропорционально для эффективных по памяти реализаций.
В работе Оклок и Рен ставят под сомнения заявления об устойчивости Equihash, сделав вывод, что для него на самом деле не существует границы устойчивости к компромиссам.
Применение Алгоритм используется в криптовалюте Zcash с параметрами и .
В криптовалюте используется Equihash с параметрами и .
Примечания
Категория:Криптовалюты Категория:Криптография