---
title: "Алгоритмы майнинга"
description: "Подробный обзор алгоритмов, используемых для майнинга в Эфириуме."
lang: ru
---

<Alert variant="update">
<AlertEmoji text=":wave:"/>
<AlertContent>
<AlertDescription>
Доказательство выполнения работы (PoW) больше не лежит в основе механизма консенсуса Эфириума, что означает, что майнинг был отключен. Вместо этого безопасность Эфириума обеспечивается валидаторами, которые стейкают ETH. Вы можете начать стейкать свои ETH уже сегодня. Узнайте больше о <a href='/roadmap/merge/'>Слиянии</a>, <a href='/developers/docs/consensus-mechanisms/pos/'>доказательстве доли владения (PoS)</a> и <a href='/staking/'>стейкинге</a>. Эта страница представляет только исторический интерес.
</AlertDescription>
</AlertContent>
</Alert>

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

## Предварительные требования {#prerequisites}

Для лучшего понимания этой страницы мы рекомендуем сначала прочитать про [консенсус на основе доказательства выполнения работы (PoW)](/developers/docs/consensus-mechanisms/pow) и [майнинг](/developers/docs/consensus-mechanisms/pow/mining).

## Dagger Hashimoto {#dagger-hashimoto}

Dagger Hashimoto был предшествующим исследовательским алгоритмом для майнинга в Эфириуме, который был заменен на Этхэш. Он представлял собой объединение двух разных алгоритмов: Dagger и Hashimoto. Он всегда был лишь исследовательской реализацией и к моменту запуска основной сети Ethereum был заменен на Этхэш.

[Dagger](http://www.hashcash.org/papers/dagger.html) включает в себя генерацию [направленного ациклического графа (DAG)](https://en.wikipedia.org/wiki/Directed_acyclic_graph), случайные срезы которого хешируются вместе. Основной принцип заключается в том, что для каждого нонса требуется лишь небольшая часть большого общего дерева данных. Пересчет поддерева для каждого нонса является непомерно затратным для майнинга — отсюда необходимость хранения дерева, — но вполне приемлем для проверки одного нонса. Dagger был разработан как альтернатива существующим алгоритмам, таким как Scrypt, которые требовательны к памяти, но сложны для проверки, когда их требовательность к памяти возрастает до действительно безопасных уровней. Однако Dagger оказался уязвим к аппаратному ускорению с общей памятью и был отброшен в пользу других направлений исследований.

[Hashimoto](http://diyhpl.us/%7Ebryan/papers2/bitcoin/meh/hashimoto.pdf) — это алгоритм, который добавляет устойчивость к ASIC за счет ограничения ввода-вывода (т. е. чтение из памяти является ограничивающим фактором в процессе майнинга). Теория заключается в том, что оперативная память (RAM) более доступна, чем вычислительные мощности; миллиарды долларов уже были вложены в исследования по оптимизации RAM для различных сценариев использования, которые часто включают шаблоны доступа, близкие к случайным (отсюда и название «память с произвольным доступом»). В результате существующая оперативная память, вероятно, будет достаточно близка к оптимальной для оценки алгоритма. Hashimoto использует блокчейн в качестве источника данных, одновременно удовлетворяя пунктам (1) и (3) выше.

Dagger-Hashimoto использовал измененные версии алгоритмов Dagger и Hashimoto. Разница между Dagger Hashimoto и Hashimoto заключается в том, что вместо использования блокчейна в качестве источника данных Dagger Hashimoto использует специально сгенерированный набор данных, который обновляется на основе данных блока каждые N блоков. Набор данных генерируется с использованием алгоритма Dagger, что позволяет эффективно вычислять подмножество, специфичное для каждого нонса, для алгоритма проверки легкого клиента. Разница между Dagger Hashimoto и Dagger заключается в том, что, в отличие от оригинального Dagger, набор данных, используемый для запроса блока, является полупостоянным и обновляется только через определенные промежутки времени (например, раз в неделю). Это означает, что доля усилий по генерации набора данных близка к нулю, поэтому аргументы Серджио Лернера (Sergio Lerner) относительно ускорения за счет общей памяти становятся незначительными.

Подробнее о [Dagger-Hashimoto](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/dagger-hashimoto).

## Этхэш {#ethash}

Этхэш был алгоритмом майнинга, который фактически использовался в реальной основной сети Ethereum в рамках ныне устаревшей архитектуры доказательства выполнения работы (PoW). Этхэш фактически стал новым названием, данным конкретной версии Dagger-Hashimoto после того, как алгоритм был значительно обновлен, при этом сохранив фундаментальные принципы своего предшественника. В основной сети Ethereum всегда использовался только Этхэш — Dagger Hashimoto был научно-исследовательской версией алгоритма майнинга, которая была заменена до начала майнинга в основной сети Ethereum.

[Подробнее об Этхэше](/developers/docs/consensus-mechanisms/pow/mining/mining-algorithms/ethash).

## Дополнительная литература {#further-reading}

_Знаете ресурс сообщества, который вам помог? Отредактируйте эту страницу и добавьте его!_