Есть ли альтернатива “доказательству работы”? Изучаем Casper

Casper_the_Friendly_Ghost[1]

Можно сказать, что поиск альтернативы концепции “Proof of Work” превратился в криптовалютной среде в аналог поисков Святого Грааля. Мы уже не раз публиковали материалы на эту тему. Проект Эфириум в последнюю пару лет служит интересным источником технологических инноваций. Возможно, им есть что сказать и по этому поводу? В стратегии развития этого проекта особую роль играет грядущий переход на вариант системы Proof of Stake под кодовым названием Casper. Пришло время разобраться, что это за штука.

Casper – ориентируемся на наихудший возможный экономический анализ

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

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

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

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

Casper называют “дружелюбным привидением” потому, что он является адаптацией принципов протокола консенсуса Proof-of-Work к Proof-of-Stake. GHOST (англ.: привидение) – аббревиатура Greedy Heaviest-Observed Sub-Tree (Жадное Самое Весомое-из-Известных Дочерних-Деревьев).

Но что же насчет PoS?

Одним из старейших альтернативных механизмов консенсуса является “подтверждение доли” (Proof-of-Stake, PoS). Идея довольно проста: вероятность создать новый блок и получить соответствующее вознаграждение пропорциональна доле владения пользователя в системе (а не объему вычислительной мощности, как в PoW). То есть, держатель валюты, имеющий, скажем, 20% от общего числа монет в обороте, может создать новый блок с вероятностью 20%. Чтобы подчеркнуть отличие от PoW майнинга, в PoS системах процесс создания новых блоков обычно называют минтингом (“чеканка” блоков).

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

И хотя “подтверждение доли” является экономически эффективным Ethereum-Small1способом защиты безопасности сети, есть серьезные вопросы, которые требуют решения. Прежде всего, существет проблема “nothing at stake” (на кону ничего не стоит). Грубо говоря, узлы-минтеры могут легко подписывать все варианты блоков, в том числе мошеннические – и им ничего за это не будет. Это означает, что нормальные узлы PoS не могут достигнуть Византийского консенсуса. Кроме того, то что узлы с токенами не несут эффективных расходов, приводит к подрыву доверия к системе через распространение мошенничества. Некоторые из проблем традиционных систем PoS были описаны в этой работе исследователей BitFury.

PoS основанный на залоге может решить как минимум проблему “nothing at stake”, поскольку он будет требовать опубликования информации о поведении узла в протоколе консенсуса. Это позволит применять суровое наказание к узлам, которые станут известны своим некорректным поведением в плане поддержания Византийского консенсуса. Что еще более важно, достижение консенсуса будет легко для всех, кроме злоумышленников, атакующих систему.

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

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

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

Каспер – протокол экономического консенсуса на основе гарантийного депозита. Это означает что узлы, так называемые «облигационные валидаторы (проверяющие)», должны разместить депозит (это действие называется «бондинг») для того, чтобы обслуживать консенсус путем производства блоков. Встроенная в протокол возможность прямого контроля таких депозитов – главный способ влияния на размер вознаграждения, получаемого валидаторами. В частности, если валидатор произведет нечто, что Каспер посчитает “недопустимым”, его депозит будет аннулирован вместе с правом дальнейшего участия валидатора в процессе консенсуса.

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

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

С другой стороны, если взять консенсус на основе Proof-of-Work, то там цепь проверки заканчивается генезис-блоком – пока вам известен генезис-блок, вы можете проверить консенсус вплоть до текущего блока. В Каспере же, вы можете проверить консенсус, если вам известен список валидаторов, размещающих депозит на текущий момент времени. Если клиент не знает текущий список валидаторов с депозитом, он должен проверить список внесетевыми (относительно Каспер) средствами. Ограничение, накладываемое на то, как именно должен проверяться консенсус, решает проблему «атаки издалека», путем наложения обязательного требования сравнения/проверки консенсуса относительно имеющейся текущей информации.

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

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

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

Азартные игры на консенсусе

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

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

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

«По-блочный» консенсус (порядок включения транзакций в блок)

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

  • если когда-либо размещаются ставки с суммарной вероятностью выше 100% единовременно для определенной высоты
  • или, если в аналогичной ситуации суммарная вероятность ниже 0%
  • или, если ставки на неверный блок выше 0%

то Каспер удерживает неустойку с гарантийных депозитов валидаторов, участвовавших в ставках.

Устойчивость к цензуре

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

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

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

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

Что же такое Каспер в неэкономических терминах?

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

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

Заключение

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

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

По материалам: Digitalmoneytimes, Etherium Blog

Полный перевод статьи о Casper в блоге Влада Замфира: здесь

Подписывайтесь на новые видео нашего канала!
Tip



Categories: Альткойны, Безопасность, Разработчикам, Технологии, Эфир

Tags: , ,

22 replies

  1. Дадададада. Все плохо 😉

    Помницца, в 14 году, когда Бутерин только заявил концепт, тоже было много воплей, что он “щас деньги соберет и хомяков побреет”.

    Смотрите на него. На то, как он себя ведет. Чего хочет сделать. Что уже получилось и что планирует. Прелесть Виталика (да-да, в данном случае инвестирование возможно не в какую-то там монету, которую неизвестно кто сделал и анонимно же пиарит, а в конкретную личность, его мысли, идеи и их реализацию) в том, что он совершенно прозрачен. Хотя и выглядит вечно как ушлепок, но имхо это только добавляет ему шарма на фоне унылых “серьезных людей” 🙂

    Преследует ли он цель собрать бабла, или же изменить мир? Вопрос риторический.

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

    • Что то подобное хотели придумать в 21, но пока не могут выпустит дешевый чип который позволили бы сделать узел из практического любого устройства

  3. Как расходуются конфискованные Каспером депозиты?

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

    А если каспера глюканет? Сколько людей лишаться депозитов в один момент

    • Об этом история умалчивает.

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

      • Так это же занятность еще, по крайней мере, на несколько лет. Искать доказательство подтверждения доказательства работы.

        • Впервые Бутерин упомянул про приведение еще летом. Как видим на текущий момент пока ничего не готово. Вполне возсожно что до конца этого года Каспер так и не будет введен

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

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

        • Желающих майнить биткойны в 2009-2010 тоже было очень мало.

          • Одно дело майнить какую-то хрень (чем был и был биток в 2009-2010) “just for fun” на все равно простаивающих мощностях,
            другое дело “рисковать собственными средствами ради безопасности сети”.
            Почувствуйте разницу.

    • Делать доступными их для дальнейшего майнинга/минтинга.

      А глюкануть может что угодно и в любой момент. Полную гарантию может дать только страховой полис. Живут ли в постоянном страхе люди на кардиостимуляторах?

    • А если Биткойн глюканет?

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

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

        Деньги вещь консервативная, а БОЛЬШИЕ деньги вещь КРАЙНЕ консервативная,
        они всегда выберут то что попроще, понадежнее и проверенное временем.

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

  6. “фаза исследования и разработки может занять непредсказуемо долгое время” – и закончится чем-то типа “К сожалению, решение проблемы с этой точки зрения невозможно…” )))

    • Зачем? они просто перейдут к созданию еще более совершенной монеты, а этот эфир сольют хомякам 🙂

      • Зачем? Если тем самым они подорвут доверие тех, кто однажды помог им стартовать? В новом мире главную роль играет репутация. Кто гонится за деньгами в ущерб репутации – не имеет ни того, ни другого. Возможность сбежать с деньгами уже была и осталась нереализованной. Этим людям надо нечто иное, чем тупо деньги.

Trackbacks

  1. В чём проблема «Proof of Stake»? – Bit•Новости

Поделитесь своими мыслями

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s