Ethereum eth алгоритм ethash

Описание алгоритма майнинга Эфириума — Ethash

Добыча криптовалют сегодня — это, без лишних преуменьшений, настоящий «хит сезона». Биткоин буквально каждый день бьёт рекорды стоимости, а вслед за ним дорожают и остальные криптовалюты. Однако майнинг самого Биткоина уже давно недоступен для «простых смертных», с каждым днём их все больше и больше вытесняют специализированные и мощные ASIC системы. В связи с этим особую популярность у майнеров во всем мире сейчас имеет относительно молодая, но уже успевшая зарекомендовать себя на рынке криптовалюта Эфириум.

В этой небольшой статье мы хотим обратить внимание на главную отличительную черту любой криптовалюты — алгоритм. Etherium алгоритм имеет несколько особенностей, о которых вы должны знать перед тем, как заняться майнингом этой криптовалюты. Кроме того, мы кратко расскажем о том, какие алгоритмы применяются в других валютах, дабы обрисовать более полную картину различий.

Какие бывают алгоритмы майнинга криптовалют?

Для обеспечения работы каждой криптовалюты используется определенный механизм шифрования — алгоритм. Именно его расшифровкой и занимается ваша домашняя майнинг-ферма. У каждой криптовалюты алгоритм шифрования может быть свой, но поскольку самих виртуальных денег значительно больше, нежели известных алгоритмов, то часто один алгоритм может применяться во множестве различных криптосистем. В результате расшифровки алгоритма пользователи находят так называемый хеш, в результате чего открываются новые блоки и расширяется блокчейн системы. После открытия каждого блока майнер получает награду в виде монет, количество же добытых монет зависит о сложности системы, и во всех криптовалютах стоимость блока зачастую оценивается по-разному.

Алгоритм добычи Эфириума сейчас довольно популярен и применяется не только для Эфира, но и для других криптовалют. Это очень выгодно, поскольку сложность майнинга внутри системы постоянно растёт и с каждым полученным блоком добывать новые становится все труднее. Так вот если этот процесс в конце концов станет слишком невыгодным при вашем текущем оборудовании, то вы всегда с минимальными усилиями сможете перейти на другую криптовалюту, построенную на таком же алгоритме.

Также очень популярными на сегодняшний день считаются алгоритмы SHA-256 и Scrypt, но о них немного ниже. Остальные известные алгоритмы не могут похвастаться такой всеобъемлющей любовью разработчиков криптовалют, но тем не менее занимают уверенные позиции. Среди популярных валют сегодня можно встретить алгоритмы, такие как DaggerHashimoto, Scrypt, SHA256, ScryptNf, X11, X13, Keccak, X15, Nist5, NeoScrypt, Blake256r8vnl, Hodl, Decred, CryptoNight, Skunk, Lbry, Equihash, Pascal, X11Gost, Sia, Blake2s, Lyra2RE, WhirlpoolX, Qubit, Quark, Axiom, Lyra2REv2, ScryptJaneNf16, Blake256r8, Blake256r14.

Но поскольку подобное перечисление довольно трудно для восприятия, давайте лучше составим таблицу самых популярных криптовалют и применяемых в них алгоритмов.

Криптовалюта Год выхода Сокращение Алгоритм
Bitcoin 2009 BTC SHA-256
Ethereum 2015 ETH Dagger-Hashimoto
Steemit 2016 STEEM SHA-256
Ripple 2013 XRP ECDSA
DigiByte 2014 DGB SHA256
Monero 2014 XMR CryptoNight
Siacoin 2015 SC blake2b
Litecoin 2011 LTC Scrypt
EthereumClassic 2015 ETC Dagger-Hashimoto
Dogecoin 2013 DOGE Scrypt
NEM 2015 XEM blockchain
Syscoin 2014 SYS Scrypt
Augur 2015 REP Smart contract
Dash 2014 DASH X11
ByteCoin 2012 BCN CryptoNight
BelaCoin 2014 BELA Scrypt
lbryCoin 2016 LBC LBRY
Radium 2015 RADS Smartchain
Decred 2015 DCR Blake256
Einsteinium 2014 EMC2 Scrypt
Gridcoin 2013 GRC BOINC
VertCoin 2014 VTC Lyra2RE
Dashcoin 2014 DSH CryptoNight
Potcoin 2014 POT Scrypt
Peercoin 2012 PPC SHA-256
Namecoin 2011 NMC SHA-256
Nautiluscoin 2014 NAUT NXT
Expanse 2015 EXP Dagger-Hashimoto
PinkCoin 2014 PINK X11
FoldingCoin 2014 FLDC Stanford Folding
Navcoin 2014 NAV X13
ViaCoin 2014 VIA Scrypt
DNotes 2014 NOTE Scrypt
Vcash 2014 XVC Blake256

SHA-256

Очень старый алгоритм, который появился еще до массового внедрения криптовалют. Он был разработан агентством национальной безопасности США и применялся для защиты веб-сайтов по сертификату безопасности SSI.

С 2009 года SHA 256 начал применяться как алгоритм шифрования криптовалюты Биткоин, а в скором времени — и других криптовалют, созданных по его прообразу. По сути, SHA 256 представляет собой криптографическую хеш-функцию, которая призвана превращать произвольный набор данных в значение фиксированной длины. При этом полученное значение будет выступать подписью исходных данных, но извлечь их уже никак не получится. Сама подпись в окне программы майнера будет выглядеть примерно как строка «Accepted 0aef41a3b».

Скорость работы майнера с данным алгоритмом напрямую зависит от вычислительной мощности, так как поиск нужного хеша очень вариативен и порой может достигать значений в несколько сотен тысяч к одному. Однако по сравнению с алгоритмом майнинга эфира, SHA 256 имеет очень существенный недостаток. Дело в том, что он очень сильно уязвим для специального вычислительного оборудования ASIC, данные микросхемы очень быстро находят нужное значение хеша и в конечном итоге монополизируют майнинг Биткоина, сделав сложность сети блокчейна недосягаемой для обычных майнинг-ферм.

Scrypt

На сегодняшний день вторым по популярности алгоритмом в мире является скрипт. Он применяется во многих криптовалютах, но, пожалуй, самой известной из них считается «цифровое серебро» Litecoin.

Возникновение алгоритма скрипт в первую очередь связано с тем, что разработчики прогнозировали скорое внедрение специализированных механизмов для расшифровки SHA 256. Монополизация рынка криптовалюты была недопустима, и вскоре на свет появился новый механизм шифрования. Основным отличием этих двух алгоритмом является то, что процесс нахождения нужного хеша для открытия блока сильно усложнен. В начале исполнения алгоритма генерируется большое количество псевдослучайных последовательностей, которые практически невозможно перебрать все за раз. В результате такого подхода майнинг-оборудование должно обладать существенным объёмом оперативной или видеопамяти для хранения исходных данных. Это значительно усложнило внедрение айсик-майнеров в систему с алгоритмом скрипт, так как созданные для майнинга Биткоина микросхемы этого вида просто не обладали достаточным количеством памяти.

Однако в данном алгоритме все же была небольшая уязвимость, связанная с тем, что при достаточной вычислительной мощности нужный для блока хеш может быть получен случайно, без перебора всех возможных последовательностей. В связи с этим некоторые ASIC все же могли работать со скрипт, хоть и делали это в разы медленнее, чем с SHA 256. Функция хеширования алгоритма Эфириума в этом плане имеет значительное преимущество, так как исключает возможность случайного подбора значений. Однако разработчики и сами это прекрасно понимали, в результате чего в скором времени выпустили более совершенную версию алгоритма под названием Scrypt-n.

Какой алгоритм используется в Ethereum?

Настало время поговорить о том, на каком алгоритме майнится Эфириум. Алгоритм шифрования Ethereum первое время носил имя DaggerHashimoto и очень напоминал собой алгоритм скрипт. Однако сам его механизм хеширования обладал существенным отличием от предшественника, так как создавал целый граф (дерево с большим количеством ответвлений) последовательных узлов. Эта система ещё более усложняла процесс расшифровки и делала практически невозможным случайный подбор значений. В последствии в алгоритм DaggerHashimoto были внесены некоторые улучшения и проведен ребрендинг, в результате которого он был переименован в Ethash.

Теперь описание алгоритма Ethereum выглядит как хеширование метаданных последнего блока системы, для которого используется специальный код под названием Nonce. Сам Нонс представляет собой обычное двоичное число, что задает уникальное значение хеша. Теперь случайный подбор правильного значения становится ещё более проблематичным, чем в предыдущей версии алгоритма: фактически подбор хеша теперь возможен лишь методичным перебором всех возможных вариантов.

Ethash славится своей любовью к видеокартам компании AMD, особенно к архитектуре последнего поколения Polaris. Кроме того, если вы решите майнить эфир на видеокарте, то позаботьтесь о том, чтобы у нее было хотя бы четыре гигабайта видеопамяти, так как в связи с особенностями алгоритма при каждом повышение сложности системы возрастают и требования к памяти устройства. Такой подход практически исключает актуальность ASIC-майнеров и обеспечивает высокую степень децентрализации криптовалюты. Также довольно неплохие результаты в майнинге Эфира демонстрирует последняя линейка видеокарт Nvidia под кодовым названием Pascal. По сути, требования для них аналогичны, что и для карт AMD, разница заключается только в настройке.

Заключение

Ethash — Ethereum алгоритм — кажется очень хорошей и перспективной разработкой. На сегодняшний день не так много алгоритмов могут похвастаться настолько хорошей защитой от ASIC-майнеров и в тоже время превосходной стабильностью. Сейчас Ethash работает не только с валютой Эфириум, но также используется в перспективной разработке Expanse. С течением времени появление Ethash ожидается и в новых проектах.

Если вы подбираете оборудование для майнинга Эфира, то позаботьтесь о необходимом количестве видеопамяти видеокарт, которое сейчас составляет минимум три гигабайта и будет повышаться в будущем. Это, пожалуй, главный сейчас показатель наряду с вычислительной мощностью ваших устройств.

Источник

Ethash алгоритм майнинга: как он работает для Ethereum

По мере того, как интерес к криптовалютам набирает обороты, увеличивается и их добыча.

Это создает существенный экономический стимул не только для производства большего количества оборудования для майнинга, но и для разработки более быстрых и более эффективных устройств.

Мы увидели это с Биткоином: майнинг перешел с процессоров, на видеокарты, затем на FPGA, а теперь и на ASIC.

Сегодня майнинг Ethereum на видеокартах является нормой, и пока еще майнеры не сделали сильного скачка к запуску алгоритма майнинга Ethash, на специализированных аппаратных решениях (например, FPGA и ASIC). Асики в сети есть, но они не дают такого большого преимущества как на Биткойне.

Множество статей и форумов объясняют это тем, что разработка асиков для Ethash — это проблема с памятью).

Здесь мы расскажем о том, откуда берется жесткая привязка к памяти у 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

  1. Preprocessed Header — препроцессированный заголовок (полученный из последнего блока) и Current Nonce (текущее однократно используемое число), в сочетании с использованием SHA-3-подобного алгоритма, чтобы создать наши первоначальные 128 байты микса, называются здесь Mix-0.
  2. Mix используется для вычисления того, какую 128-байтовую страницу из группы DAG нужно извлечь, представленную блоком «Get DAG Page».
  3. Mix сочетается с полученной страницей DAG. Это делается с помощью функции смешивания «Ethereum-specific», для генерации следующего микса, называемого здесь Mix 1.
  4. Шаги 2 и 3 повторяются 64 раза, в результате получается Микс 64.
  5. Микс 64 подвергается постобработке с получением более короткого 32-байтового Mix Digest (дайджеста микса).
  6. Mix Digest сравнивается с предопределенным 32-байтовым Target Threshold (целевым порогом). Если Mix Digest меньше или равен Target Threshold, то текущий одноразовый номер (Current Nonce) считается успешным и будет транслироваться в сеть Ethereum. В противном случае текущий одноразовый номер считается недействительным, и алгоритм перезапускается с другим одноразовым номером (либо путем увеличения текущего одноразового номера, либо путем выбора нового случайным образом).

Почему Ethash привязан к памяти?

Каждая операция смешивания требует 128-байтового чтения из DAG (см. Рисунок 1, шаг 2).

Для хеширования одного одноразового номера требуется 64 микса, в результате чего (128 байт х 64) = 8 КБ чтения памяти. Чтение с произвольным доступом (каждая 128-байтовая страница выбирается псевдослучайно на основе функции смешивания), поэтому помещение небольшого фрагмента DAG в кэш L1 или L2 не очень поможет, так как следующая выборка DAG с большой вероятностью приведет к отсутствию кэша.

Поскольку извлечение страниц DAG из памяти намного медленнее, чем вычисление смешивания, мы почти не увидим улучшения производительности от ускорения вычисления смешивания.

Лучший способ ускорить алгоритм хэширования Ethash — ускорить выборку 128-байтовой страницы DAG из памяти.

Таким образом, мы считаем алгоритм Ethash жестко привязанным к памяти или связанным с памятью, поскольку пропускная способность памяти системы ограничивает нашу производительность.

Достижение предела пропускной способности памяти в реальном оборудовании

В качестве примера того, как ограничение пропускной способности памяти влияет на реальное оборудование, давайте подробнее рассмотрим производительность майнинга часто используемой видеокарты: RX 590.

Если хеширование Ethash действительно требует большой памяти, мы ожидаем, что фактическая скорость майнинга для этого оборудования будет очень близка к максимальной теоретической скорости хеширования, при условии, что выборка страниц DAG является единственным выполненным шагом.

Мы можем рассчитать этот максимальный теоретический хэшрейт следующим образом:

(Пропускная способность памяти) / (DAG-память, извлекаемая для хэширования) = максимальный теоретический хэшрейт

(256 гигабайт / сек) / (8 килобайт / хэш) = 32 Мегагэша/сек.

Эмпирический хэшрейт RX 490 во время реальной работы составляет

Эта небольшая задержка может быть легко объяснена задержкой памяти или другими быстрыми операциями в системе. Таким образом, производительность этой видеокарты такая же, как и ожидалось, при условии, что хеширование данных является трудным для памяти, а выбор страниц DAG является шагом ограничения скорости.

Победа над видеокартами: будущее поколение майнинг-устройств для добычи ETH

Единственный способ, которым может пригодиться пользовательское оборудование для майнинга Ethereum, — это если он более экономичен или энергоэффективен при пропускной способности памяти (меньше $ / (ГБ / сек) или меньше Вт / (ГБ / сек)).

Вариант 1. Платы FPGA / ASIC с высокой пропускной способностью памяти

Взглянув на RX 590, мы можем немного подсчитать (245 долл за карту / (256 ГБ / с)), чтобы увидеть, хешрейт стоит 0,95 долл / ГБ / с.

По сравнению с одним чипом GDDR5 (например, Micron EDW4032BABG), который стоит 6,83 долл. И имеет пропускную способность 24 ГБ / с, мы можем добиться большего успеха — 0,28 долл. / ГБ / с.

Таким образом, если мы сможем создать собственный чип (либо ASIC, либо FPGA), чем интерфейс с 9 чипами GDDR5, у нас будет пропускная способность памяти 216 ГБ / с по цене $ 61,47.

Однако это будет еще не законченное устройство, так как нам нужен контроллер памяти FPGA или ASIC, печатная плата и вспомогательная электроника.

Если отгруженная окончательная сборка (добавление дополнительных деталей, процессов, испытаний и логистики) стоит меньше, чем RX 590 (всего $ 245), тогда пользовательская плата превзойдет видеокарту.

То есть, пока на рынке не появится более быстрая, более эффективная и дешевая видеокарта.

Например Видеокарты 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.

Источник

Читайте также:  Эмулятор экрана для майнинга
Оцените статью