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

Доказательство работы (PoW)

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

Ethereum, как и Bitcoin, в настоящий момент использует протокол доказательства работы (Proof-of-work, PoW)(opens in a new tab). Он позволяет узлам сети Ethereum согласовать состояние всей информации, зарегистрированной в блокчейне Ethereum, а также предотвращает некоторые виды экономических атак.

В течение следующего года доказательство работы будет заменено на доказательство владения (Proof-of-Stake, PoS). Переход на доказательство владения также приведет к постепенному отказу от майнинга Ethereum. Подробнее о слиянии.

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

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

Что такое доказательство работы (PoW)?

Доказательство работы — это механизм, который позволяет децентрализованной сети Ethereum прийти к консенсусу или согласованности таких вещей, как остатки на счетах и ​​порядок транзакций. Это предотвращает «двойное расходование» пользователями своих монет и гарантирует, что цепочку Ethereum чрезвычайно сложно атаковать или подвергнуть манипуляциям.

Доказательство работы и майнинг

Доказательство работы — это алгоритм, который устанавливает сложность и правила работы майнеров. Майнинг – это и есть сама «работа». А именно — добавление правильных блоков в блокчейн. Это важно, потому что длина цепочки помогает сети следовать правильной цепи Ethereum и понимать текущее состояние Ethereum. Чем больше «работы» было завершено, тем длиннее цепочка и больше номер блока и тем более определенным становится текущее состояние сети.

Подробнее о майнинге

Как работает доказательство работы в сети Ethereum?

Транзакции в Ethereum обрабатываются в блоках. У каждого блока есть:

  • Сложность блока, например: 3 324 092 183 262 715
  • MixHash, например: 0x44bca881b07a6a09f83b130798072441705d9a665c5ac8bdf2f39a3cdf3bee29
  • Nonce, например: 0xd3ee432b4fb3d26b

Данные этого блока напрямую относятся к доказательству работы.

Работа в системе с доказательством работы

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

При создании блока майнер неоднократно хэширует набор данных, который вы можете получить только от загрузки и запуска всей цепочки (что и делает майнер), с помощью математической функции. Набор этих данных используется для генерации mixHash ниже целевого числа Nonce, что продиктовано сложностью блока. Лучший способ найти mixHash — это метод проб и ошибок.

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

Хеширование позволяет легко обнаружить мошенничество. Но доказательство работы как процесс сам по себе является большим сдерживающим фактором для атаки на цепь.

Доказательство работы и безопасность

Майнеры стимулируются на работу над основной цепочкой Ethereum. Мало стимулов для того, чтобы подгруппа майнеров начинала свою собственную цепь: это подрывает систему. Блокчейны полагаются на то, что есть только одно верное состояние системы. И пользователи всегда будут выбирать самую длинную и «тяжелую» цепочку.

Цель доказательства работы — увеличить эту цепочку. Самая длинная цепочка является верной, потому что в ней было выполнено больше всего вычислительной работы. В системе с доказательством работы Ethereum почти невозможно создавать новые блоки, которые стирают транзакции, создают поддельные или поддерживают вторую цепочку. Это связано с тем, что злоумышленнику-майнеру нужно будет всегда решать одноразовый номер блока Nonce быстрее, чем все остальные.

Чтобы постоянно создавать вредоносные, но действительные блоки, вам потребуется более 51 % мощности сети майнинга, чтобы превзойти всех остальных. Вам понадобится много вычислительных мощностей, чтобы выполнить это количество «работы». И потраченная энергия может даже перевесить выигрыш, который вы получите в результате атаки.

Экономика доказательства работы

Доказательство работы также отвечает за выпуск новой валюты в систему и стимулирование майнеров к выполнению работы.

Майнеры, успешно создавшие блок, получают вознаграждение в виде двух только что отчеканенных ETH, но более не получают все транзакционные комиссии, так как базовая комиссия сгорает, пока чаевые и вознаграждение за блок переходят к майнеру. Майнер также может получить 1,75 ETH за Uncle-блок. Uncle-блоки — это действительные блоки, созданные майнером практически в то же время, когда другой майнер добыл успешный блок. Uncle-блоки обычно появляются из-за задержки в сети.

Финальность

Транзакция имеет «финальность» в Ethereum, когда она является частью блока, который не может быть изменен.

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

Но что еще больше усложняет ситуацию — транзакции, отклоненные на временном ответвлении, могли быть включены в принятую цепочку. Это означает, что блок может быть отменен. Таким образом, финальность означает время, которое вы должны подождать, прежде чем считать транзакцию необратимой. Для Ethereum рекомендуемое время составляет 6 блоков (или чуть больше 1 минуты). После шести блоков можно с относительной уверенностью сказать, что транзакция прошла успешно. Для большей уверенности в этом вы можете подождать дольше.

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

Помните, что это время не включает время ожидания, пока майнер использует транзакцию в блоке.

Энергопотребление в системе с доказательством работы

Основной аспект критики доказательства работы — это количество энергии, необходимое для обеспечения безопасности сети. Для обеспечения безопасности и децентрализации Ethereum потребляет 73,2 ТВт в год, что эквивалентно потреблению энергии такой страны среднего размера, как Австрия.

Преимущества и недостатки

ПреимуществаМинусы
Доказательство работы нейтрально. Вам не нужен ETH, чтобы начать, а вознаграждения за блок позволяют вам перейти от 0 ETH к положительному балансу. Для начала работы с доказательством владения вам понадобится ETH.Доказательство работы потребляет много энергии, что вредно для окружающей среды.
Доказательство работы — это испытанный и проверенный механизм консенсуса, который на протяжении многих лет обеспечивает безопасность и децентрализацию Bitcoin и Ethereum.Если вы хотите майнить, вам нужно специальное оборудование, а это большие инвестиции.
По сравнению с доказательством доли довольно легко внедрить.Из-за растущих потребностей в вычислениях майнинговые пулы потенциально могут доминировать среди майнеров, что ведет к централизации и рискам безопасности.

Сравнение с доказательством владения

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

  • Доказательство владения устраняет важность вычислительной мощности для стейкинга ETH.
  • Доказательство владения заменяет майнеров валидаторами. Валидаторы поставляют ETH для активации способности создавать новые блоки.
  • Валидаторы не участвуют в создании блоков, вместо этого они выбираются произвольно с помощью алгоритма.
  • Финальность более ясна: если на определенных контрольных точках 2/3 валидаторов соглашаются с состоянием блока, это считается окончательным. Валидаторы должны поставить на это все свои ставки, поэтому попытка мошенничать приведет к потере всей своей ставки.

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

Больше любите видео?

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

Видео

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