Одним из самых сложных алгоритмов майнинга в криптовалютном мире является Ethash - алгоритм майнинга Ethereum, о котором вы узнаете из этой замечательной статьи.
Алгоритм майнинга Ethash - это алгоритм, который делает работу майнинга Ethereum. Это высококачественный алгоритм, в котором используются весьма сложные компьютерные технологии, гарантирующие максимально возможную безопасность.
Ethash также известен как Ethash-Dagger-Hashimoto Хотя нынешний алгоритм, конечно, изменился настолько, что ему вполне можно было бы дать другое название. Но что все это значит? Что такое Dagger-Hashimoto и как он связан с Ethash? Как работает Ethash?
Что такое Dagger-Hashimoto? Происхождение Ethash
Чтобы понять, как работает Ethash, нужно сначала узнать, что такое Dagger-Hashimoto. Именно поэтому мы сначала объясним этот момент, чтобы продвинуться и понять этот поразительный алгоритм.
Когда мы говорим о Dagger-Hashimoto, мы имеем в виду алгоритм майнинга, который послужил основой для создания Ethash. Этот алгоритм был направлен на создание безопасного алгоритма, построенного на двух столпах:
- Быть устойчивым к майнинговым ASIC.
- Высокая эффективность и легкость верификации тонкими клиентами.
Эти два столпа являются основополагающими в работе алгоритма Dagger-Hashimoto. Авторами этого алгоритма являются Виталик Бутерин и Таддеус Дриджа, которые разработали его в 2013-2014 годах. Как видите, название алгоритма объясняется тем, что он представляет собой объединение двух различных алгоритмов.
Во-первых, это Dagger - алгоритм, разработанный Виталиком Бутериным, который использует направленные ациклические графы (DAG) для построения массивной структуры данных. Изначально эта структура занимала чуть более 1 Гб памяти, но в настоящее время она составляет около 4-5 Гб. На этой структуре выполняется ряд вычислений в памяти, которые добавляют высокий уровень работы. Именно эта структура позволяет осуществлять процесс майнинга, выполняемый алгоритмом Hashimoto.
Hashimoto В свою очередь, это алгоритм, разработанный Таддеусом Дриджа, который призван повысить устойчивость ASIC и осуществлять майнинг хэша. Это достигается за счет высокого потребления оперативной памяти, что является ограничением для ASIC. По сути, Hashimoto делает следующее: берет сгенерированную DAG, добавляет сетевую информацию о сложности, транзакциях и генерирует хэш, который идентифицирует блок, который добывается.
Объединив оба алгоритма, мы получаем единый алгоритм, позволяющий создать достаточно сложную систему майнинга, чтобы у майнеров ASIC возникли проблемы с ее эффективной реализацией. Эта структура настолько совершенна и безопасна, что ее пытались реализовать в качестве альтернативы Scrypt.
Однако структура Dragger-Hashimoto имела ряд недостатков, которые привели к тому, что ее развитие и эволюция в итоге привели к появлению Ethash.
Как работает алгоритм Ethash?
Основываясь на том, что было изучено в Dagger-Hashimoto, команда разработчиков Ethereum He затем представила свой алгоритм Ethash. Базовая работа этого алгоритма полностью отличается от оригинального Dagger-Hashimoto, но фундаментальные принципы сохраняются. Итак, мы имеем, что Ethash работает следующим образом:
- На основе заголовков блоков до момента начала майнинга создается вычисленный seed.
- Затем это семя используется для вычисления и генерации псевдослучайного кэша объемом 16 Мбайт.
- Затем этот кэш используется для генерации набора данных объемом более 4 ГБ (DAG). Этот набор данных является полупостоянным и обновляется каждые 30 тыс. блоков. Таким образом, DAG меняется для каждого "сезона добычи".
- После того как DAG сформирован, начинается процесс майнинга. В ходе этого процесса из DAG берутся случайные значения, которые комбинируются с данными, предоставляемыми сетью, и транзакциями, подлежащими проверке.
- Наконец, верификация осуществляется с помощью процесса, который регенерирует определенные части набора данных, используя кэш-память, что ускоряет этот процесс.
Именно эта операция выполняется в настоящее время и соответствует версии алгоритма № 23. На протяжении всего процесса используются функции Keccak-256 и Keccak-512 - алгоритм, на основе которого был создан стандарт SHA-3.
Теперь, конечно, возникает вопрос: почему так много пересмотров и изменений? И ответ на него заключается в том, что эти обновления отвечают на решение проблем, уязвимостей, оптимизацию и, конечно же, модификации, призванные сделать работу ASIC более сложной и удобной. GPU, на которых, как правило, майнинговое сообщество Ethereum зарабатывало больше всего.
Особенности алгоритма Ethash
Все вышесказанное гарантирует, что Ethash обладает уникальными рабочими характеристиками, среди которых можно выделить:
- Он сильно зависит от операций в оперативной памяти, потребляя большое количество пропускной способности. Это является мерой защиты от ASIC, а также элементарно необходимо для нормального функционирования Ethash. Операции, необходимые для построения DAG и рабочего кэша Ethash, сильно зависят от этих характеристик.
- Алгоритм дружественен к GPU. Наверняка вы знаете, что современные видеокарты или GPU обладают огромной производительностью. Фактически, для перемещения графики, как в современных играх, требуются огромные объемы памяти и непревзойденная параллельная обработка. В случае майнинга с использованием Ethash это является сильной стороной, поскольку вы можете использовать память GPU, чтобы иметь всю DAG в памяти, вместе с кэшем, и выполнять все вычисления в высокоскоростном рабочем пространстве. В результате майнинг происходит гораздо быстрее.
- Предлагает отличные возможности верификации для тонких клиентов. Имея около 16 Мбайт оперативной памяти, можно создать тонкий клиент, способный очень легко и быстро верифицировать транзакции. Кроме того, тонкий клиент может быть запущен и выполнить процесс верификации всего за 30 секунд.
На данный момент на алгоритме можно майнить только Ethereum Classic, ведь Ethereum перешел на алгоритм Proof-of-Stake в сентябре 2021 года. В статье мы предоставляем информацию для ознакомления.
Keccak и SHA-3, чем они отличаются?
Keccak и SHA-3 - две очень похожие хэш-функции, фактически принцип их работы один и тот же, но применяется он по-разному, что дает разные результаты. Однако обе они практически эквивалентны по защищенности, скорости и вычислительной мощности, необходимой для их вычисления.
Таким образом, хотя обе функции генерируют разные хэши, операционная база и их безопасность практически эквивалентны.
Плюсы и минусы алгоритма Ethash
Плюсы
- Это простой в реализации алгоритм, безопасный и практичный.
- Он быстрый, использование структуры (DAG) в памяти, применение кэша и использование функции Keccak делают этот алгоритм эффективным процессом при добыче блоков. Благодаря этому Ethereum может рассчитывать на регулируемое время добычи в соответствии с потребностями сети, всегда находясь в поиске баланса между безопасностью и масштабируемостью.
Минусы
- Сопротивление ASIC было сломлено в 2018 году, когда компания Bitmain представила свой первый майнер для Ethash. С тех пор велись поиски механизмов, препятствующих дальнейшей централизации майнинга в Ethereum. Однако развитие Ethereum 2.0 предусматривает отказ от Proof of Work (PoW), а вместе с ним и от Ethash как алгоритма майнинга, в пользу Proof of Participation (PoS).
- Большое потребление памяти DAG делает майнинг на более скромном оборудовании весьма затруднительным.
- То, как он масштабирует сложность алгоритма, привело Ethereum на грань известной "ледниковой эры". Точка, когда система сложности Ethash сделает добычу невозможной для любого майнера. Это представляет собой серьезный риск для безопасности блокчейна Ethereum.
Блокчейны, использующие алгоритм Ethash
Основным блокчейном, на котором работал алгоритм майнинга Ethash, являлся Ethereum. Алгоритм был разработан на этом проекте, и именно здесь он развивался до сентября 2021. Проект Ethereum Classic, являющийся хард форком Ethereum, также поддерживает свою работу с использованием этого алгоритма. По сей день можно заниматься майнингом на алгоритме Ethash, но майня Ethereum Classic.
Заключение
В заключение мы хотим сказать, что майнинг на Ethash не мертв, существует большое количество асиков, позволяющих майнить Ethereum Classic. Безусловно, все майнеры на GPU теперь не знают куда девать их мощности, ведь единственной монетой для майнинга была Ethereum. Но спустя время люди перешли на ASIC-майнеры, которые вы можете приобрести у нас в IBMM|technology.