Ключевые аспекты
Proof of Work (PoW) — это механизм консенсуса, созданный для предотвращения двойных расходов в цифровых платежных системах.
PoW — это ключевая часть процесса майнинга, которая включает добавление новых блоков транзакций в блокчейн и создание новых единиц криптовалюты.
Биткойн и многие другие криптовалюты используют PoW как метод защиты своей сети блокчейнов и данных.
Введение
Proof of Work (PoW) — это механизм, созданный для предотвращения двойных расходов в цифровых платежных системах. Биткойн и многие другие криптовалюты используют PoW как метод защиты своей сети блокчейнов и данных. Эти механизмы часто называют алгоритмами консенсуса или механизмами консенсуса, поскольку в них участвуют несколько сторон, достигающих консенсуса без необходимости доверия между ними.
Доказательство работы было первым появившимся консенсусным алгоритмом и остается одним из наиболее важных наряду с Доказательством доли (PoS). PoW был представлен Сатоши Накамото в официальном документе о Биткойне в 2008 году, но сама технология была задумана гораздо раньше.
HashCash Адама Бэка — один из первых примеров алгоритма Proof of Work в эпоху до появления криптовалют. Требуя от отправителей выполнения минимальных вычислений перед отправкой электронного письма, получатели могут уменьшить спам. Этот расчет не будет стоить законному отправителю практически ничего, но быстро окупится для тех, кто отправляет массовые электронные письма.
Что такое двойные траты?
Двойные траты возникают, когда одни и те же средства тратятся более одного раза. Этот термин используется почти исключительно в контексте цифровых денег. В конце концов, вам будет сложно потратить одни и те же физические деньги дважды.
Когда вы сегодня платите за кофе, вы передаете наличные кассиру, который, вероятно, хранит их в кассе. Вы не можете пойти в кафе через дорогу и заплатить за еще один кофе теми же купюрами, которые уже сдали. Однако в системах цифровых денежных средств есть возможность сделать это.
Вероятно, вы дублировали компьютерный файл с помощью команд копирования и вставки. Также легко отправить один и тот же файл по электронной почте десяткам людей. Поскольку цифровые деньги — это всего лишь данные, необходимо не допустить двойных трат людей, то есть копирования и траты одних и тех же единиц в разных местах. Цифровая платежная система, которая не сможет предотвратить двойные расходы, в скором времени рухнет.
Для получения дополнительной информации о двойных расходах см. «Объяснение двойных расходов».
Зачем нужен механизм Proof of Work?
Если вы читали нашу статью о технологии блокчейн, вы знаете, что пользователи криптовалюты постоянно передают транзакции в сеть. Однако эти транзакции не считаются действительными сразу. Это происходит только тогда, когда они подтверждены и добавлены в блокчейн.
Например, блокчейн Биткойна функционирует как общедоступная база данных транзакций (регистр), которую могут видеть все пользователи. Подумайте об этом так: у вас и трех друзей есть блокнот для отслеживания ваших транзакций с биткойнами. Каждый раз, когда кто-то из вас хочет осуществить передачу ценностей, вы записываете это:
Алиса платит Бобу 5 BTC; Боб платит Кэрол 2 BTC и т. д.
Но каждый раз, когда вы совершаете транзакцию, вы ссылаетесь на транзакцию, откуда поступили средства. Итак, если бы Боб платил Кэрол 2 BTC, запись выглядела бы так:
Боб платит Кэрол 2 BTC, полученные в результате предыдущей транзакции с Алисой.
Теперь у нас есть способ отслеживать единицы BTC. Если Боб попытается совершить еще одну транзакцию с теми же 2 BTC, которые он только что отправил Кэрол, все сразу об этом узнают. Группа не позволит добавить транзакцию в блокнот, поскольку эти 2 BTC уже потрачены.
Это то, что может хорошо работать в небольшой группе. Все друг друга знают, поэтому наверняка договорятся, кому из друзей следует добавлять транзакции в блокнот. Но что произойдет, если мы захотим создать группу из 10 000 участников? Идея с блокнотом плохо масштабируется, потому что никто не хочет доверять управление им незнакомцу.
Здесь в игру вступает механизм Proof of Work. Это гарантирует, что пользователи не тратят деньги, на которые у них нет права. Используя сочетание теории игр и криптографии, алгоритм PoW позволяет любому обновлять блокчейн в соответствии с правилами системы.
Как работает PoW?
Представьте, что наша записная книжка в предыдущем примере — это блокчейн, но там мы не добавляем транзакции одну за другой, а группируем их в блоки. Мы объявляем транзакции в сети, а затем пользователи, создающие блок, включают их в блок-кандидат. Транзакции будут считаться действительными только после того, как их блок-кандидат станет подтвержденным блоком, то есть он будет добавлен в базу данных блокчейна.
Процесс проверки транзакций и добавления новых блоков называется майнингом. Это дорого и сложно, но может быть и полезно. Награда за блок состоит из комиссий за транзакции пользователей и новых биткойнов, созданных протоколом.
Механизм Proof of Work требует, чтобы майнер (пользователь, создавший блок) инвестировал такие ресурсы, как электричество и вычислительная мощность, для хэширования данных своего блока-кандидата, пока не будет найдено решение головоломки.
Хеширование данных блока означает передачу их через хеш-функцию для создания хеша блока. Хэш блока работает как «отпечаток пальца»: он является идентификатором ваших входных данных и уникален для каждого блока.
Другими словами, майнер должен проверить и собрать ожидающие транзакции, организовать их в блок-кандидат и передать данные блока через хеш-функцию для создания действительного хеша. Если ему удается найти действительный хеш для своего блока-кандидата, он транслирует его в сеть, добавляет блок в блокчейн и получает вознаграждение за майнинг.
Когда майнер передает свой блок-кандидат и хэш в сеть, другие участники сети повторяют процесс хеширования, чтобы убедиться, что выходные данные действительно действительны.
Хотя для поиска действительного хеша требуется бесчисленное количество попыток хеширования, важно, чтобы кто-то подтвердил, что сгенерированный хэш верен. Им просто нужно отправить одни и те же входные данные (данные блока) через хеш-функцию и проверить, совпадают ли выходные данные.
В Proof of Work вы должны предоставить данные, хэш которых соответствует определенным условиям. Однако вы не знаете, как этого добиться. Единственный вариант, который у вас есть, — это передать данные через хеш-функцию и проверить, выполняются ли условия. Если нет, вам придется немного изменить данные, чтобы получить другой хэш. Даже изменение одного символа в ваших данных приведет к совершенно другому результату, поэтому невозможно предсказать, каким будет результат.
В результате, если вы хотите создать блок, вы играете в угадайку. Обычно вы берете информацию обо всех транзакциях, которые хотите добавить, и некоторые другие важные данные, а затем группируете их вместе. Но поскольку ваш набор данных не изменится, вы должны добавить переменную информацию. В противном случае вы всегда будете получать тот же хеш, что и выходные данные. Эти переменные данные мы называем одноразовым номером. Это число, которое вы будете менять при каждой попытке, поэтому каждый раз вы будете получать другой хэш.
Короче говоря, майнинг — это процесс сбора данных блокчейна и их хеширования с помощью nonce, пока не будет найден конкретный хэш. Если вы найдете хэш, удовлетворяющий условиям, установленным протоколом, вы имеете право транслировать новый блок в сеть. На этом этапе другие участники сети обновляют свои блокчейны, включив в них новый блок.
Для сегодняшних ведущих криптовалют условия невероятно сложны. Чем выше скорость хеширования в сети, тем сложнее найти действительный хеш. Это сделано для того, чтобы блоки не находили слишком быстро.
Как вы понимаете, попытки угадать огромное количество хешей могут оказаться дорогостоящими для вашего компьютера: вы тратите компьютерные циклы и электроэнергию. Однако, если вы найдете действительный хэш, протокол вознаградит вас криптовалютой.
Давайте подведем итоги того, что мы знаем на данный момент:
Майнинг сложен и дорог, но он обеспечивает безопасность сети.
Майнеры, которым удается создать действительный блок, вознаграждаются новой выпущенной криптовалютой и комиссией за транзакцию.
Создание действительного хеша требует времени, но другие пользователи могут легко проверить его достоверность, повторив процесс хеширования.
Все идет нормально. Но что, если вы попытаетесь обмануть? Что мешает вам заблокировать кучу мошеннических транзакций и создать действительный хэш?
Вот тут-то и вступает в игру криптография с открытым ключом. Мы не будем углубляться в это в этой статье, а посмотрим, что такое криптография с открытым ключом? получить комплексное представление о теме. Короче говоря, есть несколько крипто-трюков, которые позволяют любому пользователю проверить, имеет ли кто-то право перемещать средства, которые он пытается потратить.
Когда вы создаете транзакцию, вы ее подписываете. Любой в сети может сравнить вашу подпись с вашим открытым ключом и посмотреть, совпадают ли они. Они также проверят, действительно ли вы можете потратить свои средства и превышает ли сумма ваших затрат сумму ваших результатов (то есть не тратите ли вы больше, чем имеете).
Любой блок, содержащий недействительную транзакцию, будет автоматически отклонен сетью. Даже попытка обмануть обходится дорого: вы потеряете собственные ресурсы, не получив никакого вознаграждения.
В этом прелесть механизма Proof of Work: обман обходится дорого, но действовать честно выгодно. Любой разумный майнер будет стремиться к возврату своих инвестиций, поэтому можно ожидать, что он будет вести себя таким образом, чтобы с большей вероятностью генерировать доход.
Доказательство работы (PoW) против доказательства доли (PoS)
Помимо PoW, существует множество алгоритмов консенсуса, но одним из самых популярных является Proof of Stake (PoS). Концепция возникла в 2011 году и была реализована на Ethereum и нескольких других протоколах.
В системах Proof of Stake майнеры заменены валидаторами. Здесь не используется майнинг или гонка по угадыванию хэшей. Вместо этого пользователи выбираются случайным образом: если они выбраны, они должны предложить (или «подделать») блок. Если блок действителен, они получат вознаграждение, состоящее из комиссий за транзакции блока.
Однако выбрать можно не любого пользователя: протокол выбирает его на основе ряда факторов. Чтобы иметь право на участие, участники должны заблокировать ставку, которая представляет собой заранее определенную сумму в собственной валюте блокчейна. Ставка работает как залог: точно так же, как обвиняемые платят крупную сумму денег, чтобы избежать суда, валидаторы блокируют ставку, чтобы предотвратить обман. Если они будут действовать нечестно, их доля (или ее часть) будет отнята.
Механизм Proof of Stake имеет некоторые преимущества перед Proof of Work. Наиболее примечательным является меньший углеродный след: поскольку в PoS нет необходимости в мощных майнинговых фермах, потребляемая электроэнергия составляет лишь часть того, что потребляется в PoW.
При этом PoS не имеет такой же истории, как PoW. Хотя это может быть воспринято как пустая трата ресурсов, майнинг — единственный алгоритм консенсуса, проверенный в бою более десяти лет. С момента своего запуска механизм PoW Биткойна обеспечил безопасность транзакций на триллионы долларов. Чтобы с уверенностью сказать, сможет ли PoS конкурировать с безопасностью PoW, необходимо тщательно протестировать ставку в долгосрочной перспективе.
Выводы
Доказательство работы было оригинальным решением проблемы двойных расходов и доказало свою надежность и безопасность. Биткойн доказал, что нам не нужны централизованные структуры, чтобы предотвратить двойное расходование одних и тех же средств. Благодаря умелому использованию криптографии, хеш-функций и теории игр участники децентрализованной среды могут договориться о состоянии финансовой базы данных.
Дальнейшее чтение
Что такое майнинг криптовалют или криптомайнинг и как он работает?
Что такое криптография с открытым ключом?
Что такое алгоритм консенсуса блокчейна?
Официальное уведомление и предупреждение о рисках. Этот контент представлен «как есть» только для общей информации и образовательных целей, без каких-либо заявлений или гарантий. Его не следует истолковывать как финансовую, юридическую или другую профессиональную консультацию, а также не рекомендуется покупать какой-либо конкретный продукт или услугу. Вам следует обратиться за индивидуальной консультацией к подходящим профессиональным консультантам. Поскольку эта статья написана третьими лицами, обратите внимание, что высказанные мнения принадлежат третьему лицу и не обязательно отражают точку зрения Binance Academy. Для получения дополнительной информации прочтите полное юридическое уведомление здесь. Цены на цифровые активы могут быть нестабильными. Стоимость инвестиций может как снизиться, так и вырасти, и вы можете не вернуть вложенную сумму. Только вы несете ответственность за свои инвестиционные решения. Binance Academy не несет ответственности за любые убытки, которые вы можете понести. Этот материал не следует рассматривать как финансовую, юридическую или другую профессиональную консультацию. Для получения дополнительной информации ознакомьтесь с нашими Условиями использования и Предупреждением о рисках.



