BitMEX Research: полный гайд по Proof of Stake – последнему предложению Ethereum и интервью Виталика Бутерина

in #rus-translation7 years ago (edited)

medium_bg_pos_guide.png

Данный материал является переводом статьи от команды Bitmex Research, оригинал статьи находится здесь: https://blog.bitmex.com/complete-guide-to-proof-of-stake-ethereums-latest-proposal-vitalik-buterin-interview/
Перевела Mia, всю годноту выкладываю на мой канал в телеграм и канал команды Криптобред, подписывайтесь!
Предыдущие мои переводы пока живут на медиуме.

Аннотация

В этой статье мы рассмотрим алгоритм Proof of Stake (доказательство владения, PoS). Мы обозначим его теоретические достоинства и недостатки. После этого мы проанализируем особенности работы наиболее известных систем, которые пытались внедрить алгоритм консенсуса PoS, и увидим, что использование исключительно PoS настолько сложно реализовать, что его применение в неизмененном виде кажется нереалистичным. Затем мы рассмотрим последнее предложение Ethereum, которое, как мы думаем, более совершенно по сравнению с предыдущими попытками и позволило бы увеличить безопасность всей сети. Однако система все еще зависима от алгоритма Proof of work (PoW), который используется для создания новых блоков, и не до конца понятно, обеспечит ли применение PoS на одном из этапов более быстрый консенсус относительно новых блоков в цепи. Таким образом, мы мало верим в способность Ethereum значительно уменьшить свою зависимость от PoW майнинга.

image.png

Вступление

Перед тем, как мы начнем постигать все тонкости Proof of Stake (PoS), необходимо прояснить, какие цели ставятся при внедрении данного алгоритма консенсуса. Фактически, основной целью является структура данных с такими характеристиками:

  1. Ни один из участников не может контролировать информационное содержимое
  2. База данных продолжает увеличиваться (в терминологии Casper это именуется как «Жизнеспособность»)
  3. Участники могут договариваться об информационном содержании, то есть, у нод существует механизм выбора одной цепи из конфликтующих валидных (в терминологии Casper это именуется как «Безопасность»).

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

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

Описание работы алгоритма PoS

Проблема византийских генералов

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

Было доказано, что при использовании только устных сообщений достижение согласия возможно, только если две третьих генералов лояльны, а каждый предатель может сбить с толку двух лояльных генералов.
Источник: The Byzantine Generals Problem (1982)

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

Существуют два конкурирующих подхода в развитии алгоритма PoS. Один из них опирается на PoW. Криптоактивы, использующие такой подход включают в себя Peercoin, Blackcoin и ранние предложения PoS в Ethereum. Второй подход основан на трудах Лэмпорта в 1980х и базируется на заключении, что для формирования системы, устойчивой к проблеме византийских генералов, необходимо, чтобы две третьих участников были «честными». Нынешняя инициатива Ethereum, Casper, как раз основывается на этом утверждении.

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

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

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

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

Централизация майнинга и ASIC:
Потенциально более высокая децентрализация является еще одним преимуществом систем с алгоритмом PoS. При PoW майнинге возможна централизация вычислительных мощностей, которая не применима к PoS сетям:

  • Производство ASIC дорогостоящее и централизованное (в случае с Bitcoin, Bitmain имеет высокую долю рынка);
  • Производство чипов также дорогостоящее и централизованное (TSMC, Intel, Samsung и SMIC единственные производители крупного масштаба);
  • Технологии, связанные с ASIC могут быть потенциально запатентованы;
  • Количество источников дешевого сырья может быть ограничено;
  • Многие аспекты майнинга делают его более выгодным в крупном масштабе, например, стоимость энергозатрат или обслуживание оборудования, что тоже ведет к централизации.

Слабые стороны PoS

Это не комплексное решение:

PoW системы Сатоши «убивают» четырех зайцев одним выстрелом:

  • Выбор следующего блока цепи
  • Распределение криптоактивов
  • Выбор того, кто генерирует следующий блок
  • Время генерации нового блока

PoS решает только проблему выбора следующего блока цепи, оставляя остальные вопросы открытыми.

«Несправедливая» экономическая модель
Критики PoS систем часто упоминают тот факт, что распределение благ за работу в сети производится в зависимости от сумм криптоактива данной сети во владении. Таким образом, «богатые становятся еще богаче», что приведет к тому, что возникнут несколько крупных держателей данного криптоактива, которые и будут «снимать сливки». Если кто-то инвестирует в PoS сеть в начале ее развития, то он может поддерживать свою долю данной криптовалюты по мере увеличения количества единиц криптовалюты в сети. В PoW сетях доля всегда будет падать, потому что новые генерируемые единицы криптовалюты распределяются между майнерами. Действительно, в PoS сетях оплата за валидацию новых блоков производится пропорционально средствам валидатора, «замороженным» на депозите, но это не приводит к инфляции сети. Некоторые могут возразить, что такое распределение наград бесполезно и не приводит к стимулированию развития. Однако такое может произойти только если все пользователи станут валидаторами, в реальности же часть пользователей захотят потратить свои средства или использовать их по другому назначению.

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

Технические недостатки PoS

Проблема «Nothing at stake» («Отсутствие долей»)

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

В PoS системах этот процесс не до конца понятен. Если два блока созданы в одно время, то валидаторы будут «голосовать» за каждый из этих блоков размером своей доли владения. Тот блок, у которого размер этой доли окажется больше, и сможет быть признан валидным. Проблема в том, что если валидаторам разрешено менять свое мнение относительно валидного блока для достижения консенсуса, почему бы им не использовать долю для выбора разных цепей?
Доля владения – это ресурс сети, который не связан с реальным миром и, таким образом, данная доля может быть использована для валидации двух конфликтующих цепей. Проблема «Nothing at stake» является одной из наиболее серьезных уязвимостей алгоритма PoS.

Проблема «Nothing at stake»

word_table1.png

Проблема атак дальнего действия

Другой потенциальной проблемой использования алгоритма PoS является возможность «атак дальнего действия» (long range attacks). Атакующие могут, например, купить приватный ключ, который в прошлом имел большой баланс токенов, и сгенерировать альтернативную цепь с того момента, получая больше и больше наград при PoS валидации. Из-за большого количества наград, атакующий может потенциально создать цепь, которая будет подкреплена даже большей долей, чем основная цепь.

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

По нашему мнению, внедрение чекпоинтов зависит от основных приоритетов сети. Если сеть построена таким образом, что каждый ее участник приходит к консенсусу относительно правил и состояния системы, то подобные чекпоинты непригодны. Согласно оригинальному замыслу Сатоши, у нод должна быть возможность уйти в оффлайн, затем заново присоединиться к сети и верифицировать операции, произошедшие за это время. (Источник: Bitcoin Whitepaper)

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

Stake grinding атаки

В чистых PoS сетях валидаторы также должны генерировать новые блоки. Такие системы часто работают путем случайного выбора цепочки авторизированных создателей новых блоков из пула, причем, вероятность выбора прямо пропорциональна количеству средств в залоге. Проблема состоит в том, что в систему консенсуса должен быть внедрен некий рандомайзер. Участники могут манипулировать информацией в блоках для того, чтобы следующий блок достался тоже им. Майнеры могут заниматься подбором хеша все больше, и для этого им потребуется больше вычислительных мощностей, постепенно превращая PoS систему в PoW.
По нашему мнению, проблема stake grinding атак не такая важная в PoS сетях если сравнить ее с более фундаментальными сложностями, такими как «nothing at stake» атаки. Все, что нужно для решения этой проблемы, это добавить источник случайного выбора в сети и, возможно, смарт-контракт Ethereum типа RanDAO, в котором может участвовать каждый.

Примеры применения – Peercoin и Casper в Ethereum

1. Peercoin – 2012

Общие сведения

Peercoin является гибридной PoW и PoS системой, основанной на идее «возраста» монет. При выборе цепи из форков приоритет отдается цепи с наибольшим возрастом монет.
Определяется этот возраст очень просто. Предположим, что Боб получил 10 монет от Алисы и держал их 90 дней. Тогда можно сказать, что возраст монет Боба 90 дней. (Источник: Peercoin Whitepaper)
В Peercoin, некоторые блоки производятся полностью путем PoW. Сложность генерации нового блока зависит от возраста монет, которые используются в транзакции.

Анализ

Screenshot of Microsoft Word (16-04-2018, 18-15-50).png

Заключение

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

2. Ethereum – Casper полная система PoS – 2015

Общие сведения

Это предложение, которое включает в себя полное использование PoS, базирующееся на принципе «консенсуса по ставке».

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

  • Существует группа валидаторов, у которых есть право делать или принимать ставки на блоки.

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

  • После нескольких раундов ставок, после того, как вероятность достигнет 1 или 99%, блок считается выбранным.

(Источник: блог Ethereum)

Стратегия ставок

Согласно блогу Ethereum, процесс ставок происходит при использовании следующих стратегий:

  • Если блока еще нет, но текущее время близится ко времени формирования нового блока, ставка составляет 0,5.

  • Если блока еще нет, но уже прошло много времени с того момента, когда блок должен был появиться, ставка составляет 0,3.

  • Если блок появился, и он появился вовремя, ставка составляет 0,7.

  • Если блок появился, но он появился слишком рано или слишком поздно, то ставка составляет 0,3.

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

Формула базовой стратегии ставок приведена ниже. Она используется для того, чтобы вероятность не останавливалась на 0,5, а падала до 0 или увеличивалась до 1, и в цепи могли появляться новые блоки.

Пусть е(х) – это функция, которая увеличивает значение х от 0,5 к 1. Тогда данную функцию можно выразить как e(x) = 0.5 + x / 2 if x > 0.5 else x / 2

Если валидатор делает ставку при вероятности равной 99%, вознаграждение будет очень маленьким (1% будет использоваться в качестве базы для расчета вознаграждения). В тоже время выигрышная ставка, сделанная при вероятности 0,5, принесет гораздо большее вознаграждение, так как уже 100% будет использоваться в качестве базы для расчета.

Выбор форка будет осуществляться на основании суммы всех взвешенных вероятностей при достижении заданного порога, например, 0,99. Например, цепь из 5 блоков, каждый из которых имеет вероятность 1, будет иметь общую сумму равную 5. Валидатор, который изменит свой голос после достижения порога в 0,99, может быть наказан за поддержку разных цепей. Если порог еще не достигнут, то валидатор не будет наказан за изменение голоса.

Анализ
Screenshot of Microsoft Word (16-04-2018, 18-03-45).png

Заключение

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

3. Ethereum – Последняя версия Casper – гибридная PoW/PoS система – 2018

Общие сведения

Нынешняя версия Casper показывает изменения в философии и резкую смену стратегии по сравнению с ранними PoS системами. Она возвращается в 80е и исследования Лэмпорта, который доказал, что такие системы будут работать только если две третьих участников являются честными. Таким образом, нынешняя версия Casper менее амбициозна по сравнению с предыдущей. PoS больше не используется для формирования новых блоков или выбора времени появления нового блока. Эти задания все так же осуществляются посредством PoW. PoS применяется для создания чекпоинтов. По нашему мнению, данное предложение является шагом вперед по сравнению с более сложными предыдущими версиями Casper.

Система работает по следующему принципу:

  • PoS применяется лишь каждые 100 блоков для создания чекпоинтов, дополнительно подтверждая корректность работы PoW.

  • Участники PoS процессов формируют «пул валидаторов» и через каждые 100 блоков они используют свою долю владения для валидации. Если две третьих средств в пуле поддерживают предложение, то блок считается финальным. PoS валидация имеет более важное значение по сравнению с PoW.

  • Голоса валидаторов имеют силу только в течение 12 подтверждений после последнего чекпоинта.

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

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

Структура раздачи вознаграждений тоже будет пересмотрена так, чтобы PoS валидаторы тоже получали комиссию, как и PoW майнеры.

Анализ

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

В теории, у данного предложения могут возникнуть три существенные проблемы:

  1. Более трети валидаторов отказываются участвовать – в этом случае, сеть просто полностью перейдет на PoW.
  2. Валидаторы изменят свое мнение после объявления блока финальным так, что две третьих поддержат альтернативную цепь – проблема атаки дальнего действия.
  3. Две третьих валидаторов поддержат более короткую PoW цепь, а не текущую лидирующую PoW цепь. Мы рассматриваем это как самую серьезную угрозу в данном предложении.

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

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

Screenshot of Microsoft Word (16-04-2018, 18-05-20).png

Другие возможные неразрешимые проблемы

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

Эксклюзивное интервью BitMEX Research с Виталиком Бутериным о новом предложении Casper

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

Виталик: Я бы сказал «нет». Стабильность сети не подвергнется негативному влиянию из-за ряда факторов.
Правило подсчета результата цепи перед финальностью можно описать как «последний финальный массив из 100 блоков + общая сложность * эпсилон». Существует документ, который указывает что правило подсчета результата любой «однообразной» цепи – это равновесие Нэша. Наше правило подсчета результата абсолютно точно однообразно, так что оно также является равновесием Нэша. И майнеры и валидаторы используют это правило, поэтому они естественным путем будут способствовать развитию цепи. Casper FFG был специально спроектирован так, чтобы сочетаться и с механизмом консенсуса, основанного на цепи, и теориями финальности в разрезе проблемы византийских генералов.
«Риск реорганизации может быть выше» только в таких условиях:

  • Основная часть валидаторов настроена более злонамеренно, чем майнеры
  • В коде Casper есть баги.

Вопрос 2. Какого поведения вы ожидаете от пользователей и бирж? Должны ли биржи изменить свое отношение к кредитованию депозитов, например, 2 подтверждения и 34% голосов валидаторов?

Виталик: Если бы я являлся владельцем биржи, я бы ввел что-то типа «подождите 12 подтверждений для депозитов до 10 тысяч долларов США и финального блока для больших сумм».

Вопрос 3. Будут ли разработаны какие-то стандарты подтверждения операций для бирж, которые будут объединять положительный эффект от PoW и PoS?

Виталик: Я думаю, такие стандарты можно создать. Мне приходят на ум следующие стадии подтверждения операций:

  • Транзакция включена в блок, который является начальным
    - который является N-ным предком начального
    - который является предком чекпоинта С, который, в свою очередь, является предком начального
    Валидаторы начинают голосовать за С.
  • Валидаторы подтвердили С.
  • Существует дочерний блок С, С’, и валидаторы начинают голосовать за С’ чтобы С стал финальным
  • Дочерний блок C’ получил более 1/3 голосов. На этом этапе, хотя бы один валидатор должен быть наказан за отмененную транзакцию. С становится финальным.

Заключение

Последнее предложение применения PoS является наилучшим по нашему мнению. Мы считаем, что оно может быть применено Ethereum и могло бы положительно сказаться на безопасности сети. Однако система продолжает быть зависимой от PoW майнинга. PoW позволит избежать проблему византийских генералов до применения PoS. Система полностью зависит от PoW при формировании новых блоков, а также PoW используется для критически важной цели – поддержания устойчивости цепи к образованию форков. И хотя PoS майнинг может уменьшить некоторые риски (например, мошеннические действия PoW майнеров), непонятно, насколько сильно это влияет на безопасность и устойчивость к образованию форков.

Как нам кажется, что нынешнее, достаточно консервативное нововведение Ethereum могло бы быть применено на практике, но проблема nothing at stake является одним из самых серьезных препятствий. И использование данной технологии в качестве переходной к системе, полностью работающей на PoS, будет намного сложнее, чем считают некоторые пользователи Ethereum.

Резюме

Алгоритм PoW позволяет эффективно решать проблемы формирования новых блоков и временных интервалов, через которые появляются эти блоки. Данный алгоритм удобен для распределения вознаграждений майнерам. В PoS решение данных вопросов требует применения дополнительных механизмов. При этом PoS имеет такие преимущества, как большая экологичность, большая заинтересованность участников сети в ее развитии, потенциально более высокая децентрализация. Недостатками PoS является то, что это не комплексное решение, и данный алгоритм позволит большим держателям криптоактива стать еще более богатыми. Кроме того, валидаторы подвержены риску кражи своего депозита с горячего кошелька. Не лишен алгоритм PoS и ряда технических недостатков, таких как проблема nothing at stake, проблема атак дальнего действия и stake grinding атаки.

Peercoin стал одной из первых попыток внедрения PoS. Это гибридная PoW и PoS система, основанная на идее «возраста» монет. Изначально Peercoin был интересным и новаторским проектом, который со временем превратился в централизованную систему, не способную догнать возможности PoW.

Первое PoS предложение Ethereum, Casper, в 2015 году подразумевало полное использование PoS, базирующееся на принципе «консенсуса по ставке». Это предложение так и не было принято Ethereum, а сама идея ставок интересна, но она выглядит слишком сложной и имеет много неопределенностей.

Последняя версия Casper (гибридная PoW/PoS система) 2018 года строится на исследованиях Лесли Лэмпорта, который доказал, что распределенные системы могут работать, только если две третьих участников являются честными. Такие задания как формирование новых блоков или выбор времени появления нового блока производятся путем PoW, а PoS применяется лишь каждые 100 блоков для создания чекпоинтов, дополнительно подтверждая корректность работы PoW. Таким образом, система все еще зависима от алгоритма Proof of work (PoW), который используется для создания новых блоков, и не до конца понятно, обеспечит ли применение PoS на одном из этапов более быстрый консенсус относительно новых блоков в цепи.

Данный материал является переводом статьи от команды Bitmex Research, оригинал статьи находится здесь: https://blog.bitmex.com/complete-guide-to-proof-of-stake-ethereums-latest-proposal-vitalik-buterin-interview/
Перевела Mia, всю годноту выкладываю на мой канал в телеграм и канал команды Криптобред, подписывайтесь!
Предыдущие мои переводы пока живут на медиуме.

Sort:  

@miacoins, welcome and congratulations on making your first post! I gave you a $.04 vote! If you would be so kind to give me a follow in return that would be awesome!