Доказательство выполнения работы (PoW)
Сеть Эфириума изначально использовала механизм консенсуса, включающий доказательство выполнения работы (PoW). Это позволяло узлам сети Эфириума достигать согласия о состоянии всей информации, записанной в блокчейне Эфириума, и предотвращало определенные виды экономических атак. Однако в 2022 году Эфириум отключил доказательство выполнения работы и вместо этого начал использовать доказательство доли владения (PoS).
Предварительные требования
Для лучшего понимания этой страницы мы рекомендуем сначала прочитать про транзакции, блоки и механизмы консенсуса.
Что такое доказательство выполнения работы (PoW)?
Консенсус Накамото, использующий доказательство выполнения работы, — это механизм, который когда-то позволял децентрализованной сети Эфириума приходить к консенсусу (то есть к согласию всех узлов) по таким вопросам, как балансы аккаунтов и порядок транзакций. Это предотвращало «двойное расходование» монет пользователями и гарантировало, что цепь Эфириума будет невероятно сложно атаковать или манипулировать ею. Теперь эти свойства безопасности обеспечиваются доказательством доли владения с использованием механизма консенсуса, известного как Gasper.
Доказательство выполнения работы и майнинг
Доказательство выполнения работы — это базовый алгоритм, который устанавливает сложность и правила для работы, выполняемой майнерами в блокчейнах с доказательством выполнения работы. Майнинг — это и есть сама «работа». Это процесс добавления валидных блоков в цепь. Это важно, поскольку длина цепи помогает сети следовать правильному форку блокчейна. Чем больше «работы» выполнено, чем длиннее цепь и чем выше номер блока, тем больше сеть может быть уверена в текущем состоянии дел.
Как работало доказательство выполнения работы в Эфириуме?
Транзакции Эфириума обрабатываются и объединяются в блоки. В ныне устаревшем Эфириуме на базе доказательства выполнения работы каждый блок содержал:
- сложность блока — например: 3,324,092,183,262,715
- mixHash — например:
0x44bca881b07a6a09f83b130798072441705d9a665c5ac8bdf2f39a3cdf3bee29 - нонс — например:
0xd3ee432b4fb3d26b
Эти данные блока были напрямую связаны с доказательством выполнения работы.
Работа в доказательстве выполнения работы
Протокол доказательства выполнения работы, Этхэш, требовал от майнеров участия в напряженной гонке методом проб и ошибок, чтобы найти нонс для блока. Только блоки с валидным нонсом могли быть добавлены в цепь.
Участвуя в гонке за создание блока, майнер многократно пропускал через математическую функцию набор данных, который можно было получить только путем загрузки и запуска полной цепи (что и делает майнер). Этот набор данных использовался для генерации mixHash ниже целевого значения, которое диктуется сложностью блока. Лучший способ сделать это — метод проб и ошибок.
Сложность определяла целевое значение для хеша. Чем ниже цель, тем меньше набор валидных хешей. После генерации другим майнерам и клиентам было невероятно легко это проверить. Даже если бы изменилась всего одна транзакция, хеш стал бы совершенно другим, сигнализируя о мошенничестве.
Хеширование позволяет легко обнаружить мошенничество. Но доказательство выполнения работы как процесс также было серьезным сдерживающим фактором для атак на цепь.
Доказательство выполнения работы и безопасность
Майнеры были мотивированы выполнять эту работу в основной цепи Эфириума. У подгруппы майнеров было мало стимулов для создания собственной цепи — это подрывает систему. Блокчейны полагаются на наличие единого состояния как источника истины.
Цель доказательства выполнения работы заключалась в удлинении цепи. Самая длинная цепь считалась наиболее достоверной и валидной, поскольку для ее создания было выполнено больше всего вычислительной работы. В рамках системы PoW Эфириума было практически невозможно создавать новые блоки, которые стирают транзакции, создают поддельные или поддерживают вторую цепь. Это связано с тем, что злонамеренному майнеру пришлось бы всегда находить нонс блока быстрее всех остальных.
Чтобы постоянно создавать злонамеренные, но валидные блоки, злонамеренному майнеру потребовалось бы более 51% мощности майнинга сети, чтобы опередить всех остальных. Такой объем «работы» требует огромных затрат на вычислительные мощности, а потраченная энергия могла бы даже превысить выгоду, полученную от атаки.
Экономика доказательства выполнения работы
Доказательство выполнения работы также отвечало за выпуск новой валюты в систему и стимулирование майнеров к выполнению работы.
Начиная с обновления Константинополь, майнеры, успешно создавшие блок, получали вознаграждение в размере двух свежевыпущенных ETH и часть комиссий за транзакции. За блоки-оммеры также выплачивалась компенсация в размере 1.75 ETH. Блоки-оммеры — это валидные блоки, созданные майнером практически в то же время, когда другой майнер создал канонический блок, что в конечном итоге определялось тем, поверх какой цепи блоки строились в первую очередь. Блоки-оммеры обычно возникали из-за задержек в сети.
Финальность
Транзакция обладает «финальностью» в Эфириуме, когда она является частью блока, который не может быть изменен.
Поскольку майнеры работали децентрализованно, два валидных блока могли быть добыты одновременно. Это создавало временный форк. В конечном итоге одна из этих цепей становилась принятой цепью после того, как последующие блоки добывались и добавлялись к ней, делая ее длиннее.
Ситуация усложнялась тем, что транзакции, отклоненные во временном форке, могли быть не включены в принятую цепь. Это означает, что они могли быть отменены. Таким образом, финальность относится к времени, которое следует подождать, прежде чем считать транзакцию необратимой. В предыдущей версии Эфириума на базе доказательства выполнения работы, чем больше блоков было добыто поверх определенного блока N, тем выше была уверенность в том, что транзакции в N прошли успешно и не будут отменены. Теперь, с доказательством доли владения, финализация является явным, а не вероятностным свойством блока.
Энергопотребление доказательства выполнения работы
Основная критика доказательства выполнения работы заключается в объеме затрачиваемой энергии, необходимой для обеспечения безопасности сети. Для поддержания безопасности и децентрализации Эфириум на базе доказательства выполнения работы потреблял большое количество энергии. Незадолго до перехода на доказательство доли владения майнеры Эфириума в совокупности потребляли около 70 ТВт·ч/год (примерно столько же, сколько Чехия — по данным digiconomist (opens in a new tab) на 18 июля 2022 года).
Плюсы и минусы
| Плюсы | Минусы |
|---|---|
| Доказательство выполнения работы нейтрально. Вам не нужны ETH для начала, а вознаграждения за блоки позволяют перейти от 0 ETH к положительному балансу. В случае с доказательством доли владения вам нужны ETH для старта. | Доказательство выполнения работы потребляет так много энергии, что это вредит окружающей среде. |
| Доказательство выполнения работы — это проверенный временем механизм консенсуса, который на протяжении многих лет обеспечивал безопасность и децентрализацию Биткоина и Эфириума. | Если вы хотите заниматься майнингом, вам потребуется настолько специализированное оборудование, что для старта нужны большие инвестиции. |
| По сравнению с доказательством доли владения его относительно легко реализовать. | Из-за растущей потребности в вычислениях майнинг-пулы могут потенциально доминировать в майнинге, что ведет к централизации и рискам безопасности. |
Сравнение с доказательством доли владения
На высоком уровне доказательство доли владения имеет ту же конечную цель, что и доказательство выполнения работы: помочь децентрализованной сети безопасно достичь консенсуса. Но есть некоторые различия в процессе и участниках:
- Доказательство доли владения заменяет важность вычислительной мощности на застейканные ETH.
- Доказательство доли владения заменяет майнеров валидаторами. Валидаторы стейкают свои ETH, чтобы активировать возможность создания новых блоков.
- Валидаторы не соревнуются за создание блоков, вместо этого они выбираются случайным образом с помощью алгоритма.
- Финальность стала более четкой: на определенных контрольных точках, если 2/3 валидаторов согласны с состоянием блока, он считается финальным. Валидаторы должны поставить на это весь свой стейк, поэтому, если они попытаются вступить в сговор в дальнейшем, они потеряют весь свой стейк.
Подробнее о доказательстве доли владения