Доказательство работы объяснил

Консенсусные алгоритмы являются неотъемлемой частью всех технологий, основанных на блокчейне, так как нет ни одного авторитетного блока, который должен был бы проверять транзакции сети. Консенсусные алгоритмы здесь для обеспечения децентрализованного бесперебойного функционирования сети. Мы не можем недооценивать значимость алгоритма консенсуса, применяемого для каждого конкретного проекта на основе блокчейна. Биткойн использует Proof of Work, который также является оригинальным алгоритмом консенсуса для блокчейна Ethereum. Люди спорят, стоит ли использовать этот алгоритм консенсуса или лучше использовать другие варианты.

Ранняя история доказательства работы

Первый пример алгоритма, близкого к Proof of Work, был представлен в 1993 году Синтией Дворд и Мони Наором, которые предложили решение для защиты от спама в научной статье «О функциях, связанных с памятью, для борьбы со спамом» . Метод, описанный в этой статье, предполагает, что неизвестный отправитель сообщения должен потратить некоторое время своего процессора (например, 10 секунд), чтобы доказать, что отправитель не является спамером.

По словам Дворда и Наора, спаммеры, потратившие 10 секунд процессорного времени, смогут отправлять только до 8 тысяч спам-сообщений в день вместо неограниченного количества спам-сообщений, которые они могут отправлять сегодня. Проверить работоспособность за доказательством работы несложно, но вычисление - настоящая головная боль для отправителей спама.

Термин Proof of Work был придуман в 1999 году. Он появился в статье под названием «Доказательства работы и протоколы хлебных пудингов» (авторы Markus Jakobsson и Ari Juels). Само понятие доказательства работы предполагает, что «проверяющий» должен предоставить «проверяющему» свидетельство необходимой компьютерной работы, выполненной в назначенный промежуток времени. Концепция казалась довольно интересной, однако она не была воплощена в жизнь до создания Биткойна, который сильно полагается на Proof of Work, чтобы создать сеть, управляемую распределенным консенсусом без какого-либо доверия.

Биткойн и Доказательство Работы

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

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

Люди, желающие проверить транзакции (известные как «майнеры»), должны выполнить процедуру подтверждения работы, чтобы достичь своей цели. Один работник - это один узел. Сложность этой работы (задач) является гибкой, поэтому новый блок должен генерироваться каждые 10 минут. Поскольку число майнеров невероятно велико, а промежуток времени в 10 минут относительно невелик, предсказать, какой работник (майнер) будет тем, кто сгенерирует новый блок (проверить все транзакции в блоке), крайне сложно.

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

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

Блоки в блокчейне имеют отдельные хеши (такой хеш называется id). Каждый хеш создается в результате успешной проверки блока. Для проверки следующего блока майнер добавляет последний хеш к текущему блоку, создавая огромный текстовый блок. Затем одноразовый номер (случайное число) добавляется в конец блока текста. Этот текст состоит из хэша предыдущего блока, новых транзакций, ожидающих проверки, и одноразового номера. Вот где начинается расчет. Во время вычислений рабочий меняет случайное число до того момента, пока не будет определено правильное число нулей перед строкой.

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

Чтобы проверить, правильно ли какой-либо узел выполнил требуемую работу, ему потребуется строка, появившаяся в результате проверки, и номер nonce. Применение функции к этим двум значениям даст число нулей перед строкой. В случае, если это число верно, то работа была выполнена хорошо. Если кто-то имеет плохие намерения и попытается добавить некоторые неверные данные в цепочку, это будет остановлено другими участниками майнинга. На протяжении 10 лет эта схема успешно охраняла цепочку биткойнов. Что делает алгоритм SHA-256 особенным, так это то, что никто не может тайно изменить хотя бы один бит информации в блоке. Вот почему этот регистр называется неизменным.

Минусы Доказательства Работы

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

Другая проблема заключается в том, что люди, использующие свои CPU, GPU или ASIC-устройства для майнинга, имеют слишком мало шансов найти новый блок и получить вознаграждение, поскольку им приходится конкурировать с пулами майнинга, использующими для добычи десятки тысяч устройств. Около половины добычи происходит в относительно небольшой группе майнинг-пулов. Существует риск того, что если владельцы этих пулов решат объединиться и управлять блокчейном Биткойн, используя свою мощь хеширования, они могут это сделать. Авторитет, имеющий более 50% мощности хеширования, фактически может управлять блокчейном. Такие вторжения известны как 51% атаки.

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

Вывод

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