Можно сказать, что поиск альтернативы концепции «Proof of Work» превратился в криптовалютной среде в аналог поисков Святого Грааля. Мы уже не раз публиковали материалы на эту тему. Проект Эфириум в последнюю пару лет служит интересным источником технологических инноваций. Возможно, им есть что сказать и по этому поводу? В стратегии развития этого проекта особую роль играет грядущий переход на вариант системы Proof of Stake под кодовым названием Casper. Пришло время разобраться, что это за штука.
Casper — ориентируемся на наихудший возможный экономический анализ
Существуют различные факторы, которые необходимо принимать во внимание, когда мы говорим о концепции цифровой валюты, работающей на основе блокчейна, у которого есть потенциал широкого применения. В случае с Эфириумом, наихудший из возможных экономический анализ является единственно верным способом проанализировать консенсус-протоколы, предназначенные для общественного консенсуса.
Подобно любой другой цифровой валюте на основе блокчейна, всегда существует возможность атаки на сеть. Для Эфириума в его текущей реализации, атака может происходить разнообразными способами, включая сговор узлов о злонамеренном поведении. Каждый злоумышленник имеет определенный «бюджет атаки». Задачей разработчиков является сделать трату бюджета на атаку настолько невыгодной, насколько это только возможно.
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 системах процесс создания новых блоков обычно называют минтингом (“чеканка” блоков).
Логическое обоснование состоятельности алгоритма подтверждения доли заключается в следующем: пользователи с наибольшими долями в системе более всех заинтересованы в поддержании безопасности сети. Поскольку они больше всего пострадают в случае, если репутация и стоимость криптовалюты упадет в результате атак. Чтобы провести успешную атаку, злоумышленник должен приобрести большую часть валюты, а это будет непомерно дорого, если система будет достаточно популярной.
И хотя «подтверждение доли» является экономически эффективным способом защиты безопасности сети, есть серьезные вопросы, которые требуют решения. Прежде всего, существет проблема «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 — следующий релиз Эфириума. В настоящий момент архитектор протокола Влад Замфир (Vlad Zamfir) приходит к консенсусу относительно деталей Каспер с Виталиком Бутериным. В ближайших планах симуляция протокола, написание неформальной и формальной спецификации, формальная проверка работоспособности, и затем имплементация Каспера.
Хотя, в своей статье Влад призывает к терпению, и отмечает, что фаза исследования и разработки может занять непредсказуемо долгое время.
По материалам: Digitalmoneytimes, Etherium Blog
Полный перевод статьи о Casper в блоге Влада Замфира: здесь
Подписывайтесь на новые видео нашего канала!
Источник: bitnovosti.com
Новое сообщение Есть ли альтернатива «доказательству работы»? Изучаем Casper появилось на КриптоВики.
КриптоВики
Автор: admin