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

Основная идея PoS довольно проста:
  1. Вместо того чтобы покупать оборудование для майнинга за $1000, участники могут заблокировать криптовалюту на сумму, эквивалентную $1000 (“стэйкинг”).
  2. Вместо того чтобы через майнинг блоков указывать, какие блоки являются действительными, пользователи могут просто проголосовать за них в сети и подписать свой голос цифровой подписью.
  3. Вместо того, чтобы побеждал блок, на майнинг которого было потрачено больше всего ресурсов, побеждает блок, набравший наибольшее количество голосов.
  4. Если поведение узлов окажется злонамеренным, вместо того, чтобы потерять вознаграждение за проделанную работу, они буквально потеряют всю свою заблокированную долю – как если бы вся их майнинг-ферма, настроенная для работы с алгоритмом PoW, сгорела при пожаре.
Адепты PoS будут утверждать, что, поскольку эти стимулы равны или превосходят стимулы системы PoW (это правда), эта система также является такой же надежной или даже превосходящей систему PoW (это ложь). Их проблема заключается в том, что помимо написания списка желаемых стимулов, также необходимо создать систему, которая эти стимулы внедрит.

Если использовать аналогию, то это сродни тому, как если бы кто-то сел проектировать здание следующим образом:
  1. Сначала рисуем желаемый экстерьер.
  2. Рисуем желаемый интерьер.
  3. Делаем основные замеры, чтобы убедиться, что размеры интерьера не превышают размеры экстерьера.
  4. Решаем, что дом готов к возведению и отправляем его строителям на постройку.
Разумеется, упущена самая важная часть – конструктивная система балок и несущих стен, без которой здание на является зданием!

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

“Ничего на кону”​

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

Таким образом гарантировано наказание за недобросовестное поведение: необходимость платить за электричество, не получив вознаграждения. В силу законов физики превращение энергии в тепло увеличивает энтропию, а время не повернуть вспять. Узел не может “размайнить” блок и получить свою электроэнергию обратно.

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

Здесь и появляется проблема: поскольку их наказание является синтетическим, оно существует внутри системы. Поскольку наказание существует внутри системы, оно может повлиять только на то, над чем система имеет контроль – в данном случае на заблокированные депозиты узлов. Поэтому, как только пользователи забирают свои депозиты, они становятся неприкасаемыми. В этом и заключается проблема “ничего на кону”. Неизбежно наступит момент, когда узел сможет “разморозить” все свои вклады (стейк. прим.переводчика) и вывести деньги. В этот момент у сети возникает проблема:
  1. Этот ключ действителен для подписи любого количества версий, скажем, блока номер 200, и нет объективного, внутрисистемного стандарта определения какая же версия является легитимной, кроме как “та, которая была опубликована первой”.
  2. Узел может подписывать этим ключом все, что захочет, без каких-либо последствий. Нет способа наказать его, потому что он ничем не рискует.
Практически все системы пытаются решить эту проблему одним и тем же способом:
  1. Если узел подписывает другую версию того же блока в течение достаточно короткого периода времени, “сократить” его депозит (т.е. наказать его внутри системы).
  2. Если узел подписывает другую версию того же блока, например, через год, просто игнорировать произошедшее.
Вот в чем проблема: как вы узнаете, какая версия была первой? Если вы были там с самого начала и видели все своими глазами, то это просто. Но что, если вы только что установили клиент, а ваш узел пытается синхронизироваться? Что произойдет, если вам будут представлены два одинаковых блока, и вы должны будете решить, какой из них выбрать?

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

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

На самом деле этот механизм не делает последнего. Для решения этой проблемы понадобится какой-то другой метод:

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

Пара вопросов​

Если в схеме существует фундаментальный недостаток безопасности, который может быть “устранен” только путем снижения стандартов, по которым она оценивается, является ли эта схема “безопасной”?

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

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

“Но если страж увидит, что идет меч, и не затрубит в рог, чтобы предупредить народ, и меч придет и лишит жизни кого-то из них, то этот человек будет взят за свой грех, а стража за эту гибель Я призову к ответу.”
— Иезекииль 33:6

Человек за занавесом​

К каким можно прийти заключениям?
  1. Поскольку PoS не может сам по себе привести к консенсусу, он не является механизмом консенсуса.
  2. Если система все еще работает, то за ней должен стоять реальный механизм консенсуса (например, не PoS).
Так и есть, я не выдумываю:

“Это предположение о безопасности, идея “получить хэш блока от друга”, многим может показаться неоригинальной; разработчики Биткоина часто говорят о том, что если решением долгосрочных атак (long range attack) является некий альтернативный решающий механизм X, то безопасность блокчейна в конечном итоге зависит от X, и поэтому алгоритм в действительности не более безопасен, чем использование X напрямую – подразумевая, что большинство X, включая наш подход, основанный на социальном консенсусе, небезопасны.
Однако эта логика игнорирует причины, по которым алгоритмы консенсуса существуют в первую очередь. … Слабая субъективность как раз и является правильным решением".
— Виталик Бутерин, не отрицающий утверждение, которое сам же пытается опровергнуть.