Алгоритм ethash что это
Алгоритм Ethash
Обзор алгоритма Ethash
Термин Proof of Work означает, что майнеры ищут решение (“nonce” или одноразовый номер), которое при хешировании выдаст значение меньше целевого порога, который предварительно задан. Из-за криптографического характера хеш-функции практически невозможно обратное вычисление одноразового номера (“nonce”), удовлетворяющего целевому пороговому пределу. Только если вручную перебирать все возможные варианты.
Затруднение майнинга для ASIC-оборудования необходимо, чтобы дать возможность добывать монеты пользователям, у которых нет достаточного объема капитала для покупки таких устройств.
Многие знают, что в данный момент майнинг монет Bitcoin невозможен даже на очень мощном компьютере. Это вызвано тем, что существует большое количество майнинговых ферм, состоящих из ASIC-оборудования, и имеющие гораздо большие вычислительные мощности чем любой персональный компьютер. Именно этой ситуации старались избежать разработчики алгоритма Dagger-Hashimoto и, соответственно, Ethash.
Что же такое ASIC-устройство? Это специальное оборудование, которое создается на основе интегральных схем, специально разработанных для майнинга монет. Мощность такого устройства сравнима с общей мощностью нескольких самых продвинутых видеокарт, однако при этом энергопотребление значительно ниже.
Создание больших ферм на ASIC-оборудовании негативно влияет на блокчейн, так как значительно уменьшает уровень децентрализации. А децентрализация необходима для надежности криптовалюты. С помощью равномерной рассредоточенности узлов блокчейна и многократному дублированию файлов платформы, получается создать систему, которая будет невосприимчива к блокировке, удалению, изменению и хакерским атакам.
В итоге, появление ASIC-устройств вынудило пользователей, у которых нет достаточного капитала для их покупки, перестать майнить Bitcoin. По прогнозам некоторых аналитиков, в скором времени Bitcoin будут майнить только крупные ASIC-фермы, что приведет к централизации.
Как уже было сказано выше, алгоритм Ethash создавался с целью предотвратить появление ASIC-устройств для майнинга на этом алгоритме. Но в начале 2018 года компания Bitmain анонсировала выпуск первых ASIC-устройств для Ethash. Однако Ethereum решительно выступил против перспективы доминирования этих устройств в их сети, что привело к разговору о “брикетировании” этого оборудования. Брикетирование это технологическое обновление сети, которое делает аппаратное обеспечение бесполезным или даже сломанным, если оно подключено к сети. Из-за этого майнеры на таком оборудование были вынуждены скрыть свое присутствие и снизить мощность хеширования своих устройств. Также план Ethereum по переходу на технологию PoW/PoS (гибрид Proof of Work и Proof of Stake) c просто PoW делает разработку ASIC устройств для Ethash очень рискованным для производителей.
Принцип работы алгоритма Ethash
В основе Ethash лежит особый граф, состоящий из последовательных узлов. Граф можно представить в виде своеобразного дерева, обладающего большим числом ответвлений. Эта особенность заметно усложняет создание ASIC-устройств для работы с этим алгоритмом. Поэтому для майнинга монет, основанных на Ethash, можно применять лишь видеокарты.
В начале процесса майнинга на память видеокарт загружается специальный DAG файл. Размер этого файла постоянно увеличивается и чем больше существует криптовалюта, тем размер большое. Поэтому необходимо помнить, что чем объемнее DAG файл, тем более мощная видеокарта нужна для добычи этой криптовалюты.
Размер DAG-файла увеличивается каждый раз, когда создаются новые 30000 блоков. На данный момент размер DAG файла для Ethereum около 3,5 Гб. Это означает, что скоро видеокарты на 4 Гб не смогут заниматься майнингом этой монеты. Еще более печальная ситуация была у Ethereum classic, когда размер DAG приблизился к 3,96 Гб. В тот момент было принято решения уменьшить размер файла до
2,5 Гб. Это было необходимо сделать, так как большая часть майнеров использовала видеокарты на 4 Гб и, соответственно, они бы не смогли майнить, что привело бы к централизации майнинга у крупных игроков и уменьшению надежности криптовалюты.
Теперь перейду к описанию алгоритма хэширования Ethash:
Процесс состоит из 6 основных этапов:
На вход алгоритму подается препроцессированый заголовок, полученный из последнего блока и “nonce”. “Nonce” число, выбранное случайным или псевдослучайным образом. Это подается на SHA-3 подобную функцию, которая создает 128 байтный микс.
Далее этот микс используется для того, чтобы определить какую 128-байтную страницу из DAG нужно извлечь.
Полученная страница сочетается с миксом с помощью специальной функции смешивания
2 и 3 шаг повторяется 64 раза
Полученный в итоге микс обрабатывается для получения более короткого 32-байтного дайджест микса.
В конце дайджест микс сравнивается с целевым порогом. Если дайджест микс меньше или равен порогу, то “nonce” считается успешным и транслируется в сеть Ethereum. Если же дайджест микс больше порога, то выбирается новый “nonce” путем рандомного выбора или прибавлением единицы к старому “nonce”. И потом алгоритм перезапускается с новым значением “nonce”.
Майнинг с помощью алгоритма Ethash
Майнинг на алгоритме Ethash можно производить как на CPU, так и на GPU. Однако, майнинг на CPU практически не приносит прибыли, так как GPU гораздо эффективнее. Также я упоминал про майнинг на ASIC-устройствах и FPGA, которые в настоящее время способны к интеллектуальному анализу Ethash, однако они неэффективны по сравнению с графическими процессорами и не приветствуются как сообществом, так и разработчиками. Поэтому наиболее выгодным является майнинг на GPU.
Ethash занимает мало памяти, однако требует не менее 2-3 ГБ ОЗУ на каждый используемый графический процессор. GPU от компании AMD обычно показывают лучшие результаты, чем GPU от компании Nvidia. Для того чтобы начать майнить, необходимо скачать специальную программу, например Ethminer.
Майнинг в пуле также очень популярный способ добычи криптовалют. Он позволяет людям с низкими вычислительными мощностями участвовать в майнинге и получать с этого какую то прибыль. За это создатели пулов берут какой-то процент, обычно в районе 1-2% от дохода.
Ethash – обзор алгоритма, виды монет для майнинга
Впервые этот алгоритм шифрования был использован в майнинге криптовалюты Ethereum. С целью увеличения эффективности добычи монет необходимо использовать видеокарты с внушительным объемом оперативной памяти. Предпочтительным вариантом для майнинга считаются микропроцессоры AMD, однако оборудование десятой серии от Nvidia также показывает впечатляющий результат на алгоритме Ethash.
История появления
Разработчиком алгоритма Ethash считается канадский программист Виталик Бутерин, анонсировавший в 2015 году появление новой криптовалюты Ethereum. На тот момент Виталик имел большой опыт работы в криптоиндустрии, поскольку еще в 2011 году запустил журнал Bitcoin Magazine.
Первоначальное название рассматриваемого алгоритма – Dagger-Hashimoto. Главная особенность данной разработки заключается в значительном отличии от всех существующих аналогов. В первую очередь для майнинга требуется специальное программное обеспечение.
Чтобы начать добывать монеты необходимо иметь 2 ГБ оперативной памяти, в противном случае софт просто не запустится. В дальнейшем минимальный порог был увеличен до 3,5 ГБ.
Генерация DAG-файла занимала в среднем 10 минут, однако следует учитывать тот факт, что создавалось сразу две эпохи майнинга, поэтому время ожидания увеличивалось вдвое.
Главная проблема алгоритма заключалась в том, что в ходе смены эпохи в DAG-файле программа для майнинга зависала. В 2016 году была выпущена программа ClayMore. С помощью этого софта были устранены проблемы с зависанием. В результаты таких нововведений DAG-файл начал сохраняться не на винчестер, а на видеокарту.
Появление программы ClayMore Dual Miner также расширило возможности майнеров, например, они смогли добывать сразу 2 криптовалюты. Вторая монета заметно ускоряла генерацию первой. Однако есть один значительный недостаток – возрастает количество потребляемой электроэнергии.
Технические параметры
Как уже было сказано ранее, сначала алгоритм шифрования Ethash назывался Dagger-Hashimoto. Первоначальная версия очень сильно напоминала скрипт, но механизм хеширования характеризовался существенным отличием от всех других алгоритмов майнинга. Дело в том, что Ethash создает граф, то есть дерево с огромным числом последовательных узлов.
Разумеется, что появление такой системы в разы увеличило сложность расшифровки, подобрать необходимые значения стало практически невозможной задачей. Постепенно Виталик Бутерин и его команда совершенствовали алгоритм, в определенный момент было принято решение провести ребрендинг и изменить название на Ethash.
Сегодня алгоритм майнинга криптовалюты Ethereum и многих других популярных монет представлен в виде хеширования метаданных последнего блока с использованием специального Nonce-кода. Этот код представлен в виде самого обыкновенного двоичного числа, которое определяет уникальное значение хеша.
Подобрать истинное значение практически невозможно, если сравнивать обновленный алгоритм с первоначальной версией. Чтобы определить хеш, необходимо методично перебрать абсолютно все возможные варианты.
Еще одна характерная особенность алгоритма – слишком высокий объем потребляемой электроэнергии, что объясняется максимальными требованиями к видеопамяти. Если проанализировать последние модели видеоадаптеров AMD, то каждый пользователь сможет изменить тайминг видеопамяти. В результате, производительность майнинга возрастет примерно на 20%.
Криптовалюты на Ethash
Рассмотрим самые популярные системы, майнинг которых построен на рассматриваемом алгоритме:
Существуют и другие криптовалюты: Musicoin, Metaverse, SOILcoin, Elementrem, Ellaism, WhaleCoin, Bowhead и другие. Вселенная Ethereum постоянно расширяется, поэтому появляются новые системы, работающие на алгоритме Ethash.
Майнинг Ethash (Dagger-Hashimoto)
Алгоритм очень требователен к объемам памяти: для возможности добычи должна быть сохранена последняя часть файла DAG, поэтому требования к ОЗУ начинаются с 1 ГБ и растут на 441 МБ в год.
Когда 30 тысяч блоков получают свою цифровую подпись, происходит смена эпох, которая увеличивает DAG-файл на 8 мб. И сегодня даже минимальный лимит с показателем 2 Гб считается недостаточным, так как рабочая программа просто не поместится в такой объем. Актуальное требование – 3,5-4 Гб памяти на 1 GPU.
Самые продуктивные результаты в работе с алгоритмом Ethash показывают микропроцессоры AMD, но и 10-я серия видеокарт NVIDIA также прекрасно справляется с данной хеш-функцией. Вот таблица с техническими показателями некоторых актуальных моделей:
GPU | Модель | Хешрейт Ethash, Mh/s |
Radeon | RX-470 Sapphire Nitro+ 4096 Mb | 24 |
RX-480 Power Color Red Dragon 8192 Mb | 25 | |
RX-480 Sapphire Nitro+ 8192 Mb | 25 | |
GeForce | GTX-1060 Palit 3072 Mb | 20 |
GTX-1070 Palit 8192 Mb | 28 | |
Radeon | R9 Fury-X ASUS 4096 Mb | 27 |
R9 Fury-X Sapphire 4096 Mb | 27 |
ASIC-майнеры
Одним из первоначальных преимуществ алгоритма считалась защита от ASIC-майнеров, но в 2018 году компания Bitmain выпустила оборудование для добычи криптовалюты на основе Ethash. Мощность ASIC-майнера Antminer E3 составляет 180 MH/s.
Подписывайтесь на наш Telegram канал. Будьте в курсе новых статей.
Ethash алгоритм майнинга: как он работает для Ethereum
По мере того, как интерес к криптовалютам набирает обороты, увеличивается и их добыча.
Это создает существенный экономический стимул не только для производства большего количества оборудования для майнинга, но и для разработки более быстрых и более эффективных устройств.
Мы увидели это с Биткоином: майнинг перешел с процессоров, на видеокарты, затем на FPGA, а теперь и на ASIC.
Сегодня майнинг Ethereum на видеокартах является нормой, и пока еще майнеры не сделали сильного скачка к запуску алгоритма майнинга Ethash, на специализированных аппаратных решениях (например, FPGA и ASIC). Асики в сети есть, но они не дают такого большого преимущества как на Биткойне.
Здесь мы расскажем о том, откуда берется жесткая привязка к памяти у Ethereum и как может выглядеть следующее поколение пользовательских майнинг-устройств для добычи ETH.
В этой статье мы предполагаем, что читатели имеют общее представление о стандартных компьютерных технологиях и блокчейне, но не должны быть экспертами по программированию или майнингу.
Если вы хотите изучить полное руководсто о том, как майнить Ethereum на видеокартах в Windows, то обратитесь к этой статье.
Для более технического, ориентированного на программиста объяснения алгоритма майнинга Ethereum, называемого Ethash, пожалуйста, обратитесь к странице Ethash в GitHub репозитории Ethereum.
Быстрое объяснение сути Proof-of-Work
При майнинге с проверкой работы (Proof-of-Work) майнеры ищут решение (называемого одноразовым номером – «nonce»), которое при хешировании выдает выходное значение, которое меньше предварительно заданного целевого порога.
Из-за криптографического характера хэш-функции каждой валюты нет никакого способа для обратного инжиниринга или обратного вычисления одноразового номера («nonce»), который удовлетворяет целевому пороговому пределу.
Как работает алгоритм Ethash
DAG файл
Алгоритм Ethash опирается на псевдослучайный набор данных, инициализированный текущей длиной цепочки блоков.
Это и называется DAG – файлом и восстанавливается каждые 30 000 блоков (или каждые
5 дней). По состоянию на март 2020 года размер DAG файла Ethereum составляет
3.5 ГБ, и он будет продолжать увеличиваться в размере по мере роста блокчейна.
Особенности создания DAG не так актуальны для этой статьи, но вы можете прочитать больше о генерации DAG тут (англ.).
Ход выполнения алгоритма хеширования Ethash можно обобщить следующим образом:
Принцип работы алгоритма хеширования Ethereum
Почему Ethash привязан к памяти?
Каждая операция смешивания требует 128-байтового чтения из DAG (см. Рисунок 1, шаг 2).
Для хеширования одного одноразового номера требуется 64 микса, в результате чего (128 байт х 64) = 8 КБ чтения памяти. Чтение с произвольным доступом (каждая 128-байтовая страница выбирается псевдослучайно на основе функции смешивания), поэтому помещение небольшого фрагмента DAG в кэш L1 или L2 не очень поможет, так как следующая выборка DAG с большой вероятностью приведет к отсутствию кэша.
Поскольку извлечение страниц DAG из памяти намного медленнее, чем вычисление смешивания, мы почти не увидим улучшения производительности от ускорения вычисления смешивания.
Таким образом, мы считаем алгоритм Ethash жестко привязанным к памяти или связанным с памятью, поскольку пропускная способность памяти системы ограничивает нашу производительность.
Достижение предела пропускной способности памяти в реальном оборудовании
В качестве примера того, как ограничение пропускной способности памяти влияет на реальное оборудование, давайте подробнее рассмотрим производительность майнинга часто используемой видеокарты: RX 590.
Если хеширование Ethash действительно требует большой памяти, мы ожидаем, что фактическая скорость майнинга для этого оборудования будет очень близка к максимальной теоретической скорости хеширования, при условии, что выборка страниц DAG является единственным выполненным шагом.
Мы можем рассчитать этот максимальный теоретический хэшрейт следующим образом:
(Пропускная способность памяти) / (DAG-память, извлекаемая для хэширования) = максимальный теоретический хэшрейт
(256 гигабайт / сек) / (8 килобайт / хэш) = 32 Мегагэша/сек.
Эмпирический хэшрейт RX 490 во время реальной работы составляет
Эта небольшая задержка может быть легко объяснена задержкой памяти или другими быстрыми операциями в системе. Таким образом, производительность этой видеокарты такая же, как и ожидалось, при условии, что хеширование данных является трудным для памяти, а выбор страниц DAG является шагом ограничения скорости.
Победа над видеокартами: будущее поколение майнинг-устройств для добычи ETH
Вариант 1. Платы FPGA / ASIC с высокой пропускной способностью памяти
Взглянув на RX 590, мы можем немного подсчитать (245 долл за карту / (256 ГБ / с)), чтобы увидеть, хешрейт стоит 0,95 долл / ГБ / с.
Однако это будет еще не законченное устройство, так как нам нужен контроллер памяти FPGA или ASIC, печатная плата и вспомогательная электроника.
То есть, пока на рынке не появится более быстрая, более эффективная и дешевая видеокарта.
Например Видеокарты HBM уже доступны. Но если вы найдете недорогие готовые микросхемы FPGA или ASIC с контроллерами памяти 5–10 DDR или HBM или у вашей компании есть опыт создания специализированных ASIC устройств с высокой пропускной способностью памяти, вы можете обойтись и без аппаратного обеспечения.
Однако в этой ситуации вам, вероятно, следует изменить свою бизнес-модель и вместо этого создавать видеокарты, поскольку это уже огромный рынок.
Вариант 2: Использование мобильных чипсетов следующего поколения
По мере того как растет использование смартфонов и мобильных 3D-графиков мы увидим более дружественную для мобильных устройств и высокую пропускную способность памяти.
Это могут быть решения для мобильных систем на кристалле со встроенным графическим процессором (например, NVidia Tegra X1) или автономный мобильный графический процессор (например, PowerVR Series 8XE), либо специализированные процессоры с высокой пропускной способностью или ориентированные на нейронные сети со встроенной памятью (например, Movidius Myriad 2).
Эти классы устройств будут продолжать развиваться, и если стоимость, мощность и пропускная способность памяти попадут в нужное место, мы вполне можем увидеть пользовательские майнеры Эфириума с 10-20 мобильными графическими процессорами или VPU, расположенными на одной плате.
Выводы
Последовательные выборки DAG страниц в алгоритме хеширования Ethash достигают пределов пропускной способности памяти современного аппаратного обеспечения.
В данный момент ограничен их теоретический максимальный хэшрейт.
Какими мы увидим будущие майнеры Эфириума? Они, вероятно, не будут основаны на ASIC или FPGA. Скорее всего, они будут основаны на готовых чипах (мобильных GPU или VPU), а не на форм-факторе традиционной видеокарты, который мы так привыкли видеть в современных компьютерах потому, что мобильных GPU или VPU более заточены под пропускную способность памяти.
Одна заключительная оговорка: Каспер
Эта статья написана о текущем протоколе Ethash, основанном на Proof-of-Work, который используется для майнинга Ethereum. В системах на основе Proof-of-Work, подобных этой, майнеры выполняют значительные объемы вычислений для нахождения новых блоков, и получают денежные вознаграждения.
Как только сеть Ethereum перейдет на систему Proof-of-Stake (предположительно после 2020 года с фазой Ethereum 2.0 или Serenity), денежные вознаграждения будут предоставлены держателям валюты Ethereum, а не майнерам, что, вероятно, сделает добычу Эфириума устаревшей.
Когда этот переход произойдет, пока неясно, ожидается, что первая фаза будет запущена уже 3 января 2020 года.
Вы можете прочитать больше о первой, подготовительной фазе Ethereum 2.0 или Serenity.
Алгоритм Эфириума: как называется, принцип работы, особенности
Какой алгоритм у Эфириума: обзор Ethash
Стандарт SHA-3 является частью более обширного семейства криптографических примитивов Keccak, которое также называют синонимом SHA-3. Иногда хеш-функции Ethash называют «sha3_256» и «sha3_512», но версия Ethereum для Keccak не является стандартным хеш-алгоритмом SHA-3.
Ethash (алгоритм Ethereum) был разработан с упором на защиту от майнеров ASIC (Application Specific Integrated Circuits), но выдающаяся популярность Ethereum привела к росту интереса разработчиков ASIC к производству майнеров. В апреле 2018 года Bitmain объявил о первых майнерах ASIC для Ethash. Проект сообщества Ethereum решительно выступил против перспективы доминирования ASIC в сети, что привело к дискуссиям о «брикетировании» устройств. Такие предложения заставили майнеров на ASIC скрывать свое присутствие, снижать мощности хэширования своих устройств. Планы Ethereum по переходу с технологии Proof с Proof-Work на POS (Proof-of-Stake) делают разработку ASIC очень рискованной для производителей.
Описание алгоритма Эфириума
Эфириум не имеет лимитов эмиссии. Майнинг осуществляется с помощью протокола «доказательства работы» Proof-of-work (PoW). Новые блоки появляются каждые 14-15 секунд. Вознаграждение за блок получает тот участник майнинга, который первым найдет хэш, соответствующий ответу на задачу. Далее он передает блок по сети, чтобы каждый узел добавил его в копию блокчейна. Ethash использует альтернативные версии SHA3-256 и SHA3-512. Из-за них майнинг проходит много быстрее, чем у биткоина.
Алгоритм Эфириума (Ethash) выполняет следующие функции:
ETH алгоритм: история Ethash
Dagger Hashimoto реализует подход Hashimoto в доказательстве емкости ввода/вывода, но не использует блокчейн в качестве набора данных, генерируя пользовательский набор данных объемом 1 ГБ, созданный с помощью алгоритма Dagger. Уязвимость Dagger в аппаратных преимуществах совместно используемой памяти была устранена за счет создания набора данных, используемых для запроса полупостоянного блока и его обновления через некоторые заранее определенные интервалы времени.
Принцип работы алгоритма Ethereum
В основе Ethash лежит граф, состоящий из последовательных узлов. Граф можно представить в виде дерева с большим числом ответвлений. Эта особенность заметно усложняет создание ASIC-устройств для работы с ним.
В начале процесса майнинга на память видеокарт загружается специальный DAG файл. Размер этого файла постоянно увеличивается. Чем больше существует криптовалюта, тем размер большое. Поэтому необходимо помнить, что чем объемнее DAG файл, тем более мощная видеокарта нужна для добычи этой криптовалюты.
Процесс хеширования состоит из 6 этапов:
Какой алгоритм у Ethereum, мы выяснили, а как обстоят дела с майнингом?
Ethash mining может выполняться как с CPU, так и с GPU. Чтобы начать майнинг ETH, потребуется полностью синхронизированный клиент криптовалюты, который включен для майнинга, а также одна учетная запись Ethereum. Другим криптовалютам Ethash необходим кошелек или учетная запись в соответствующих сетях. Майнинг на процессоре монет на основе Ethash больше нельзя считать прибыльным из-за почти в два раза более эффективной добычи на GPU.
Другие монеты на основе алгоритма Эфириума (Ethash)
В настоящее время Ethash используется во многих криптовалютах. Но самым популярными из них, помимо Эфира, являются:
Мы рассмотрели особенности криптовалюты ETH, какой алгоритм используется в сети и особенности майнинга.
Ethash
Понравилась статья? Поделись:
Содержание
Обзор Ethash [ править ]
Стандарт SHA-3 является частью более обширного семейства криптографических примитивов под названием Keccak, которое также называют синонимом SHA-3. Иногда хеш-функции Ethash называют «sha3_256» и «sha3_512», но версия Ethereum для Keccak не является стандартным хеш-алгоритмом SHA-3.
История Ethash [ править ]
Dagger Hashimoto реализует подход Hashimoto в доказательстве емкости ввода/вывода, но не использует блокчейн в качестве набора данных, генерируя пользовательский набор данных объемом 1 ГБ, созданный с помощью алгоритма Dagger. Уязвимость Dagger в аппаратных преимуществах совместно используемой памяти была устранена за счет создания набора данных, используемого для запроса полупостоянного блока и его обновления через некоторые заранее определенные интервалы времени. Эта корректировка уменьшила усилия, необходимые для создания набора данных, практически ничтожными и устранила предыдущую проблему оптимизации ASIC.
Майнинг [ править ]
Ethash mining может выполняться как с CPU, так и с GPU. Криптовалюты на основе Ethash отличаются по своим требованиям к майнингу, поэтому в этой статье Ethereum будет использоваться в качестве примера в качестве наиболее популярной реализации Ethash, а другие криптографии часто используют то же программное обеспечение для майнинга, что и он. Чтобы начать майнинг ETH, потребуется полностью синхронизированный клиент криптовалюты, который включен для майнинга, и как минимум одна учетная запись Ethereum. Другим криптовалютам Ethash необходим кошелек или учетная запись в соответствующих сетях.
Майнинг пула также доступен для большинства криптовалют Ethash. Пулы часто требуют, чтобы майнеры платили некоторые сборы (в основном около 1-2% дохода), но это все еще остается лучшим вариантом для майнинга популярных криптовалют на основе Ethash с посредственным оборудованием.
Монеты [ править ]
Согласно CoinGuides.org, независимые криптовалюты с их блокчейном на основе Ethash с минимальным шифрованием включают в себя следующие проекты, ранжированные по популярности: