Познакомьтесь с алгоритмом Equihash, который делает возможным майнинг таких криптовалют, как Zcash. Алгоритм работает на основе сложной математической и вероятностной задачи, известной как "Проблема дня рождения".
Протокол или алгоритм майнинга Equihash - это один из многих протоколов или алгоритмов майнинга, существующих в мире блокчейна y криптовалют. Однако Equihash занимает совершенно особое место в мире криптовалют. Это связано с тем, что он был создан специально для того, чтобы разработать алгоритм, который бы обладал огромной устойчивостью к ASIC. При этом он не был бы чрезвычайно сложным или небезопасным.
Таким образом, группа разработчиков и ученых смогла создать Equihash. Работа, которая открыла возможность создания криптовалют с устойчивостью к ASIC, применимых к криптовалютам с хорошей масштабируемостью.
Equihash
Разработка алгоритма Equihash началась благодаря работе Алексея Бирюкова и Дмитрия Ховратовича. Целью этих двух разработчиков было создание алгоритма майнинга, который бы противостоял ASIC-майнингу и растущей опасности централизации, которую он несет.
Эта проблема давно обсуждается в сообществе Bitcoin. Тем более что хешрейт этого блокчейна (в котором используется SHA-256) в настоящее время полностью эксплуатируется с помощью ASIC. Такая ситуация может привести к большим рискам, например, к тому, что компания или группа влиятельных майнеров может вступить в сговор и негативно повлиять на работу сети.
И хотя в Bitcoin осознают эту опасность, но есть стимулы, чтобы этого не произошло, на данный момент такая ситуация сохраняется. Все майнеры Биткойна хотят одного - чтобы Биткойн был самой мощной криптовалютой. Не только по хешрейту, но и по цене, стимулируя тем самым защищенность блокчейна от злоумышленников.
Если в таких крупных сетях, как Bitcoin, это вполне осуществимо, то в небольших сетях дело обстоит иначе. Бирюков и Ховратович заметили это и решили создать Equihash. Для этого они разработали сложную алгоритмическую инфраструктуру, созданную для решения трудной математической задачи, получившей название "Проблема дня рождения". С помощью этих элементов в 2016 году они представили результат своей работы и исследований - полный и функциональный алгоритм Equihash.
Эта презентация состоялась в Люксембургском университете на симпозиуме Network and Distributed Systems Security Symposium 2016 в Сан-Диего под руководством группы CryptoLUX, в которую они входили.
Алгоритм Equihash
Цель создания Equihash проста и понятна: не дать ASIC привести к централизации майнинга. Это особенно серьезная проблема в небольших блокчейнах, где один ASIC-майнер может означать более половины майнинговой мощности сети. В такой ситуации майнер с таким ASIC может полностью контролировать сеть и при желании даже переписать ее историю.
Имея в виду эту проблему, Бирюков и Ховратович разработали Equihash для борьбы с ней. Собственно, в аннотации к Equihash этот аспект четко прописан. Таким образом, очевидна необходимость создания подобных систем.
Proof of work - основная концепция современных криптовалют и средств защиты от отказов в обслуживании, однако требование быстрой проверки до сих пор делало ее легкой добычей для GPU, ASIC и ботнетов. Попытки использовать вычисления, требующие больших объемов памяти, для устранения разницы между архитектурами приводили к медленным или неработающим схемам.
Их работа привела к созданию очень сложного алгоритма с высоким потреблением памяти, высокой пенализацией в средах с малым объемом оперативной памяти, таких как ASIC, низким потреблением вычислительной мощности и представлением коротких криптографических тестов, которые не означали серьезной проблемы с хранением и передачей данных. Более того, в своем whitepaper они оставили следующее заявление:
Наше решение практично и готово к работе: Эталонная реализация нашего доказательства работы требует 700 Мбайт оперативной памяти, выполняется за 15 секунд на процессоре с частотой 2,1 ГГц, но увеличивает вычисления в 1000 раз, если память уменьшается вдвое, и представляет тест длиной всего 120 байт.
Как работает Equihash?
Теперь вы наверняка зададитесь вопросом, как же им удалось создать устойчивый к ASIC алгоритм Equihash? Что ж, для решения этой задачи Бирюков и Ховратович взяли за основу небольшую, но сложную математическую задачу под названием "Проблема дня рождения". Эта проблема представляет собой вероятностную задачу, которая говорит нам следующее:
Задача о дне рождения устанавливает, что из набора 23 человек существует 50,7%-ная вероятность того, что хотя бы два человека из них окажутся в один и тот же день. Для 57 и более человек эта вероятность превышает 99,666%. Строго говоря, это не парадокс, поскольку не является логическим противоречием. Однако это математическая истина, которая противоречит общепринятой интуиции.
Многие считают, что вероятность гораздо ниже и что для достижения вероятности 50,666% нужно гораздо больше людей. Если бы в комнате было 367 человек, то из принципа голубятни известно, что в один и тот же день исполнилось бы не менее двух лет, поскольку в обычном году 365 дней, а в високосном - 366.
Очень известная проблема в вычислительной технике, которая широко изучалась для построения систем рекурсии и бэктрекинга (двух методов программирования), стремящихся решать задачи такого типа наиболее эффективным способом.
Алгоритм решения
Приведенное выше простое утверждение является той конструктивной базой, которую Бирюков и Ховратович использовали для создания Equihash. По сути, они создали алгоритм, основанный на задаче решения проблем, возникших в день рождения Дэвида Вагнера из Калифорнийского университета в Беркли. Вагнер, известный специалист в области криптографии, создал этот алгоритм таким образом, что любое уменьшение памяти увеличивает сложность времени решения этой задачи.
То есть алгоритм Вагнера способен решить проблему дня рождения для чрезвычайно больших вселенных людей. Но для этого он интенсивно использует оперативную память. При уменьшении объема оперативной памяти алгоритм по-прежнему может решить задачу, но сложность и трудность решения возрастает.
Это позволило создать систему майнинга, особенно сложную для решения в ASIC-системах, где RAM-память невелика.
Кроме того, алгоритм Вагнера был модифицирован таким образом, чтобы не выдавать множество решений задачи. Это свойство делает майнинг слишком легким для майнеров с большим объемом оперативной памяти, так как все эти решения могут быть приняты сетью. Для достижения этой цели в Equihash была реализована техника, называемая "связыванием алгоритмов". Связка алгоритмов изменяет задачу таким образом, что в среднем производится не более двух решений, при этом они должны быть практически уникальными.
Таким образом, алгоритм Equihash гарантирует максимально возможную сложность майнинга криптовалюты для его применения.
Конец противостояния Equihash ASIC
Из всего вышесказанного становится ясно одно: майнинг в Equihash очень эффективен при использовании мощного компьютера с относительно большим объемом оперативной памяти. Собственно, одной из основных рекомендаций является использование компьютеров с оперативной памятью не менее 2 Гбайт. Equihash можно эффективно добывать на центральном процессоре. Но если использовать GPU, то можно добиться лучших результатов, и даже больше, если GPU имеет достаточно памяти, чтобы вместить весь DAG, генерируемый Equihash для майнинга.
Однако компании Bitmain удалось наконец создать майнинговую ASIC для Equihash, тем самым сломав устойчивость алгоритма к ASIC. Это произошло в 2018 году, когда производитель представил свой первый ASIC-майнер для Equihash. Фактически сегодня существует огромное разнообразие ASIC-майнеров для Equihash, среди которых можно выделить таких производителей, как Bitmain и InnoSilicon.
Характеристики алгоритма
Несмотря на то, что реальной и долговременной устойчивости к ASIC не удалось найти, это не умаляет технических качеств Equihash. Более того, среди его наиболее интересных свойств можно выделить:
- Это алгоритм, который стремится избежать централизации майнинга. Несмотря на наличие ASIC-майнеров, добыча Equihash сложна.
- Криптовалюта имеет сложный для построения криптографический тест, но небольшое разрешение. Это позволяет не перенасыщать сеть трафиком больших криптографических тестов, что способствует общей масштабируемости сети.
- Тест требует больших объемов памяти, что даже с учетом оптимизации всегда приводит к большим затратам на майнинг как GPU, так и ASIC.
- Она гибкая и допускает будущие улучшения алгоритмов и изменения архитектуры.
Это позволяет Equihash развиваться с течением времени и улучшать свои возможности в соответствии с потребностями использующих его проектов.
Монеты Equihash
В настоящее время существует несколько криптовалют, использующих алгоритм Equihash для обеспечения безопасного майнинга. Среди них наиболее известны Horizen (ZEN), ZCash (ZEC), Bitcoin Gold (BTG), Komodo. Самая мелкая из них - Beam с капитализацией около 11 млн. долл. А самым крупным является ZCash с капитализацией около 420 млн. долларов.
Из всех этих проектов пока ни один не пострадал от атаки 51%, и они не были нарушены каким-либо другим существенным образом, что делает очевидным качество алгоритма Equihash.
Заключение
Алгоритм Equihash получился довольно интересным, учитывая его проблему дня рождения. Надеемся, данная статья вам понравилась и вы загляните к нам еще раз! Прочтите также нашу другую статью!