Перейти к основному содержанию
Change page

Майнинг

Последнее редактирование: , 15 августа 2023 г.

Прежде чем начать

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

Что такое майнинг в Ethereum?

Майнинг — это процесс создания блоков транзакций, которые будут добавлены в блокчейн Ethereum.

Сейчас Ethereum, как и Bitcoin, использует механизм консенсуса «Доказательство работы» (proof-of-work, PoW). Майнинг — это ключевая составляющая в системе доказательства работы. Майнеры Ethereum (компьютеры с работающим программным обеспечением) используют свою вычислительную мощность для обработки транзакций и создания блоков.

Доказательство владения заменит майнинг и доказательство работы в течение следующего года. Вы можете начать ставить свои ETH уже сегодня. Подробнее о стейкинге

Зачем нужны майнеры?

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

Подробнее о доказательстве работы

Кто может стать майнером Ethereum?

Технически любой может добывать Ethereum, используя свой компьютер. Однако не каждый может добывать эфир (ETH) с прибылью. В большинстве случаев майнеры должны покупать специальное компьютерное оборудование для майнинга с прибылью. Хотя любой может запустить программное обеспечение для майнинга на своем компьютере, маловероятно, что средний компьютер добудет достаточно награды для покрытия расходов, связанных со стоимостью майнинга.

Затраты на майнинг

  • Потенциальные затраты на оборудование, необходимое для сборки и обслуживания майнинговой фермы
  • Затраты на электричество для майнинговой фермы
  • Если dы занимаетесь майнингом в пуле, обычно майнинг-пулы взимают фиксированную комиссию в % от каждого блока, добытого пулом
  • Потенциальные затраты на дополнительное оборудование для поддержки майнинговой фермы (вентиляция, мониторинг потребления электроэнергии, электропроводка и т. д.)

Для оценки прибыльности майнинга используйте калькулятор майнинга, такой как Etherscan(opens in a new tab).

Как добываются (майнятся) транзакции Ethereum

  1. Пользователь составляет запрос на транзакцию и подписывает ее с помощью приватного ключа некоторого аккаунта.
  2. Пользователь транслирует запрос транзакции в сеть Ethereum через некоторый узел.
  3. Получив новый запрос на транзакцию, каждый узел сети Ethereum добавляет его в свой мемпул — локальный список всех полученных запросов на транзакции, которые еще не вошли ни в один блок блокчейна.
  4. В какой-то момент узел собирает несколько десятков или сотен запросов на транзакции в потенциальный блок таким образом, чтобы максимизировать сумму трансакционных комиссий, которые узел заработает, но в пределах лимита газа для блока. Затем узел майнинга делает следующее:
    1. Проверяет валидность каждого запроса на транзакцию (проверяет наличие подписи и ее соответствие запросу, целостность запроса и т. д.), а затем выполняет код запроса, изменяя состояние своей локальной копии EVM. Комиссию за каждую такую транзакцию майнер направляет на свой счет.
    2. Как только все запросы на транзакции в блоке будут проверены и выполнены на локальной копии EVM майнер начинает процесс создания «сертификата законности» доказательства работы для этого потенциального блока.
  5. В конце концов, какой-то майнер создаст блок с соответствующим сертификатом для блока, который включает в себя наш запрос на транзакцию. Затем майнер транслирует в сеть завершенный блок, а так же его сертификат и контрольную сумму нового состояния EVM.
  6. Другие узлы узнают о новом блоке. Они проверяют сертификат, выполняют все операции в блоке (в том числе транзакцию нашего пользователя) и убеждаются в том, что контрольная сумма их нового состояния EVM после выполнения всех транзакций соответствует контрольной сумме, заявленной майнером этого блока. Только после этого они добавляют этот блок к хвосту блокчейна и принимают новое состояние EVM в качестве канонического состояния.
  7. Каждый узел удаляет все транзакции нового блока из локального пула невыполненных запросов на транзакции.
  8. Новые узлы, присоединяющиеся к сети, скачивают все блоки по очереди, в том числе блок, содержащий конкретно нашу транзакцию. Они инициализируют локальную копию EVM с пустым состоянием, а затем выполняют каждую транзакцию каждого блока на их локальной копии EVM, проверяя контрольные суммы состояний в каждом блоке на всем пути.

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

Визуализация

Посмотрите, как Остин рассказывает о майнинге и блокчейнах с доказательством работы.

Дополнительные ресурсы

Была ли эта статья полезной?