May 29, 2019

Майнинг в сети Эфириум

Майнинг – это деятельность по созданию новых структур (блоков в блокчейне) для обеспечения функционирования криптовалютной платформы. За создание очередного блока предусмотрено вознаграждение за счёт новых единиц криптовалюты и комиссионных сборов.

Алгоритм майнинга в Ethereum

Криптовалюта Эфир (ETH) – это топливо для децентрализованной платформы Ethereum. Монета используется для оплаты комиссий за любые действия в блокчейне и в качестве экономического стимула для поддерживающих сеть майнеров. Под майнерами здесь подразумевается обширная глобальная сеть компьютеров с запущенными на них узлами Ethereum, которым выплачиваются монеты Эфира за работу по исполнению смарт-контрактов и валидации канонического порядка транзакций по всему миру.

Таким образом, майнинг можно также определить как выделенное вычислительное усилие для поддержания заданной версии истории (транзакций) в качестве правильной.

Изначально концепция Эфириума предполагала работу на PoS (Proof-of-Stake) алгоритме, но в то время эта технология была слишком несовершенна и был выбран Proof-of-Work.

PoS, PoW что и почему?

Алгоритм доказательства работы для протокола Ethereum сейчас – это Ethash. Он был создан на основе DaggerHashimoto - требовательного к памяти алгоритма устойчивого к ASIC-майнингу.

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

Одна из ключевых особенностей этого алгоритма в том, что он полагается на файл с направленным ациклическим графом (DAG), который представляет собой блок данных объёмом несколько Гб, создаваемый заново каждые 30000 блоков (~125 часов, называемые одной эпохой). Он хранится у каждого полного узла и увеличивается после каждой эпохи на 8 Мб.

Здесь можно узнать нынешний и прогнозируемый размер DAG-файла для самых популярных монет на алгоритме Ethash.

Задача майнера, как и в сети Биткойн, первым найти такое значение Nonce (случайного кода), чтобы в комбинации с хэшем нового блока, (который зависит от содержимого DAG-файла, хэша предыдущего блока и хэшей всех транзакций в нем) получался хэш-код, соответствующий заданному параметру сложности. Этот параметр называется difficulty target или difficulty bits и определяет минимальное количество нулей в начале результата хэширования.

Единственный способ найти правильный nonce — циклическое перемещение по всему диапазону возможных решений до тех пор, пока не будет найдено правильное. Тогда полученное решение будет являться тем самым доказательством проделанной работы (Proof-of-work). Если майнер нашёл нужный nonce, то получает право добавить свой блок в общую цепочку, забрать все транзакционные комиссии и получить награду за блок. Если нет - продолжает перебор до тех пор, пока не узнает, что другой узел в сети уже решил эту задачу. Тогда он отбрасывает блок, который майнил, создает новый блок и начинает майнить его уже с учётом нового хэша.

Во всех криптовалютах, использующих алгоритм «доказательства работы» (PoW), закладывается принцип изменения сложности майнинга. Если блоки находятся слишком быстро или медленно, сеть Эфириум автоматически корректирует сложность каждые 1000 блоков, чтобы оставаться в диапазоне своего оптимального времени блока (~15 секунд).

Однако, у сложности есть и другое применение в EVM, это один из нескольких факторов, используемый для определения счета блока, иногда называемого тяжестью блока. Самый тяжелый (с наибольшим объёмом выполненной работы) путь через структуру транзакционных данных можно назвать самым длинным. Это важно для выявления главной (=самой длинной) цепи в случае появления непреднамеренных ответвлений (форков) в результате нахождения блока несколькими майнерами одновременно.


Переход на Proof-of-stake

Несовершенства алгоритма Proof-of-work для глобальных сетей вроде Эфириума стали особенно критичны в 2017 году, когда главные криптовалюты не смогли нормально функционировать из-за наплыва пользователей. Помимо сложностей с масштабированием таких систем, использование алгоритма доказательства работы ведёт к проблемам с централизацией майнинговых мощностей, повышению себестоимости добычи монет, увеличению энергопотребления майнинговой сети и, как следствие, к увеличению негативного влияния на экологию.


Разработчики изначально запланировали вернуться к идее PoS через несколько лет после запуска и в одном из обновлений 2015 года заложили в код платформы "бомбу сложности". Она ещё в 2016 начала наступление "ледникового периода", необходимого для успешной реализации протокола Casper - завершающего этапа перехода на алгоритм PoS. Но и по сей день все технические вопросы не решены, сеть все ещё находится в процессе перехода, а кардинальное замедление появления новых блоков периодически откладывается.

Бомба сложности — запрограммированный механизм экспоненциального усложнения майнинга (вплоть до невозможности генерации новых блоков), направленный на стимулирование участников сети к переходу н�� новую PoS-версию сети в будущем.

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

Статья с видео о причинах и проблемах перехода Эфириума на Proof-of-stake.

Заключение

Несмотря на растущую конкуренцию, Эфир остаётся одной из самых популярных криптовалют для майнинга. И хотя индустрию захватывают ASIC-майнеры, получать прибыль с GPU (графических процессоров) при работе в пуле все ещё возможно. В статье вы найдёте советы, полезные ссылки, обзоры и настройки для майнинговой фермы на базе видеокарт.


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


Основной источник с более детальным освещением вопроса.