Ключевые моменты

  • 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 есть хорошая особенность: если вы намеренно обманываете, это стоит вам денег, но это выгодно, если вы честны. Следовательно, любой здравомыслящий майнер будет стремиться получить прибыль от своих инвестиций и будет вести себя таким образом, чтобы с большей вероятностью получить доход.

Сравните два механизма консенсуса: Proof of Work (PoW) и Proof of Stake (PoS)

Помимо PoW существует множество алгоритмов консенсуса, но одним из самых популярных является Proof of Stake (PoS). Эта концепция существует с 2011 года и была реализована в Ethereum и нескольких других протоколах.

В системе Proof of Stake майнеры заменены валидаторами. Никакого майнинга и гонок за угадыванием хешей не требуется. Вместо этого пользователи выбираются случайным образом — если они выбраны, они должны предложить (или «подделать») блок. Если блок действителен, они получат вознаграждение, состоящее из комиссий за транзакции блока.

Однако выбрать можно не любого пользователя — протокол выбирает его на основе нескольких факторов. Чтобы иметь право на участие, участники должны заблокировать ставку, которая представляет собой заранее определенную сумму основной суммы блокчейна. Ставка подобна залогу: точно так же, как обвиняемые вносят большие суммы денег, чтобы гарантировать, что они не пропустят судебное разбирательство, валидаторы блокируют ставки, чтобы гарантировать отсутствие мошенничества. Если они будут действовать нечестно, их доля (или ее часть) будет отнята.

Proof of Stake имеет несколько преимуществ по сравнению с Proof of Work. Наиболее заметным преимуществом является меньший выброс углекислого газа: поскольку в PoS нет необходимости в мощных майнинговых фермах, потребление электроэнергии составляет лишь небольшую часть от потребления в PoW. 

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

Краткое содержание

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

Читать далее:

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

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

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

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