Алгоритм консенсуса - PoW (Proof-of-Work)
Консенсус блокчейна — это процедура, в ходе которой участники сети достигают согласия о текущем состоянии данных в сети. Благодаря этому алгоритмы консенсуса устанавливают надежность и доверие к самому сети.
- Доказательство работы (PoW)
- Цель PoW
- Особенности PoW
- Как работает PoW?
- Майнинг
- Расход энергии и времени в майнинге
- Награда за майнинг
- PoW-система Биткойн
- Проблемы PoW
Доказательство работы (PoW)
Этот алгоритм консенсуса использует биткоин.
Алгоритм консенсуса используется для выбора майнера для следующего поколения блоков. Основная идея этого алгоритма состоит в том, чтобы легко решить сложную математическую головоломку. Для решения подобной математической головоломки нужны большие вычислительные мощности, поэтому узел, решивший головоломку как можно быстрее, получает возможность майнить следующий блок.
Идея доказательства работы (PoW) была впервые опубликована в 1993 году Синтией Дворк и Мони Наор, а затем была применена Сатоши Накамото в статье о биткойнах в 2008 году. Термин «доказательство работы» впервые был использован Маркусом Якобссоном и Ари Джуэлсом в публикации 1999 г.
Криптовалюты, например Litecoin и Bitcoin, в настоящее время используют PoW. Ethereum использовал механизм PoW, но теперь перешел на Proof of Stake (PoS).
Цель PoW
- Цель механизма консенсуса — привести все ноды к согласию, то есть доверять друг другу в среде, где ноды не доверяют друг другу.
- Затем все транзакции в новом блоке проверяются, а после проверки новый блок добавляется в блокчейн.
- Блок будет добавлен в цепочку с наибольшей высотой блока
- Майнеры (специальные компьютеры в сети) выполняют вычислительную работу, решая сложную математическую задачу, чтобы добавить блок в сеть, отсюда и название Proof-of-Work.
- Математическая задача постоянно усложняется.
Особенности PoW
Широкой популярности этого протокола консенсуса способствовали в основном две особенности:
Как работает PoW?
Алгоритм консенсуса PoW включает проверку транзакции в процессе майнинга.
Майнинг
Алгоритм консенсуса Proof of Work включает в себя решение вычислительно сложной головоломки для создания новых блоков в блокчейне Биткойн. Этот процесс известен как «майнинг», а узлы в сети, которые участвуют в майнинге, называются «майнерами».
- Стимулом для транзакций майнинга является экономическая выгода: например, когда конкурирующие майнеры получают вознаграждение в размере 6,25 биткойнов и небольшую комиссию за транзакцию.
- Эта награда со временем уменьшится наполовину от текущей стоимости.
Расход энергии и времени в майнинге
Процесс проверки транзакций в добавляемом блоке, организация этих транзакций в хронологическом порядке в блоке и объявление всей сети о новом добытом блоке не занимает много энергии и времени.
- Энерго затратная часть — это решение «сложной математической задачи» для связки нового и предыдущего блока в действующем блокчейне.
- Когда майнер, наконец, находит правильное решение, узел одновременно транслирует его по всей сети, получая криптовалютный приз (вознаграждение) от протокола PoW.
Награда за майнинг
- Количество выигранных биткойнов уменьшается вдвое каждые четыре года. Итак, следующее уменьшение произойдет примерно в 2024 году (при текущем курсе и росте).
- Чем больше майнеров, тем быстрее сокращается время, необходимое для добычи нового блока.
- Для того, чтобы стабильно находить 1 блок каждые 10 минут. Именно столько времени по мнению разработчиков биткойнов, необходимо для постоянно уменьшающегося новых монет, пока не будет достигнуто максимальное количество в 21 миллион. Именно поэтому сеть Биткойн регулярно изменяет уровень сложности добычи нового блока.
PoW-система Биткойн
В качестве основы для майнинга Биткойн использует систему Hashcash Proof of Work.
- Майнеры объединяют группу транзакций в блок и пытаются майнить. Для добычи блока нужно решить сложную математическую задачу.
- Необходимость решить сложную математическую задачу считается проблемой доказательства работы, которая должна быть решена, чтобы показать, что майнер проделал определенную работу по нахождению решения проблемы, и, следовательно, добытый блок должен считаться действительным.
- Ответ на задачу должен быть меньше числа хеша блока для принятия. Такой ответ называется «целевой хэш».
Целевой хеш — это число, которое должно быть равно или меньше числа вознаграждения, присуждаемого майнеру. Чем ниже цель, тем сложнее создать блок.
- Майнер продолжает тестировать различные уникальные переменные (называются одноразовыми переменными) до тех пор, пока не будет получено подходящее значение.
- Майнер, которому удается решить проблему, получает вознаграждение в биткойнах и добавляет блок в блокчейн, сообщая о факте майнинга блока
Распространенные криптографические протоколы, используемые в PoW: наиболее широко используемый алгоритм подтверждения работы основан на SHA-256 и был представлен как часть Биткойна. Другие включают Scrypt, SHA-3, scrypt-jane, scrypt-n и т. д.
Проблемы PoW
В механизме консенсуса Proof-of-Work есть ряд проблем, среди которых:
- Риск 51%: если контролирующая организация владеет 51% или более 51% узлов в сети, эта организация может испортить блокчейн, получив большую часть сети.
- Занимает много времени: майнерам приходится проверять множество значений одноразовых номеров, чтобы найти правильное решение головоломки, которую нужно решить, чтобы добыть блок.
- Потребление ресурсов: майнеры потребляют большое количество вычислительной мощности, чтобы найти решение сложной математической головоломки. Это приводит к пустой трате драгоценных ресурсов (деньги, энергия, пространство, оборудование).
- Не мгновенная транзакция: подтверждение транзакции занимает около 10–60 минут.