Содержание

  • Proof of Work (PoW) — это механизм консенсуса, созданный для предотвращения двойных расходов в цифровых платежных системах.

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

  • Биткойн и некоторые другие криптовалюты используют PoW как метод защиты сети блокчейна и ее данных.

Введение

Подводя итог, Proof of Work (PoW) — это механизм, созданный для предотвращения двойных расходов в цифровых платежных системах. Биткойн и некоторые другие криптовалюты используют PoW как метод защиты сети блокчейна и ее данных. Эти механизмы часто называют алгоритмами консенсуса или механизмами консенсуса, поскольку они предусматривают достижение консенсуса несколькими сторонами без необходимости доверять друг другу.

Доказательство работы было первым появившимся консенсусным алгоритмом и остается одним из наиболее важных, наряду с Доказательством доли (PoS). PoW был представлен Сатоши Накамото в официальном документе Биткойна в 2008 году, но сама технология была задумана задолго до этого.

HashCash Адама Бэка — один из первых примеров алгоритма Proof of Work до появления криптовалют. Требуя от отправителей выполнить небольшой расчет перед отправкой электронного письма, получатели смогли уменьшить воздействие спама. Этот расчет практически ничего не стоил законному отправителю, но для тех, кто отправляет массовые электронные письма, затраты быстро стали высокими.

Что такое двойные траты?

Введение

Сегодня, когда вы платите за кофе, вы передаете деньги человеку, который, вероятно, хранит их в кассовом аппарате. Вы не можете пойти в кофейню через дорогу и заплатить за еще один кофе с таким же рейтингом. Однако в системах цифровых денег такая возможность есть.

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

Более подробно о двойной трате можно узнать в статье «Руководство по двойной трате».

Зачем необходимо доказательство работы?

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

Например, блокчейн Биткойна функционирует как общедоступная база данных транзакций (регистр/реестр), которую могут видеть все пользователи. Представьте себе такой сценарий: у вас и трех друзей есть блокнот для отслеживания ваших транзакций с биткойнами. Всякий раз, когда кто-то из вас хочет осуществить передачу ценностей, вы записываете:

Алиса заплатила Бобу 5 BTC; Боб заплатил Кэрол 2 BTC и т. д.

Но каждый раз, когда вы совершаете транзакцию, вы ссылаетесь на транзакцию, в результате которой были получены средства. Итак, если бы Боб платил Кэрол 2 BTC, входные данные были бы следующими:

Боб заплатил Кэрол 2 BTC — сумму, полученную в результате предыдущей транзакции с Алисой.

Теперь у нас есть способ отслеживать единицы BTC. Если Боб попытается совершить еще одну транзакцию, используя те же 2 BTC, которые он только что отправил Кэрол, все сразу узнают об этом. Группа не позволит добавить транзакцию в блокнот, поскольку эти 2 BTC уже потрачены.

Это может хорошо работать в небольшой группе. Поскольку все друг друга знают, скорее всего, они договорятся, какие друзья смогут добавлять транзакции в блокнот. Но что, если нам нужна группа из 10 000 участников? Идея с блокнотом не подойдет, поскольку никто не хочет доверять незнакомцу управление записями транзакций.

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

Как работает PoW?

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

Процесс проверки транзакций и добавления новых блоков называется майнингом. Майнинг – дело дорогое и сложное, но оно также может приносить прибыль. Награда за блок формируется из комиссий за транзакции пользователей и новых биткойнов, созданных протоколом.

Механизм Proof of Work требует, чтобы майнер (пользователь, создавший блок) инвестировал такие ресурсы, как электричество и вычислительная мощность, для обработки хэш-данных своего блока-кандидата, пока не будет найдено решение головоломки.

Хеширование данных блока означает запуск хэш-функции для генерации идентификатора (хеша) блока. Он работает как «отпечаток пальца» для ваших входных данных и уникален для каждого блока.

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

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

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

В Proof of Work вы должны предоставить данные, хэш которых соответствует определенным условиям, но вы не знаете, как их получить. Ваш единственный вариант — отправить свои данные через хеш-функцию и проверить, соответствуют ли они условиям. В противном случае вам придется немного изменить свои данные, чтобы получить другой хеш. Изменение одного символа в данных приведет к совершенно другому результату, поэтому предсказать результат невозможно.

Итак, если вы хотите создать блок, вам придется играть в угадайку. Обычно вы берете информацию обо всех транзакциях, которые хотите добавить, и некоторые другие важные данные, а затем объединяете все это воедино. Но поскольку ваш набор данных не изменится, вам нужно будет добавить переменную информацию. В противном случае вы всегда будете получать один и тот же хэш. Эти переменные данные мы называем одноразовым номером. Это число вы будете менять при каждой попытке, поэтому каждый раз вы будете получать другой хэш.

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

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

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

Давайте подведем итоги того, что мы видели на данный момент:

  • Майнинг сложен и дорог, но он обеспечивает сетевую безопасность.

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

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

Все идет нормально. Но что, если кто-то попытается обмануть? Что мешает пользователю вставить в блок поддельные транзакции и создать действительный хэш?

Вот тут-то и появляется криптография с открытым ключом. Мы не будем вдаваться в подробности в этой статье, а посмотрим, что такое криптография с открытым ключом? для комплексного анализа. Короче говоря, есть некоторые криптографические трюки, которые позволяют любому пользователю проверить, имеет ли кто-то право перемещать средства, которые он пытается потратить.

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

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

Вот в чем прелесть 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. Хотя майнинг может показаться расточительным, он является единственным алгоритмом консенсуса, который тестировался более десяти лет. С момента запуска Bitcoin PoW обеспечил транзакции на триллионы долларов. Чтобы с уверенностью сказать, что PoS может достичь такого же уровня безопасности, необходимо тщательно протестировать ставку в долгосрочной перспективе.

Заключительные соображения

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

дальнейшее чтение

  • Что такое майнинг криптовалют и как он работает?

  • Что такое криптография с открытым ключом?

  • Что такое алгоритм консенсуса блокчейна?

Отказ от ответственности: этот контент предоставляется вам «как есть» только в информационных и образовательных целях, без каких-либо гарантий. Содержимое не должно быть истолковано как финансовая, юридическая или профессиональная консультация и не предназначено для рекомендации покупки какого-либо конкретного продукта или услуги. Вам следует обратиться за советом к профессиональным консультантам. В случае материалов и статей, представленных сторонними участниками, обратите внимание, что выраженные мнения принадлежат соответствующему автору и не обязательно отражают мнение Binance Academy. Для получения более подробной информации, пожалуйста, прочитайте наш отказ от ответственности здесь. Цены на цифровые активы могут быть нестабильными. Стоимость ваших инвестиций может увеличиться или уменьшиться, и вы не сможете вернуть вложенную сумму. Вы несете единоличную ответственность за свои инвестиционные решения, и Binance Academy не несет ответственности за любые ваши возможные потери. Этот материал не следует рассматривать как финансовую, юридическую или профессиональную консультацию. Для получения дополнительной информации ознакомьтесь с нашими Условиями использования и Уведомлением о рисках.