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

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

Что понимается под математической задачей?

Это задача, для решения которой требуются значительные вычислительные мощности, например:

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

Ответ на задачу PoW или математическое уравнение называется хэшем. По мере расширения сети, вычисления становятся все более сложными. Для решения алгоритмов требуются все большие и большие мощности хэширования. Таким образом, сложность задания играет важную роль.

Почему важна сложность?

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

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

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

Где применяется Proof of Work?

Алгоритм Proof of Work используется во многих криптовалютах. Наиболее известное его применение - система Биткоин. Именно в ней данный алгоритм был применен впервые. В качестве задачи используется Hashcash. Этот алгоритм позволяет менять сложность задачи в зависимости от общей вычислительной мощности сети. Среднее время формирования блока составляет 10 минут. Аналогичная система используется и в других криптовалютах, построенных на базе биткоина.

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

Главными преимуществами алгоритма консенсуса PoW являются его защищенность от DoS-атак и низкая зависимость майнинговых возможностей пользователя от доли принадлежащих ему монет.

Защита от DoS-атак. Алгоритм Proof of Work накладывает определенные ограничения на действия в сети. Для выполнения любых действий требуются значительные усилия. Для проведения результативной атаки необходимы большая вычислительная мощность и время на проведение вычислений. Поэтому атака в принципе возможна, но не имеет смысла, так как ее стоимость будет очень высокой.

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

Недостатки Proof of Work

Главные недостатки - это высокие затраты, "бесполезность" вычислений и возможность проведения т. н. "атак 51%".

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

Атака 51%, или атака большинства . Это случай, когда пользователь или группа пользователей контролирует большую часть майнинговой мощности. Злоумышленники стремятся получить мощность, которой будет достаточно для контролирования большинства событий в сети. Это позволяет им монополизировать генерирование новых блоков и получение вознаграждения, так как они могут не позволить другим майнерам создавать блоки. Используя , злоумышленники могут отменять транзакции.

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

Будьте в курсе всех важных событий United Traders - подписывайтесь на наш

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

Что такое Proof-of-Work – от истоков к сути

Первая идея, которую можно отнести к термину Proof-of-Work, появилась в 1993-ем году в работе Синтии Дворк и Мони Наор, которая носила название «Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology». Создатели этой работы выдвинули идею о том, что для получения доступа к общим ресурсам пользователю нужно осуществить определенные сложные вычисления, что позволит защитить данный ресурс от чрезмерного употребления участниками сети. Спустя 4 года был запущен проект Hashcash, который был посвящен системе защиты от спама. Системой было предложено хэширование части инверсии посредством использования ресурсов электронной почты. Чтобы рассчитать конкретный заголовок требовалось 252 вычислений при каждой отправке. При необходимости отправки стандартных писем препятствия не создавались, а вот для рассылки спама пересчет становился очень сложно выполнимой задачей. А для проверки корректности вычисляемого кода не требуется большого количества времени, поскольку применяется специальный тип вычисления SHA-1 при заблаговременно подготовленной метке.
Через два года термин Proof-of-Work (PoW) уже стал официально использоваться, а впервые был официально освещен в статье Якоббсон и Джуэлс на тему протоколов. Через некоторое время принцип работы Proof-of-Work (PoW) был использован для построения сети Bitcoin – протокол позволял достигать консенсуса. Сатоши Накамото, разработчик Биткоина, несколько видоизменил первоначальный вариант Proof-of-Work , добавив к нему механизм изменяющейся сложности, который уменьшал или увеличивал требуемое число нулей относительно общего объема мощностей пользователей биткоин-сети. Полноценную работу системе обеспечила функция SHA-256.


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

Отличительные черты Proof-of-Work: как все это работает

Что такое Proof-of-Work (PoW)? Во-первых, это эффективный алгоритм, обеспечивающий эффективную защиту распределенной системы от хакерских атак, мошеннических действий и другого несанкционированного доступа.

То, как работает Proof-of-Work , можно заключить в следующие пункты:

  1. Обязательное выполнение трудоемких вычислений;
  2. Быстрая и легкая проверка результатов.

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

Proof-of-Work vs. Proof-of-Stake: сравнение алгоритмов


Proof-of-Work (PoW) , в переводе с английского доказательство работы, способствует в некоторой степени подверженности криптовалют двойному расходованию. При этом Proof-of-Work (PoW) снижает этот показатель по мере увеличения объемов подтвержденных транзакций в рамках сети, что говорит о зависимости от количества вычислительных мощностей, которые находятся в распоряжении хакера. Как гарантии с использованием Proof-of-Work (PoW) криптовалютами, является снижение рисков двойной траты и пользователи ожидают конкретного количества подтверждений операции, а также используют системы защиты по снижению показателей риска для быстрых платежей.
Возможно тяжело сразу понять, что это Proof-of-Work но простыми словами если проводя параллели между его основным конкурентом PoS, нельзя не отметить, что эти алгоритмы могут быть подвержены аналогичным атакам, однако результат этого бывает разный. Главная опасность для них представлена в лице DoS, или отказа в обслуживании, и Sybill attack, или атаки Сибиллы. Первая атака ориентирована на прерывание нормального функционирования системы, что достигается благодаря переполнению узлов сети. К примеру, хакер может наводнить сеть операциями с низкой стоимостью в колоссальном количестве – вспомним флуд-атаку Биткоин-сети 2 года назад. При использовании атаки Сибиллы работа сети подрывается посредством создания грандиозного количества некорректно функционирующих узлов.
Уровень подверженности алгоритма Proof-of-Work и его конкурента данным атакам имеет зависимость не только от разновидности согласования, которое применяется в рамках сети, но и от детализации сетевого протокола. При этом на сегодня нет внутренних характеристик, которые могли бы сделать тот или иной протокол менее восприимчивым к атакам.


Очередной атакой, которая может заставить пользователей поволноваться за свои криптоактивы, является selfish mining , или эгоистичный майнинг. При Proof-of-Work майнинге, при этой атаке происходит выборочная публикация блоков что заставляет пользователей расходовать зря свои вычислительные ресурсы. Разработчиков Proof-of-Work (PoW) это волнует, поскольку в отличие от своего соперника PoS, который не обременен дорогими ресурсами, здесь ситуация обстоит иначе. Однако никто из разработчиков до сих пор не подтвердил эффективности данного вида атаки, а некоторые полагают, что в предположении допущены серьезные погрешности.
Определение Proof-of-Work (PoW) относительно устойчивости к атакам, базируется на общей вычислительной мощности сети. А вот для Proof-of-Stake не существует эквивалента «состоянию здоровья», поскольку при равномерном распределении валюты в сети атака базируется на ее разветвлении, и при наличии у пользователей значительной доли существует риск применения цензуры к транзакциям.

Плюсы и минусы Proof-of-Work (PoW)

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

Что такое Proof-of-Work и Proof-of-Stake?

Proof-of-Work и Proof-of-Stake — два наиболее известных алгоритма консенсуса в криптовалютах. Они предлагают отличающиеся по своей структуре механизмы доказательства проделанной работы.

В чем суть Proof-of-Work?

Proof-of-Work (PoW – дословно: доказательство работы) — алгоритм защиты распределенных систем от злоупотреблений (DoS-атак, спам-рассылок и т.д.), суть которого сводится к двум основным пунктам:

  1. необходимости выполнения определенной достаточно сложной и длительной задачи;
  2. возможности быстро и легко проверить результат.

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

Кто придумал термин Proof-of-Work?

Впервые концепция Proof-of- Work была описана в 1993 году в работе «Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology» (авторы – Синтия Дворк и Мони Наор). И хотя сам термин в статье еще не использовался, авторы предложили следующую идею:

«Чтобы получить доступ к общему ресурсу, пользователь должен вычислить некоторую функцию: достаточно сложную, но посильную; так можно защитить ресурс от злоупотребления».

В 1997 году запустил проект Hashcash , посвященный той же защите от спама. Задача формулировалась следующим образом: «Найти такое значение x, что хеш SHA(x) содержал бы N старших нулевых бит».

Система предлагала хеширование частичной инверсии при отправке по электронной почте. Для расчета соответствующего заголовка требуется около 2 52 хеш-вычислений, которые надо пересчитывать для каждой отправки. И если для отправки нескольких обычных писем дополнительные расчеты препятствий не создают, то отправку спама необходимость постоянного пересчета делает очень ресурсоемкой. При этом проверка корректности вычисленного кода осуществляется очень быстро: используется однократное вычисление SHA-1 с заранее подготовленной меткой.

В 1999 году появляется и сам термин Proof-of-Work – использован он был в статье «Proofs of Work and Bread Pudding Protocols» (авторы – Маркус Якобссон и Ари Джуелс) в журнале Communications and Multimedia Security.

Какое отношение Proof-of-Work имеет к криптовалютам?

В сети Bitcoin механизм PoW был использован как средство достижения консенсуса (единого мнения о том, какую версию блокчейна считать верной). При этом за основу создатель первой криптовалюты Сатоши Накамото взял идею упомянутого выше проекта Hashcash, добавив к ней механизм изменяющейся сложности — уменьшение или увеличение N (требуемого числа нулей) в зависимости от суммарной мощности участников сети. Вычисляемой функцией стала SHA-256.

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

Действительно ли сложность вычисления «сложная»?

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

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

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

Как Proof-of-Work повлиял на майнинг?

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

В то же время не обошлось и без пресловутой «обратной стороны медали»: достаточно быстро PoW превратился в монстра, пожирающего электричество в гонке за прибыльностью майнинга. В 2012 году суммарная мощность сети Bitcoin уже превышала по производительности самый мощный суперкомпьютер в мире, а на горизонте появилась и первая альтернатива – Proof-of-Stake.

Что такое Proof-of-Stake?

Альтернативный механизм консенсуса, впервые реализованный в 2012 году в криптовалюте PPCoin (сейчас известна под названием PeerCoin). Идея состоит в использовании «доли» (stake) в качестве ресурса, который определяет, какая именно нода получает право добычи следующего блока.

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

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

Какие приводятся аргументы за и против Proof-of-Stake?

Как правило, в пользу использования PoS приводятся следующие аргументы:

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

Аргументы, вызывающие опасения:

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

Дополнительно можно отметить проблему Nothing-at-Stake (пустой стэк), которая делает PoS-системы по своей природе нестабильными в глазах многих криптовалютных энтузиастов. Атакующий может попытаться сделать форк блокчейна, т. е. создать более длинную альтернативную цепочку посредством расходования «несуществующих» ресурсов. Более того, его могут поддержать другие майнеры, поскольку они также не расходуют «подлинные» ресурсы. Посредством форка атакующий может отклонять определенные транзакции и осуществлять атаку «двойной траты».

На чьей стороне чаша весов?

Споры между сторонниками Pow и PoS длятся уже долгое время, но природа этих споров больше теоретическая. Практика показывает, что роль разработчика в вопросах обеспечения безопасности по-прежнему очень высока.

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

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

В свое время ForkLog адаптированный перевод whitepaper, написанного BitFury Group, в котором сравнивается работа принципов защиты PoW- и PoS-систем.

Какие еще механизмы доказательств есть в криптовалютах?

Их список может оказаться достаточно большим, поэтому перечислим несколько наиболее известных:

  • Proof of Activity (доказательство активности) — стандартная гибридная схема, совмещающая PoW и PoS;
  • Delegated Proof of Stake (делегированное подтверждение доли) — общий термин, описывающий эволюцию базовых консенсус-протоколов на основе подтверждения доли. DPoS используется в , и ;
  • Proof of Burn (доказательство сжигания) — «сжигание» происходит путем отправки монет на такой адрес, с которого гарантированно нельзя их потратить. Избавляясь таким образом от своих монет, пользователь получает право на пожизненный майнинг, который также устроен как лотерея среди всех владельцев сожженных монет;
  • Proof of Capacity (доказательство ресурсов) — реализация популярной идеи «мегабайты как ресурсы». Необходимо выделить существенный объем дискового пространства, чтобы включиться в майнинг;
  • Proof of Storage (доказательство хранения) – похожая на предыдущую концепция, при которой выделенное место используется всеми участниками как совместное облачное хранилище.
  • Перевод

Продолжаем переводить крутые статьи с сайта Bytecoin.org . Сегодня - «Alternatives for Proof of Work, Part 1: Proof Of Stake » Рэя Паттерсона (Ray Patterson).
Также читайте перевод «Краткой истории эволюции proof-of-work в криптовалютах»: и .

Критика Proof of Work

Как мы все помним, Proof of Work родился в далеком 1993 году в семье криптографов; родители прочили ему карьеру защитника от DoS и спама . Однако в 2008 году ему поступило заманчивое предложение от некоего анонима с япоским акцентом: стать основой для распределенного сервера меток времени. Схема представлялась простой: узлы сети «голосуют» за свою версию истории транзакций, вкладывая свои мощности в вычисление «редких» хешей. Версия, получившая большинство голосов, принимается другими узлами в качестве эталонной.

Важным моментом было обеспечение большой суммарной мощности сети: для защиты от потенциального злоумышленника с его потенциальными 51% ресурсов. Однако изначальная концепция PoW подразумевала небольшие задания, которые должен выполнить клиент, чтобы получить доступ к ресурсам сервера. В рамках такой модели защиты от DoS даже небольшие мощности клиента не помешают добропорядочному использованию ресурса, а большие просто не требовались. Поэтому мотивация для работы майнеров была реализована просто: «натурой», биткоинами, т.е. фактически деньгами.

И это все изменило. В мире криптовалют PoW превратился в монстра, пожирающего электричество в гонке за прибыльностью майнинга. Серьезные претензии появились примерно в 2012 году, когда суммарная мощность Bitcoin-сети «обогнала » по производительности самый мощный суперкомпьютер в мире. «Бесполезная трата энергии!» - раздавались со всех сторон крики. Робкие протесты защитников по поводу защиты от атаки 51% и энерго-аппетитов банковских терминалов игнорировались, благо на горизонте уже была первая альтернатива – Proof of Stake.

Proof of Stake

В качестве идеи появился на свет в одном из постов на bitcointalk еще в 2011 году. Первая реализация увидела свет через год, в 2012, в криптовалюте PPCoin (сейчас называется PeerCoin). В дальнейшем подобные протоколы появились и в других проектах, о них чуть позже.

PoS имеет различные воплощения, но одну общую идею: ограниченный ресурс, которым нужно голосовать, можно найти не только во внешнем мире (сжигаемые железо и электричество), но внутри самой системы – сами цифровые монетки. Владельцы монет – холдеры (stakeholders) – не тратят их во время голосования, конечно же, но блокируют на некоторое время, и так достигается ограниченность. Очевидно, что хоть компьютер и должен быть включен для майнинга, никаких серьезных вычислений ему делать не требуется.

Как работает PPCoin

Итак, ресурс майнера – это его монеты (непотраченные, разумеется). А точнее – непотраченные выходы транзакций, каждому из которых соответствует какое-то число монет. Майнинг происходит следующим образом:

  1. Выбираем свой выход, который был получен как минимум 30 дней назад.
  2. Формируем структуру Kernel , куда входят: детерминированные данные от выхода (время блока, в котором он появился, его номер внутри блока и т.д.), текущее время и т.н. nStakeModifier (периодически пересчитываемый блок псевдослучайных бит).
  3. Хэшируем Kernel и сравниваем полученное значение с текущей целью, которая зависит от текущей сложности сети (выше сложность – меньше цель), «возраста» выхода (больше возраст – больше цель) и его суммы (больше монет – больше цель).
  4. Если хэш оказался больше цели – возвращаемся к п.1, берем следующий выход.
  5. Если же выход оказался «удачным» – мы тратим его в coinbase-транзакции (отправляя себе же), прибавляем награду за блок и комиссии от включенных транзакций и подписываем весь блок ключом, который был связан с потраченным выходом.
  6. Вуаля, блок готов. Начинаем поиски следующего.
Замечания:
  • Проверка блока детерминирована: текущее время берется из заголовка блока, данные выхода – из блокчейна, nStakeModifier тоже однозначно вычисляется для каждого блока.
  • Выход должен быть «старым», чтобы атакующий не мог, пересылая деньги между своими кошельками, получить «хороший» выход, который сразу же позволяет найти блок.
  • nStakeModifier рассчитывается на основе последних блоков, и потому непредсказуем. Благодаря этому майнинг делается еще более непредсказуемым (и более устойчивым к возможным атакам).
  • Текущий Timestamp в п.2 может варьироваться в широких пределах: плюс-минус час. Поэтому по факту для каждого выхода можно проверить 7200 хэшей, а не один.
  • «Возрастной» множитель цели ограничен сверху 90 днями . В противном случае атакующий мог бы, располагая всего несколькими ОЧЕНЬ старыми монетками, с высокой вероятностью сгенерировать несколько блоков подряд.

По сути, процесс PoS-майнинга является такой же лотереей, что и в PoW. Однако за билет не нужно «платить» своими мощностями: перебор вариантов происходит на очень ограниченном пространстве собственных выходов и не зависит от скорости CPU. На ваши шансы влияют лишь ваше общее число монет и текущая сложность сети.

Благодаря этому мы получаем следующий профит:

  1. Бережем энергию. Здесь не поспоришь, хотя и для PoW можно использовать «полезную работу» (см. Primecoin) или ASIC-resistant функции (Cuckoo Cycle, CryptoNigh, Ethash etc.), которые бы ограничили область майнинга персональными ПК.
  2. Отсутствие бесконечной «гонки вооружений»: теперь общий хэшрейт ограничен не правилом Мура и законами термодинамики, а общим числом монет в кошельках участников. С другой стороны, в такой модели сложно понять, в честных ли руках находится крупный процент ресурсов?
  3. Атака становится дороже. Если я захочу купить 51% монет, то рынок отреагирует быстрым ростом цены. Кроме того, какой мне смысл делать атаку на сеть, если все мои ресурсы вложены в виртуальные монеты этой сети?
Кажется, что все замечательно: мы фактически заменили физическую работу неким виртуальным ресурсом. Но не кроется ли именно в этом проблема?

Критика Proof of Stake

Ответьте на вопрос: сколько стоят потраченные деньги? Если кто-нибудь обратится к вам и предложит купить у вас приватные ключи, с которых вы уже давно потратили все деньги, - на какой цене вы договоритесь? Поскольку эти ключи уже ничего не стоят и никому не нужны – предполагаю, что вас устроит любое предложение: это же деньги из ничего!

А теперь представьте, что для какого-то момента Х в прошлом окажется, что 50% (или больше) всех монет лежали на ключах, купленных сейчас атакующим. Для простоты можно считать, что момент X – это время сразу после создания второго блока, и некто купил ключи обоих блоков, т.е. вернись он в прошлое – обладал бы 100% всей денежной массы.

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

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

С такой конкретной атакой, конечно, можно бороться. PeerCoin, например, использует практику регулярных чекпоинтов: блоков, подписанных ключом разработчика, «глубже» которых запрещено перестроение блокчейна. Но это частное решение, которое не избавляет от более общей проблемы – Nothing on stake.

Проблема заключается в том, что майнинг – голосование – ничего не стоит, не требует никаких физических затрат. Если, например, в какой-то момент появятся два блока на одной высоте (форк цепочки), то можно одновременно майнить обе версии цепочки. С PoW такое невозможно в принципе по очевидным причинам: каждый проверенный хэш цепочки А – это непроверенный хэш цепочки Б. PoS же позволяет вам производить перебор во всех «параллельных мирах» сразу, причем на любой высоте (т.е. в том числе и в прошлом).

В PoS вам гораздо легче осуществить атаку double-spend. Достаточно всегда майнить две версии следующего блока: один с транзакцией, переводящей ваши деньги продавцу (который не ждет N подтверждений), а другой – с переводящей их вам. Если случится так, что вы найдете оба блока, то первый вы отправляете продавцу (и получаете свой товар), а второй – всем остальным. С большой вероятностью продолжена будет вторая версия цепочки, и деньги вернутся к вам.

Проблема PoS в том, что вам выгодно майнить сразу несколько альтернативных ветвей. Вы просто можете делать это бесплатно, с ненулевыми шансами на успех, а значит – увеличиваете матожидание дохода. PoW не позволяет вам таких шалостей, и потому вы майните лишь в одной ветке (в какой – это уж ваш выбор). Как результат – в модели PoW рано или поздно достигается консенсус, а в чистом PoS ганатировать сходимость уже нельзя.

Если вам интересна эта проблема, то подробности можно найти

Дешевыми, быстрыми и даже экологически чистыми.

В последнее время все больше криптоэнтузиастов начинают поддерживать его.

Но вместе с небывалыми перспективами он несет значительные угрозы.

Cодержание:

Для обычного пользователя купить или продать криптовалюту не составляет труда.

Все что необходимо – зарегистрироваться на бирже, или воспользоваться обменником.

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

Делают это они, конечно, не бесплатно и зарабатывают на комиссиях.

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

Один из них – Proof o Stake (доказательство доли владения).

В чем сыр бор

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

Например, при транзакции в сети биткоин, криптовалюта далеко не сразу приходит на . Прежде всего ее необходимо записать в блок цепи.

Блоки создаются постоянно, и вмещают информацию о .

Пока генерация блока не завершена, что называется «блок не закрыт», перевод не будет подтвержден.

Для это и нужны майнеры, которые добывают блоки.

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

Все в той же сети биткоин, чтобы добыть блок, у майнера должны быть крупные вычислительные мощности.

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

Этот алгоритм называется Proof of Work (PoW ) – подтверждение выполненной работы.

Также PoW , защищает всю цепь от DDoS -атак и спам рассылок. Он требует огромных вычислительных мощностей. Более того, майнеры конкурируют друг с другом, что усугубляет ситуацию и приводит к удорожанию транзакций для конечного потребителя.

При чем тут Proof of Stake

Все чаще в криптомире звучит идея отхода от Proof of Work и перехода к Proof of Stake .

По этому принципу, майнеру не нужно тратить огромные мощности, чтобы первым и получить вознаграждение.

Здесь, система автоматически выбирает создателя на основании доли его баланса в общем количестве той или иной монетки.

Чем больше баланс, тем выше вероятность того, что именно он сгенерирует блок.

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

Сторонники Poof of Stake утверждают, что, если недобросовестные криптоинвесторы захотят атаковать всю сеть, им придется накопить значительную часть криптовалюты на своем балансе, что делает само нападение нецелесообразным с финансовой точки зрения.

Более того, так как у самого злоумышленника накоплено много монеток, он сам пострадает от своей же атаки, ведь она пошатнет всю экосистему криптовалюты.

Неужели настолько все хорошо?

Есть и скептики концепции Proof of Stake . Один из их аргументов – угроза децентрализации криптовалюты.

Ведь принцип PoS может побудить инвесторов концентрировать все больше криптовалюты в одних руках.

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

Также под сомнение подпадает начальное распределение криптовалюты. Большая часть монеток, которые не работают по принципу Proof of Work распределяются двумя способами – через либо аукцион. В этом случае, вся криптовалюта изначально принадлежит только одной стороне, что усложняет децентрализацию и создает множество соблазнов перед монополистом.

Разработчики криптовалюты, работающей по принципу PoS нашли компромиссный вариант решения этой проблемы.

Для создания криптовалюты используется PoW . Ее стоимость определяется затратами на производство.

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

По словам основателя Ethereum Виталика Бутерина , после форка криптовалюты потребность в сильно упадет.

А так как сложные вычисления могут стать ненужными, большая часть майнеров вполне может потерять свой бизнес.

При этом Бутерин утверждает, что присоединится к проекту сможет любой желающий, а вознаграждение для валидаторов транзакций составит от 2 до 15%.