Ethash
Понравилась статья? Поделись:
Ethash — это алгоритм хеширования, изначально используемый для функции проверки работоспособности в основанных на Ethereum криптовалютах. Он использует альтернативные версии SHA3-256 и SHA3-512, часто называемые Keccak-256 и Keccak-512.
Содержание
Обзор Ethash [ править ]
Ethash — это алгоритм интеллектуального анализа, реализованный сетью Ethereum и криптовалютами на основе Ethereum. Ethash является преемником предыдущего алгоритма Ethereum, называемого Dagger-Hashimoto, и, по сути, является его обновлением. Тем не менее, текущие этапы разработки обоих алгоритмов сделали их слишком отличными от того, чтобы считаться одним и тем же алгоритмом. Ethash использует алгоритмы хеширования «Keccak-256» и «Keccak-512», что приводит к некоторой путанице из-за одновременной разработки криптографических стандартов SHA-3 (Secure Hash Algorithm 3) наряду с разработкой Ethash.
Стандарт SHA-3 является частью более обширного семейства криптографических примитивов под названием Keccak, которое также называют синонимом SHA-3. Иногда хеш-функции Ethash называют «sha3_256» и «sha3_512», но версия Ethereum для Keccak не является стандартным хеш-алгоритмом SHA-3.
Ethash был разработан с упором на защиту от майнеров ASIC (Application Specific Integrated Circuits), но выдающаяся популярность Ethereum — ведущего криптографа на основе Ethash — привела к росту интереса разработчиков ASIC к производству Ethash-совместимых майнеров. В конце концов, в апреле 2018 года Bitmain объявил о первых майнерах ASIC для Ethash. Тем не менее, проект сообщества Ethereum решительно выступил против перспективы доминирования ASIC в сети, что привело к дискуссиям о «брикетировании» устройств. В терминах оборудования для майнинга «кирпич» означает технологическое обновление сети, которое делает аппаратное обеспечение бесполезным или даже сломанным, если оно подключено к сети. Такие предложения заставили майнеров ASIC скрыть свое присутствие и снизить мощность хэширования своих устройств. Планы Ethereum по переходу с технологии Proof с Proof-Work на гибрид POW/POS (Proof-of-Stake) делают разработку ASIC для Ethash очень рискованной для производителей.
История Ethash [ править ]
Первоначальная версия Ethash была основана на алгоритме Dagger Hashimoto — алгоритме, который был разработан путем объединения алгоритма Hashimoto Thaddeus Dryja и алгоритма Dagger — Виталика Бутерина. Он был разработан с учетом трех основных условий: устойчивость к ASIC, легкость проверки клиента и полное хранение в цепочке.
Dagger Hashimoto реализует подход Hashimoto в доказательстве емкости ввода/вывода, но не использует блокчейн в качестве набора данных, генерируя пользовательский набор данных объемом 1 ГБ, созданный с помощью алгоритма Dagger. Уязвимость Dagger в аппаратных преимуществах совместно используемой памяти была устранена за счет создания набора данных, используемого для запроса полупостоянного блока и его обновления через некоторые заранее определенные интервалы времени. Эта корректировка уменьшила усилия, необходимые для создания набора данных, практически ничтожными и устранила предыдущую проблему оптимизации ASIC.
Майнинг [ править ]
Ethash mining может выполняться как с CPU, так и с GPU. Криптовалюты на основе Ethash отличаются по своим требованиям к майнингу, поэтому в этой статье Ethereum будет использоваться в качестве примера в качестве наиболее популярной реализации Ethash, а другие криптографии часто используют то же программное обеспечение для майнинга, что и он. Чтобы начать майнинг ETH, потребуется полностью синхронизированный клиент криптовалюты, который включен для майнинга, и как минимум одна учетная запись Ethereum. Другим криптовалютам Ethash необходим кошелек или учетная запись в соответствующих сетях.
Майнинг процессоров криптографии на основе Ethash больше не приносит прибыли из-за почти в два раза более эффективных возможностей майнинга майнеров на GPU. Тем не менее, майнинг ЦП может использоваться для первых попыток майнинга или с целью создания некоторого количества монет для питания интеллектуальных контрактов или для попыток транзакций криптовалюты в сети. Процессинг майнинга процессора Ethereum выполняется с помощью ETH-клиента с именем geth. Geth — это программа, которая связывает сеть Ethereum с механизмом майнера. Монетные монеты будут отправлены непосредственно на адрес шахтерской базы в сети.
GPU майнинг — лучший вариант для Ethash. Однако важно помнить, что Ethash занимает мало памяти и требует не менее 1-2 ГБ ОЗУ на каждый используемый графический процессор. Графические процессоры AMD обычно показывают лучшие результаты, чем продукты NVidia той же категории, ASIC и FPGA (полевые программируемые массивы шлюзов), которые в настоящее время способны к интеллектуальному анализу Ethash, неэффективны по сравнению с графическими процессорами и не приветствуются как сообществом, так и разработчиками. Чтобы начать майнинг на GPU, необходимо скачать Ethminer — Ethash miner, разработанный командой Ethereum и подходящий для работы с каждым криптографическим средством на основе Ethash, которое специально не блокирует эту возможность. Ethminer доступен в формах Eth (его CLI), AlethZero (его GUI) и EthMiner (автономный майнер).
Майнинг пула также доступен для большинства криптовалют Ethash. Пулы часто требуют, чтобы майнеры платили некоторые сборы (в основном около 1-2% дохода), но это все еще остается лучшим вариантом для майнинга популярных криптовалют на основе Ethash с посредственным оборудованием.
Монеты [ править ]
Самым известным блокчейном на основе Ethash, очевидно, является сеть Ethereum. Ethash был разработан фондом Ethereum специально для построения своей сети на его основе. Первый блокчейн был разветвлен после того, как The Dao был взломан из-за его умной уязвимости, связанной с контрактами, и разделился на две разные блокчейны со своими криптовалютами — Ethereum (ETH) и Ethereum Classic (ETC). Ethereum classic, первый блокчейн на основе Ethash, больше не находится в разработке первоначальной команды Ethereum и поддерживается компанией-разработчиком Ethereum Classic.
Ethereum — ведущая платформа для создания токенов и dapps с их криптовалютами. Augur, Binance Coin, Bytom, Status и многие другие криптовалютные проекты основаны на техническом стандарте Ethereum ERC 20 и де-факто используют Ethash в качестве проверочного алгоритма. Однако лишь немногие из токенов ERC20 попытались стать пригодными для использования. Таким образом, все упомянутые валюты не только сильно зависят от блокчейна Ethereum, но и не функционируют с точки зрения поддержки блокчейна без него.
Согласно CoinGuides.org, независимые криптовалюты с их блокчейном на основе Ethash с минимальным шифрованием включают в себя следующие проекты, ранжированные по популярности:
- Metaverse (ETP)
- Expanse (EXP)
- Musicoin (MUSIC)
- Ellaism (ELLA)
- Elementrem (ELE)
- DaxxCoin (DAXX)
Источник
Алгоритм Ethash
Обзор алгоритма Ethash
В этой статье я расскажу про алгоритм Ethash, который используется для майнинга различных криптовалют, но главная из них это, конечно, Ethereum. Ethash — это Proof of Work (PoW) алгоритм, который является последней версией алгоритма Dagger-Hashimoto, хотя его больше нельзя назвать таковым, так как многие из исходных функций обоих алгоритмов были кардинально изменены.
Термин Proof of Work означает, что майнеры ищут решение (“nonce” или одноразовый номер), которое при хешировании выдаст значение меньше целевого порога, который предварительно задан. Из-за криптографического характера хеш-функции практически невозможно обратное вычисление одноразового номера (“nonce”), удовлетворяющего целевому пороговому пределу. Только если вручную перебирать все возможные варианты.
Алгоритм Dagger-Hashimoto был придуман путем соединения алгоритма Dagger — Виталика Бутерина (одного из основателей Ethereum) и алгоритма Hashimoto Thaddeus Dryja. Он создавался, для того чтобы затруднить майнинг для ASIC-оборудования (Application Specific Integrated Circuits), а также для того, чтобы была легкая проверка и полное хранение в цепочке.
Затруднение майнинга для 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 ГБ.
Для начала майнерам нужно было скачать и установить программу Ethminer. После этого осуществлялось подключение к интернету. Схема рабочего процесса проста и понятна: генерация файла с расширением .DAG внушительного объема. Хранился данный файл на жестком диске, так как без него невозможно запустить майнинг.
Генерация DAG-файла занимала в среднем 10 минут, однако следует учитывать тот факт, что создавалось сразу две эпохи майнинга, поэтому время ожидания увеличивалось вдвое.
Главная проблема алгоритма заключалась в том, что в ходе смены эпохи в DAG-файле программа для майнинга зависала. В 2016 году была выпущена программа ClayMore. С помощью этого софта были устранены проблемы с зависанием. В результаты таких нововведений DAG-файл начал сохраняться не на винчестер, а на видеокарту.
Появление программы ClayMore Dual Miner также расширило возможности майнеров, например, они смогли добывать сразу 2 криптовалюты. Вторая монета заметно ускоряла генерацию первой. Однако есть один значительный недостаток – возрастает количество потребляемой электроэнергии.
Технические параметры
Как уже было сказано ранее, сначала алгоритм шифрования Ethash назывался Dagger-Hashimoto. Первоначальная версия очень сильно напоминала скрипт, но механизм хеширования характеризовался существенным отличием от всех других алгоритмов майнинга. Дело в том, что Ethash создает граф, то есть дерево с огромным числом последовательных узлов.
Разумеется, что появление такой системы в разы увеличило сложность расшифровки, подобрать необходимые значения стало практически невозможной задачей. Постепенно Виталик Бутерин и его команда совершенствовали алгоритм, в определенный момент было принято решение провести ребрендинг и изменить название на Ethash.
Сегодня алгоритм майнинга криптовалюты Ethereum и многих других популярных монет представлен в виде хеширования метаданных последнего блока с использованием специального Nonce-кода. Этот код представлен в виде самого обыкновенного двоичного числа, которое определяет уникальное значение хеша.
Подобрать истинное значение практически невозможно, если сравнивать обновленный алгоритм с первоначальной версией. Чтобы определить хеш, необходимо методично перебрать абсолютно все возможные варианты.
Еще одна характерная особенность алгоритма – слишком высокий объем потребляемой электроэнергии, что объясняется максимальными требованиями к видеопамяти. Если проанализировать последние модели видеоадаптеров AMD, то каждый пользователь сможет изменить тайминг видеопамяти. В результате, производительность майнинга возрастет примерно на 20%.
Криптовалюты на Ethash
Рассмотрим самые популярные системы, майнинг которых построен на рассматриваемом алгоритме:
- Ethereum – на сегодняшний день именно эта цифровая валюта считается главным конкурентом Bitcoin. Сам Виталик Бутерин отмечает расширенный функционал, то есть это не просто платежное средство, а децентрализованная платформа для работы со smart-контрактами.
- Ethereum Classic – появился в результате несогласия некоторых пользователей с хард-форком. Криптовалюта построена на основе оригинального Ethereum Blockchain.
- Expanse – децентрализованная платформа с открытым исходным кодом. Предназначена для разработки приложений. Сегодня монета торгуется на многих популярных биржах.
- Ubiq – еще одна платформа для работы со smart-контрактами и для создания Blockchain-приложений. Блок оптимизирован в сравнении с первоначальной концепцией.
- Pirl – цифровая валюта, совместившая майнинг на основе алгоритма Ethash и работу мастернодов. Опять-таки, в основу системы положена работа со smart-контрактами. Обеспечивается надежная защита от ASIC-майнеров
Существуют и другие криптовалюты: 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 канал. Будьте в курсе новых статей.
Источник