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