О доказательстве владения долей (Proof-of-Stake, PoS) написано много. Есть много способов всесторонне проанализировать PoS и выявить его слабые стороны. К основным из них можно отнести:
Эволюционная психология / история: Все «предметы коллекционирования» или «прототипы денег» в истории имели одну общую черту: устойчивость к подделке [1] – или, по крайней мере, устойчивость к подделке в контексте своего времени. От морских ракушек, пушнины, зубов до драгоценных металлов и чеканных монет. Так как алгоритм PoS подразумевает не потребление имеющихся средств, а всего лишь временное владение ими, он не удовлетворяет требованию об устойчивости к подделке, которую Ник Сабо назвал одним из трёх ключевых качеств денег.
Экономика: Если объект имеет ценность, люди будут прилагать усилия к обладанию им, соразмерные его стоимости (MC=MR). К усилиям относится также «работа». Как верно заметил Пол Шторц, PoS – это одна из скрытых форм PoW.
Работа так или иначе присутствует в PoS, будь то получение ссуды в банке, поддержание круглосуточной работы серверов или попытка похитить ключи от доли.
PoS не только является скрытой формой PoW, но и уступает ему. Любая потенциальная экономия средств, которую обещает PoS, компенсируется эквивалентным снижением уровня безопасности.
Как мы увидим ниже, доллар [2], замороженный для стейкинга, обеспечивает далеко не тот же уровень безопасности, что доллар, потраченный на майнинг.
Компьютерные науки: Эндрю Поэлстра написал одну из первых формализованных работ с критикой PoS, в которой ввёл новые термины: проблему симуляции наличия средств (nothing-at-stake, или «ничего на кону») и атаки дальнего действия.
Недавняя публикация Джона Брауна-Коэна и Арвинда Нараянана с соавт. также раскрывает неожиданные подводные камни в обеспечении хорошего и надёжного источника произвольного выбора в протоколах PoS [3].
Технические разработки: Я тоже написал работу из двух частей [Часть 1] [Часть2], в которой представил обзор слабых сторон PoS с точки зрения практической инженерии и перечислил несколько пессимистичных сценариев, в которых алгоритм PoS особенно уязвим, а именно: разделение сети, кража секретных ключей и низкая ставка за участие в стейкинге.
Но, возможно, проще всего было бы рассматривать PoS через призму времени, о чём я уже писал в предыдущих постах, но хотел бы развить эту тему здесь.
Доказательство владения долей – это доказательство временного владения долей
Доказательство владения долей (или, при дословном переводе, «подтверждение доли») – это ошибочное название. Правильнее было бы назвать этот алгоритм подтверждением временной доли (Proof-of-Temporary-Stake, или PoTS). Такое название полнее отражает принцип его работы. Оно точнее, так как содержит элемент времени – или отсутствие такого – в PoS.
Чтобы лучше понять влияние фактора времени, давайте посмотрим, какую роль он играет в PoW.
Постоянный расход энергии в PoW способствует безопасности сети двумя способами:
- Энергия, расходуемая на каждый блок, защищает не только UTXO (выходы неизрасходованных транзакций) этого блока, но также задним числом защищает все остальные UTXO предыдущих блоков. Происходит это потому, что было бы невозможно отозвать прошлые UTXO без изменения последнего блока. Каждый новый блок эффективно «погребает» под своим весом все существующие UTXO.
- Инвестиции в специальное майнинговое оборудование, в сущности, представляют собой потенциальный поток заработанных в будущем вознаграждений, дисконтированный к настоящему. Когда майнер инвестирует в новую единицу майнингового оборудования – это то же самое, что покупка доли в акционерном капитале, которая предполагает регулярную выплату дивидендов. Это значит, что, грубо говоря, майнинговое оборудование в целом представляет собой потенциальную энергию, которая будет затрачена на будущие блоки.
Для лучшего понимания можно представить эту концепцию в виде «прямой времени». Единицы работы, затраченные в прошлом, аккумулированы в реестре. Единицы работы, которые будут затрачены в будущем, аккумулированы в нынешнем майнинговом оборудовании.
Реестр содержит прошлую работу; майнинговое оборудование содержит будущую работу.
С течением времени единицы работы из правой части рисунка материализуются и перемещаются в левую часть. Майнинговое оборудование можно также сравнить с «буфером» – местом, где единицы работы хранятся до начала пути к конечному пункту назначения: реестру [4].
Официальный термин для обозначения такого рода основанной на времени аккумуляции запасов – запас и прирост, которые часто можно наблюдать также в природе. В сети Биткойна защита в значительной мере строится на высоком соотношении запасов и прироста в двух областях: реестре и майнинговом оборудовании (подробное описание модели запаса и прироста можно найти здесь [англ.]).
В отличие от алгоритма PoW, в PoS подобной системы нет.
Прошлые доли (левая часть прямой времени) не аккумулируются в реестре, так как эти средства снимаются со счёта после некоторого произвольного периода [5]. Атаки дальнего действия являются следствием этого недостатка алгоритма: они возможны из-за неспособности PoS обеспечить защиту прошлых операций. В атаках дальнего действия заключена суть всех проблем с PoS, так как они показывают, что в долгосрочной перспективе PoS не может гарантировать неизменности данных в реестре – важнейшего свойства всей этой инновационной технологии.
Будущие доли (правая часть прямой времени) тоже не аккумулируются в валидаторах в настоящем, и всё по той же причине: стейкинг, закладывание доли, имеет значение только в том коротком промежутке времени, когда он происходит – то, что должно произойти в будущем, не оказывает влияния на сегодняшний день. Кражи приватных ключей, которые случаются сегодня, являются проявлением этого недостатка. Они эффективны из-за неспособности PoS защитить будущее. Возможность похищения ключей сводит на нет необходимость крупных финансовых затрат, которые, как утверждается, понадобились бы злоумышленникам для покупки контрольной доли токенов. Тогда как в PoW нет подобного обходного пути, и хакеру придётся завладеть контролем над большей частью мощностей майнингового оборудования и оплачивать сопутствующие этому затраты на электроэнергию, чтобы начать и обеспечить продолжение атаки 51% [6].
(В PoS всё же имеется одна из форм аккумуляции данных. Это информация о периодических выплатах вознаграждений за стейкинг валидаторам. Но в отличие от аккумуляции в PoW, данные о выплатах вознаграждений полезны только конкретным PoS-валидаторам и никак не влияют на безопасность сети в целом.)
Суммируя всё вышесказанное: чем дальше мы отходим от настоящего момента в PoS, тем быстрее доли валидаторов теряют своё значение, пока не лишатся его совсем.
Работа устойчива к разрушительному влиянию времени [7]. Владение долей – нет.
Тот факт, что затраты на майнинг для PoW необратимо запечатлеваются и аккумулируются как в реестре, так и в майнинговом оборудовании – это важнейшая «фича, а не баг». Исследования PoS часто основаны на фундаментально ложной идее, что это свойство PoW-протоколов является багом и источником неэффективного расходования энергии.
Примечания
* PoS также критикуют за то, что он неизбежно ведёт к образованию плутократической системы, в которой богатые становятся богаче и получают всё большее влияние. Здесь мы этот вопрос не упоминали, так как он не относится к уровню защиты протокола как таковой и заслуживает отдельного рассмотрения.
[1] Не путайте устойчивость к подделке с трудовой теорией стоимости. Это не одно и то же. Одних только затрат энергии недостаточно, актив должно быть невозможно подделать.
[2] Доллар приведён здесь только для удобства. Это может быть любая другая денежная единица.
[3] Валюта PoS опирается на внешний источник произвольного выбора, что содержит логическую ошибку. Поэтому крайне желательно, чтобы генерация произвольного выбора происходила внутри алгоритма PoS и с использованием данных его же реестра. Однако это является сложной проблемой, решение которой тоже подразумевает нахождение своих компромиссов.
[4] Не все единицы работы в итоге сохраняются в реестре. Некоторые из них отклоняются, но даже отклонённая работа необходима для поддержания децентрализации сети.
[5] Концепция «завершённости« не изменяет (отсутствия) аспекта аккумуляции в алгоритме PoS, так как новые/неактивные/разделённые ноды могут видеть разные состояния «завершённости».
[6] В PoW есть риск конфискации оборудования (например, государственным органом), однако этот риск может быть снижен за счёт достаточной децентрализации майнинга. При этом рассредоточение оборудования не обеспечивает защиту для сетей с PoS, так как PoS-валидаторы представляют собой всего лишь программные узлы, и к ним может быть найден удалённый доступ откуда угодно. Более того, в PoW даже в случае конфискации оборудования хакерам не удастся избежать постоянных расходов на электроэнергию.
[7] Работа вечна/надёжна с точки зрения количества хэшей, а не требуемого расхода энергии. Новые технологии могут повысить эффективность майнинга – хотя на определённом этапе рост показателей эффективности замедлится по достижении физического лимита оборудования. Надёжность алгоритма PoW в сети Биткойна также зависит от целостности хэш-функции SHA256.