Полезные статьи

Proof-of-Stake без искуственных добавок.

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

Термины:

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

Proof-of-Work — механизм обработки транзакций и генерации блоков в блокчейне, при котором майнер «крутит рулетку», пытаясь отыскать хэш удовлетворяющий правилу, например, «один ноль в первом символе». Для первого абзаца первого раздела для этого понадобилось добавить число 3000 и перебрать от 1000 четыре хэша (включая хэш без числа). Результат POW нельзя предсказать для хорошей хэш-функции, можно только найти удовлетворяющий условию хэш, и это условие является частью POW.

Proof-of-Stake — метод улучшения компьютерных алгоритмов консенсуса. Например, задача: у нас в сети несколько компьютеров и все они должны по очереди генерировать случайное число и приходить к единому мнению в течение миллисекунд. Для того, чтобы её решить в общем случае на плохой сети, с плохими компьютерами, нам надо использовать какие либо алгоритмы вроде Paxos, Raft, Practical Byzantine Fault Tolerant, это т.н. алгоритмы консенсуса. Усложняя задачу, и помещая в сеть блокчейн, нам надо быть уверенными, что ни один из участников сети не выдал себя за кого-то другого, и тогда мы присваиваем каждому участнику свою криптографическую подпись, а чтобы ему было что терять — говорим положить в страховой депозит сколько-нибудь токенов, которые в случае, если он врёт, переаспределяются между остальными участниками.

Преимущества POS

Баннер ниже сопровождает вводную часть, которая должна была бы помочь нам составить представление о том, какие достоинства несёт нам POS. На самом деле, его единственная практическая цель — избежать недостатков Proof-of-Work (POW). В разное время к ним причисляли те или иные качества, которые сложились органически, и к настоящему времени уже не важны. Важно отметить, что как правило под POW мы часто имеем ввиду механизм функционирования Bitcoin, связанный с консенсусом сети при выборе нового блока, т.е. проще говоря, при обработке транзакций и помещении их в блокчейн во веки веков.

Proof-of-Stake без искуственных добавок.

Алекс Херн, скорее всего, nocoiner

Консенсус POW к настоящему времени имеет практически доказанную безопасность, он работает практически во всех главных криптовалютах Bitcoin, Ethereum, Litecoin и иногда (декларируется) частично — в других. POS мог бы иметь достоинства по сравнению с POW, если бы он практически доказал большую безопасность, либо помог обеспечить большую степень децентрализации протокола и его устойчивость к возможной цензуре (здесь мы говорим о децентрализации как майнинга так и узлов сети, сохранающих реплику блокчейна локально) и как следствие придать конкурентные преимущества своим криптовалютам. Практически, степень безопасности и децентрализации, декларируемая или может быть достигнутая, вряд ли повлияла на стоимость криптовалют Proof-of-Stake (картинка ниже), несмотря на то, что Proof-of-Stake был предложен в 2012 году (King, S. & Nadal, S. Ppcoin: Peer-to-peer crypto-currency with proof-of-stake).

Proof-of-Stake без искуственных добавок.

Доля Proof-of-Stake в общем рынке. Могут быть и другие криптовалюты из области N\A

Так как вывести достинства POS по сравнению с POW оказалось достаточно сложно, его преимущества стали декларировать через недостатки POW и Биткоина, как основную цель, обладающую максимально развитым майнингом. Ранее, достаточно популярными были мнения о том, что сеть Биткоина слишком «китаизирована» как в смысле майнинга, так и в смысле использования, однако, сначала «сдулись» китайские биржи после отмены margin-trading, затем китайские майнеры начали выходить в близлежащие страны с более надёжной юрисдикцией и в наше время инвестиционные проекты по организации ферм уже имеют место в Квебеке. Конечно, этим занимаются крупные компании, но вспомним, что в конце XIX века нефть в Баку носили вёдрами и хранили в ямах, а в наше время никто так не делает.

Ещё одним интересным мифом была гипотетическая атака 50+1%, которая потеряла всякий экономический смысл для атакующего с появлением первого ASIC (на самом деле раньше, но точную границу нужно считать). Постепенно, китайский и 50+1% нарративы стали сдавать позицию экологическому, который также не имеет ничего общего с реальностью, потому что POW Bitcoin является самобалансирующимся механизмом и суть увеличения прожорливости такая же как у рождественских гирлянд на многочисленных европейских ярмарках. Люди хотят заработать, ставят больше ферм или развешивают больше гирлянд, только в первом случае связь прямая, поэтому фермы стоят рядом с источниками дешёвой энергии, чего не скажешь про гирлянды. Источник повышенного энергопотребления POW — это сам человек, его предпринимательская активность.

В конечном итоге, экологический нарратив победил и при сравнении алгоритмов консенсуса (хотя это не профессионально, по-моему мнению). Например в недавней TON Whitepaper употребляется словосочетание «бесполезные хэши». В материале о TON я упомянул необходимость в экстернализации стоимости атаки (то, почему 50+1% атака бессмысленна), это требует пояснения, потому что это одно из фундаментально слабых мест любого POS алгоритма.

«Ничего за душой»

Название раздела является вольным переводом «nothing-at-stake», атаки, которой пытаются избежать все производные алгоритмы POS. Она хорошо описана Andrew Poelstra в работе «A Treatise on Altcoins», и здесь я по-видимому не буду сосредотачиваться на технических деталях этой фундаментальной уязвимости POS, но предложу несколько иной взгляд, обобщающий «nothing-at-stake» с точки зрения экономических последствий, и одновременно предприму попытку более наглядной иллюстрации атаки, как её понимает Poelstra. Сложная техническая трактовка данного типа атак заключается в том, что, как правило POS, декларируя отсутствие необходимости генерации большого количества «бесполезных хэшей», позволяют создавать альтернативные блоки без существенных затрат вычислительных ресурсов. Сложный технический ответ на данный тип атак, вроде Slasher В. Бутерина, заключается в ряде методов, связанных: а) с блокированием на время токенов «майнера» или в случае POS — узла-валидатора сети, б) обещанием изъять залог в пользу других учасников сети в случае отклонений от правил протокола. Фактически, например ответ Бутерина не имеет ничего общего с замечаниями Poelstra, потому что они шире и затрагивают особенности генерации блоков, например, что в тот или иной момент времени выбор следующего «валидатора» перестаёт быть случайным, просто потому что они должны генерировать блоки равномерно из соображений «справедливости», и таким образом можно из атакующего меньшинства сети превратиться в большинство, просто умело используя момент времени. До настоящего времени, Бутерин использует такую аналогию для объяснения инноваций POS: 100 человек за одним столом подписывают друг за другом бумажку, а обманет кто — его дом сгорит. Стол и горящий дом — это воображаемо ярко, но не имеет отношения к тому, что говорил Poelstra: порядок валидаторов детерминирован.

На более общем уровне я смотрю на «nothing-at-stake», так: если для атаки на сеть токен является только промежуточным активом, то сам факт атаки становится вопросом времени, и чем дороже токен, тем выше вероятность атаки. То же самое могло бы быть справедливо и для Bitcoin, если бы он был основан на POS, но, чтобы иметь высокий шанс фальсифицировать несколько блоков подряд, а затем обналичить полученную прибыль нужны огромные средства, и часть из них не связана с покупкой токена: во-первых нужно купить необходимое оборудование, во-вторых нужно обладать большим количеством BTC (и здесь Биткоин является наиболее равномерно распределённой валютой), чтобы реализовать преимущества атакующего и получить прибыль от продажи, в третьих я не представляю такой атаки, которая позволила бы одновременно обналичить большой запас Биткоинов и не превратить приобретённое оборудование, ASIC-майнеры, в никому не нужный хлам. Мы видим, что стоимость атаки POW Bitcoin запретительно высока, а если вы решите атаковать Биткоин, то вы скорее всего станете самым радикальным ходлером. При этом в POS криптовалюте диапазон возможных сценариев для атакующего значительно шире и не упирается в какие-либо фундаментальные ошибки протокола или невообразимую стоимость атаки. Атакующий может быть ранним инвестором у него будет большой запас криптовалюты, во-вторых, атакующий может получить криптовалюту в результате другой атаки, на крупного держателя (коих в POS системах достаточно много), в третьих, атакующий может завладеть сервером-валидатором и его страховым депозитом.

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

Proof-of-Stake без искуственных добавок.

  1. Атакующий каким-либо образом получает запас токенов (украдены с биржи, украдены у валидатора или крупного держателя, куплены)
  2. Запас токенов делится в той мере, в которой это необходимо для получения, например 1\6 голосов валидаторов в сети
  3. Токены на бирже просто могут ждать своего часа
  4. Подготавливается и совершается атака внутри сети (например совокупностью методов, описанных Poelstra), которая может быть направлена на что угодно: двойную трату, доп.эмиссию, или просто в целях повреждения сети, чтобы манипулировать рынком.
  5. На бирже (или в частной сделке) извлекается прибыль путём, известным атакующему.

Важно отметить, что чем выше цена, тем более выгодной становится атака на POS, потому что повышение цены может покрыть расходы на атаку. Атакующий действительно жертвует страховым депозитом, но это является только расходной частью. Искушённый читатель может возразить, что такая же схема возможна в POW, может быть POW Bitcoin, если атакующий берёт некое оборудование в аренду. Но он ошибётся, потому что в пределе POW упирается в принцип Ландауэра (генерация тепла, энтропии, при обработке единицы информации), а в реальной жизни атака на развитый POW упирается в то, что: атакующему придётся оплатить альтернативные издержки многим майнерам, эти фермы будут рассредоточены в пространстве (мультипликатор к издержкам), майнеры будут очень не заинтересованы в существовании атакующего при малейшей утечке информации (а атакующему потребуется договариваться с большим количеством контрагентов).

Ответ Ethereum

Coindesk отметило, что для разработки Casper (POS консенсус для ETH), не установлен дедлайн. Бутерин:

Я предпочитаю не определять сроки

Отметим, что всё сообщество в целом, когда имеет в виду POS, ориентируется на Ethereum. Этому может быть ряд объяснений, но самое главное по-видимому то, что для Ethereum цена вопроса будет высока, а может быть сравнима с DAO Hack по эффекту на коммьюнити и экономику протокола.Просматривая материалы POS на GitHub, можно увидеть раздел, посвящённый исключительно «nothing-at-stake», который включает упомянутый Slasher, который наказывает валидаторов за одновременное создание двух блоков на одной высоте. Учитывая, что описываемый Slasher первым требованием имеет «чётко определённый список валидаторов», этот механизм имеет описанное Poelstra слабое место: гриндинг валидаторов (то есть, когда с уменьшением валидаторов, которые должны подписать блок, фактор «случайного» выбора пропадает). Мне не понятна способность данного механизма объективно отфильтровать атакующего от всех остальных.

Помимо Slasher, вторая стратегия заключается в наказании атакующего за наращивание «ложной цепочки». При этом, любопытна такая цитата:

Интуитивно, это соответствует тому, что мы можем реплицировать экономику POW внутри POS

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

По всей видимости, все ответы на вопрос фундаментальной атаки «nothing-at-stake» будут вестись в рамках изобретения «криптоэкономики», то есть системы экономических стимулов внутри протокола. Например, как в этой незаконченной (или не начатой) статьи, посвящённой Casper:

… прилагая криптоэкономические механизмы для обеспечения безопасности сети, и одновременно обеспечивая живучесть, безопасность и синхронность (протокола).

Эволюция грязного майнера

Жизненный цикл ASIC или любого другого майнера, вплоть до FPGA ферм, довольно короток. Эти устройства, обеспечивающие работу POW консенсуса в целом неприхотливы, могут работать в подвалах, гаражах, любых неподготовленных помещениях и морских контейнерах, желательно как можно более холодных. В процессе майнинга майнер не пользуюется приватными ключами, поэтому основной критерий безопасного майнинга заключается в наличии огнетушителя. Майнер может полностью реализовать достоинства холодного хранения криптовалюты, требуется только контролировать, что его Лайткоин\Биткоин адрес не был подменён в клиенте.

Рассмотрим деятельность валидатора в POS. Предположим, что майнер, который до этого занимался исключительно обустройством маленькой фермы на своём чистом балконе. В. Бутерин пообещал нашему майнеру равенство прав, и он твёрдо намерен рассмотреть возможность участия в сети POS в качестве полноправного узла, подписывающего блоки, тем более, пробки вылетают, а жена пилит за шум. В качестве примера рассмотрим далее подробные рекомендации Cosmos (Tendermint) в отношении валидаторов:

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

Нет причин ожидать, что данных требований не будет в Etherum-Casper. Потому что требование up-time сервера является строгим и в POS-FAQ Etherum. Важным моментом является то, что условия Slasher, то есть штрафа в Cosmos распространяются как на форки, так и на up-time с голосованием в процедурах управления.

Что нужно будет сделать нашему майнеру в соответствии с данными рекомендациями?

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

— майнеру действительно нужен сервер. Какие у данного сервера будут характеристики, я не знаю, сейчас например Ehterum blockchain имеет размер 337.62 GB, но это не учитывает размер базы данных состояний, разных вспомогательных индексов и всего прочего, что ещё придумают в Ethereum. Сервер накладывает обязанности по администрированию, т.е. майнеру придётся осваивать ту или иную операционную систему и основы безопасной работы в ней. Сервер дороже обычных компьютеров, ему нужно резервирование питания и хороший интернет-канал.

— майнеру нужно псотоянно заботиться о том, чтобы его горячие ключи не были похищены. Наверняка В. Бутерин, Emin Gun Sirer и др. в перспективе придумают какие-либо методы ротации ключей, может быть создадут HD-wallet для Ethereum, чтобы можно было генерировать произвольное количество производных ключей, но пока ситуация такова, что проблема холодного кошелька для узла POS — не решена. Ниже вы видите график крупнейших взломов на крипторынке. Верхние строчки удерживают биржи, которые хранили средства клиентов в горячем кошельке.

Proof-of-Stake без искуственных добавок.

Децентрализованный POS

Описание трансформации рядового майнера только предвосхищало обсуждение фундаментального качества — децентрализации POS. Обратимся снова к Ehtereum-POS-FAQ:

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

Рассмотрим более подробно «экономию от масштаба». В современном ИТ-бизнесе она имеет место, и мне кажется странным, почему люди, описывающие рекомендации валидаторам в FAQ, одновременно так настойчиво продвигают идею что POS-валидация не может быть подвержена экономии от масштаба. Рассмотрим современные дата-центры, они имеют следующие качества:

  1. юридическое лицо,
  2. охраняемый периметр,
  3. кондиционируемое помещение с независимым аварийным питанием
  4. практически неограниченный по качеству и объёму интернет-трафик
  5. персонал, осуществляющий поддержку

Бинго. Наш экс-майнер мог бы изучить работу с облачными сервисами, сделать приближённые вычисления и посчитать, выгодно или нет быть валидатором. Только его кошелёк на узле всё равно будет горячим, и нет оснований полагать, что MtGox иди CoinCheck пользовались существенно худшими сервисами (скорее есть основания полагать совсем другое). В конечном итоге, мы уже говорим не о майнере, а о том, что может быть выгодно содержать десятки валидаторов в одном помещении, и представлять они будут один актор в модели управления PoS.

Так как текущая статья пришлась как раз на период обсуждения PoS в сообществе, приведём цитаты:

@NickSzabo4

<Автор концепции смарт-контрактов>

Соединённое управление в proof-of-stake будто бы включает программистов и других любителей делать юридические и бухгалтерские решения. Управление Биткоином выглядит иначе. Даже если юристы и бухгалтеры правильным образом одержат контроль над управлеинем PoS, PoW управление будет скорее всего более социально масштабируемым.

@bramcohen

<Создатель BitTorrent>

Для новичков в proof of stake игре: Основное количество существующих proof of stake систем, которые были развёрнуты в реальной жизни имеют одного главного stakeholder, который управляет ими как амбивалентный диктатор. Централизация решает все проблемы и ничего не доказывает

Основной посыл Andrew Poelstra «A Treatise on Altcoins», «On Stake and Consensus» в его работах заключается в том, что PoS фундаментально не способен осуществить распределённый консенсус. Это довольно глубокая идея, которая включает в себя не только рассмотрение особенностей централизации протокола, но и рассмотрение его уязвимостей, которые могут быть решены централизацией.

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

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

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

Экономика PoS

Крипторынок в наше время имеет много общего с капитализмом в XIX веке — каждый горазд экспериментировать как он пожелает. Я люблю аналогию с Диким западом, на который стекалось огромное количество народу, желая основать новую утопию и построить общество будущего: без законов, денег, чего-нибудь ещё.

Большинство PoS систем во-первых:

  1. имеет крайне неравномерное распределение монет на старте (Bitcoin и Litecoin не проводили ICO)
  2. имеет неограниченное предельное количество, стараясь установить некую «полезную» инфляцию

Это нужно прокомментировать. Неравномерное распределение у PoS систем будет всегда, это обеспечивает дополнительную безопасность в протоколе, особенно если Foundation принимает наличные чемоданами (но и может скомпрометировать его со стороны государственных органов). Инфляция, это чаще всего предмет отдельных взглядов, которые зачастую затруднительно распознать. Разумым объяснением инфляции будет стимулировать помещение большого количества токенов в страховые депозиты (на которые начисляется %).

Paul Sztorc, в своей статье Nothing is Cheaper than Proof of Work рассмотрел капитальные затраты валидатора по сравнению с майнером. В конечном итоге, он пришёл к выводу, что с макроэкономической точки зрения, PoS не имеет никаких преимуществ, так как извлекает капитал из оборота.

Это зачастую не упоминается сторонниками PoS, но в итоге PoS протокол также вынужден либо формировать fee-market, который будет компенсировать издержки всех валидаторов, либо обеспечивать некоторую инфляцию, которая будет субсидировать валидаторов за счёт уменьшающихся сбережений, в том числе, stakeholder. При этом любой протокол с неограниченной эмиссией будет произгрывать в store-of-value, по сравнению с протоколом с ограниченной эмиссией. Подразумевая store-of-value в качестве отложенного спроса (более чем модели «рантье», которая не имеет ничего общего со store-of-value), любой протокол с инфляцией, проиграет и в сетевом эффекте и вряд ли будет атаптирован торговцами потому что торговцы не будут желать приобрести монету в обмен на свои товары, потому что монета не будет популярной.

Предположим, монета PoS стала дорогой. В Сети огромное количество бирж, некоторые из них с горячими кошельками, достаточное количество валидаторов тоже с горячими кошельками — так как валидатором может быть выгодно. Само по себе явление выгодности складирования токена в stake привело к тому, что с рынка исчезло большое количество ликвидности, и цена пошла вверх. В такой ситуации, кстати, поможет ограничение количества узлов сверху (т.е. парадоксальное ограничение степени децентрализации). Обнаружение уязвимости в ряде процессоров для серверов привело к появлению эксплоита, и атаки, направленной на многие узлы-валидаторы. Далее, валидаторы начинают отключаться на обслуживание, в сети возрастают задержки, кое-кого взламывают. И на рыноке оказывается большое количество ликвидности из страховых депозитов. Цены испытывают шок, некоторые валидаторы не могут вернуться к жизни (потому что , например, содержать узел на Amazon EC стало не выгодно). В протоколе PoS не иллюзорный паралич. Это, наверное, только один пример шоков, которые являются следствием слабого распределения ликвидности и большой концентрации ресурсов в руках немногих. В PoW ресурсы разделены, кто-то обладает hashrate, но должен постоянно сбывать свои субсидии, чтобы покрыть расходы (даже Monero с его инфляцией выглядит тут более справедливым протоколом), кто-то является инвестором и поддерживает сеть, и устанавливает в неё правила, в соответствии со своей версией программного обеспечения полного узла, но PoS способствует концентрации и «политической» и экономической власти в протоколе, и вряд ли сопособен обеспечить децентрализацию даже на аппаратном уровне.

Похожие статьи

Кнопка «Наверх»
Закрыть