Перевод статьи The Cardano Protocol is well prepared for the Future | Cardanians
Обычно мы точно знаем, что произошло в прошлом. Мы можем только предполагать, что произойдет в будущем, и все же мы можем быть уверены, что будем удивлены развитием событий. Децентрализованный протокол должен быть разработан таким образом, чтобы он мог реагировать на все ожидаемые или даже неожиданные события в будущем.
Будущее непредсказуемо.
Безопасность и децентрализация не являются статичными свойствами
Безопасность и децентрализация - самые важные свойства каждой криптовалюты. Эти свойства существуют в цифровом мире. Точнее, разработчики протокола пытаются спроектировать протокол, а затем внедряют его свойства в исходный код. Частью разработки и внедрения является стимулирующая модель и собственная эмиссия монет. Другими словами, протокол - это набор правил и алгоритмов, которые программисты реализовали на основе предварительного дизайна, надеясь, что протокол выдержит все атаки и будет устойчивым в долгосрочной перспективе. Децентрализованный протокол опирается на физический мир. Есть много переменных, которые нельзя предположить и учесть заранее. Люди должны быть готовы поддерживать протокол и стараться максимизировать свою прибыль. Они будут изучать каждую деталь протокола и пытаться придумать усовершенствование, которое дало бы им преимущество перед другими. Децентрализация и безопасность - это не те свойства, качество которых со временем останется неизменным. А как раз наоборот. Оба свойства будут динамично меняться с течением времени, и ключом к успеху является поддержание качества свойств на высоком уровне.
Сетевой протокол - это не только безопасность и децентрализация. Этих двух свойств недостаточно для привлечения людей и удовлетворения их потребностей. Есть и другие важные свойства, такие как масштабируемость, расчетное время, транзакционные издержки и многие другие. Команда должна рассмотреть все свойства и разработать протокол таким образом, чтобы все эти свойства были сбалансированы. Нет смысла создавать сверхзащищенный протокол, который будет способен обработать всего несколько транзакций в секунду, и при этом стоимость его транзакций будет достигать нескольких долларов. Безопасность является обязательным свойством, но реальное удобство использования страдает в этом случае. Приведу еще один пример: нет смысла создавать сверхбыстрый протокол, который бы обрабатывал сотни транзакций в секунду бесплатно, если бы было только несколько узлов, ответственных за проверку блоков. В этом случае удобство использования на высоком уровне, а децентрализация на низком. Не существует никакого руководства о том, как создать лучший протокол в мире и каким образом должны быть сбалансированы его свойства. Протокол должен быть разработан с определенной целью и должен соответствовать ей. Таким образом, нам нужны разные свойства для разных целей. Нет смысла создавать суперуниверсальный протокол для всего. В IT сфере часто бывает так, что если одно свойство является очень предпочтительным, то качество других свойств может быть ниже, иногда даже страдает. Кроме того, требования к протоколу могут меняться с течением времени. Отлично, когда команда добивается высокого качества некоторых свойств в начале, но может оказаться так, что пользователям понадобятся некоторые другие свойства в будущем. Более того, могут появиться конкуренты, и люди могут начать использовать другие протоколы. Например, если масштабируемость необходима для запуска и удобства использования протокола, а безопасность является дополнительным качеством, то имеет смысл рассмотреть вопрос о снижении безопасности, если это может помочь улучшению масштабируемости.
Должна ли команда предпочесть безопасность децентрализации или наоборот? Где находятся границы безопасности и децентрализации и как измерить их качество? Нет четких и простых ответов. Тем не менее, оба свойства должны иметь высокое качество, и команда обязательно должна рассмотреть возможность изменения протокола, при котором одно свойство претерпит ухудшение из-за экстремально высокого качества другого. Например, если протокол чрезвычайно безопасен, но децентрализация на плохом уровне, то команда должна попытаться улучшить децентрализацию, даже если это будет означать, что безопасность будет снижена. Однако, как мы уже говорили, это может быть не во всех случаях. На нынешнем этапе принятия криптовалют мы точно не знаем, чего хотят люди, какие свойства они предпочитают и что может увеличить их принятие. Люди обычно заботятся о свойствах, которые непосредственно влияют на пользовательский опыт. Они видят скорость транзакций, расчетное время и их стоимость. Безопасность и децентрализация рассматриваются как неявные свойства, и большинство пользователей не слишком задумываются о них. Чтобы увеличить принятие криптовалют, необходимо также улучшить свойства, связанные с пользовательским опытом. Нынешние финансовые услуги не являются ни децентрализованными, ни безопасными, но они очень удобны для пользователей. Наверняка, наивно полагать, что мы можем построить медленный, дорогой и не масштабируемый протокол, и люди начнут использовать его вместо текущих сервисов только из-за свойств, которые они все равно плохо понимают. Это может быть удобно только для меньшинств, и это то, что мы можем наблюдать сегодня в криптопространстве. В течении более чем 10 лет существования криптовалюты мы не достигли даже 1% принятия. Это в действительности означает, что удобство использования недостаточно привлекательно для людей, и криптовалюты пока не могут конкурировать с традиционной финансовой системой.
Создание протоколов, которые будут иметь высокий уровень удобства использования и, в то же время, поддерживать безопасность и децентрализацию на высоком уровне - это очень сложная задача для команд. Существует так много внешних факторов, и окружающая среда настолько динамична и нестабильна, что качество безопасности и децентрализации будет эволюционировать и меняться с течением времени. Члены команды вместе с пользователями должны будут охранять безопасность и децентрализацию. Команда должна будет рассмотреть вопрос о соответствующем изменении протокола, когда станет очевидным факт того, что некоторые ключевые свойства ухудшились. Управление децентрализованными протоколами все еще находится в зачаточном состоянии, и мы не знаем, как с этим бороться. Команды обычно не знают, как общаться с пользователями и как обращаться с обратной связью. Как донести мнение команд до пользователей также не очень ясно. Например, пользователи могут захотеть улучшить децентрализацию и масштабируемость. С кем следует связаться, где и кем обсуждается данная тема? Если команда решает не изменять протокол по желанию пользователей, поскольку они знают, что это может угрожать безопасности, то как команда должна сообщить об этом пользователям? И наконец, кто даст мандат команде? Есть много вопросов без ответов, и эта тема более сложная, чем можно было бы подумать.
Будущее непредсказуемо но протокол можно подготовить к изменениям
Мы верим, что теперь вы понимаете, что условия в физическом мире развиваются и меняются каждый день. Может случиться так, что произойдет что-то неожиданное, и протокол не будет иметь заранее запрограммированной реакции на это. В результате безопасность или децентрализация, или даже оба эти свойства могут заметно ухудшиться. Если это произойдет, то есть несколько вариантов дальнейшей реакции. Изменения в физическом мире могут быть настолько фундаментальными или значительными, что необходимо перестроить протокол и воссоздать некоторые части консенсуса, изменить модель стимулирования или придумать какое-то значительное нововведение. Это может занять много времени и сил. В сообществе могут возникнуть споры по этому поводу, к тому же, изменение может быть дорогостоящим. В любом случае, игнорирование неудовлетворительного состояния - это не очень хороший подход, так как люди могут перестать использовать протокол, вдобавок есть много конкурентов, которые ожидают своего шанса. Команда не должна колебаться. Она должен отреагировать соответствующим образом и устранить проблему.
Протокол Cardano имеет то преимущество, что другие протоколы, как правило, не имеют. По крайней мере, насколько нам известно. На проектирование и разработку протокола ушло много времени, но благодаря умному подходу команды IOHK свойства протокола можно настроить еще до запуска Shelley в основной сети. В протоколе есть 20 параметров, которые можно использовать для настройки качества свойств. Если в будущем потребуется изменить качество свойств, то перенастроить параметры в рамках новой версии клиента будет довольно просто. Это довольно сложная задача - решить, как настроить протокол, а ожидается, что изменения будут неизбежны Есть много веских причин для того, чтобы, при необходимости, использовать возможность изменять качества свойств с течением времени.
Большинство параметров носят скорее технический характер и могут влиять друг на друга. Параметры влияют на безопасность, децентрализацию, производительность, устойчивость, стабильность, справедливость вознаграждения и многие другие свойства. Как мы уже объясняли выше, трудно предсказать будущее и подготовить протокол для всех возможных вариантов. Протокол опирается на людей, главным образом, на поведение операторов пулов и держателей токенов. В начале можно ожидать, что будет меньшее количество операторов пулов и держателей токенов. Сразу после запуска протокола безопасность будет являться наиболее важным свойством, которое следует предпочесть, а децентрализация будет ниже. Cardano - это децентрализованная сеть, а децентрализация - это основное свойство, о котором команда и люди заботятся больше всего. Нельзя сказать, что безопасность менее важна. Оба свойства должны иметь высокое качество.
Возможность настройки протокола позволяет команде отдавать немного больше предпочтения безопасности, а с течением времени децентрализация может получить большую поддержку. В этом есть смысл. Люди могут быть более заинтересованы в создании пула, токены ADA будут более широко распространены, и будет больше держателей токенов. Имеет смысл поддерживать существование большего числа пулов в экосистеме. Усиление децентрализации также повышает уровень безопасности. Например, протокол может быть сконфигурирован таким образом, что существование только 20 пулов будет более предпочтительным для него, и их операторы должны будут иметь большой залог. В этом случае, вероятно, только крупные игроки (киты) будут иметь возможность управлять пулами, поскольку они могут позволить себе купить большее количество токенов ADA. Протокол будет очень безопасным, так как киты будут действовать в своих интересах, чтобы сохранить ценность токенов ADA. Уровень их интересов в игре будет довольно большим. В этом случае они будут обладать большой властью принятия решений, и протокол не будет рассматриваться как децентрализованный. Протокол Cardano позволяет изменять правила таким образом, что децентрализация будет увеличена после настройки определенных параметров. Таким образом, команда способна поддерживать протокол и балансировать качество свойств так, как это будет необходимо в будущем.
Естественно, не стоит слишком часто менять эти параметры, так как это негативно скажется на стабильности сети. Периодичность должна составлять скорее годы, чем месяцы, и она должна быть ответом на будущие потребности и требования пользователей. Разные игроки в экосистеме предпочтут разные настройки. Например, операторы пулов могли бы быть получать больше прибыли, если бы их было всего несколько, но это негативно скажется на уровне децентрализации. Держатели токенов и пользователи всегда предпочтут более высокую децентрализацию. Операторы пулов должны быть экономически мотивированы действовать честно, поэтому залог не должен быть слишком низким. Лучше иметь сто пулов с разумным залогом, чем тысячи пулов с очень низким залогом. Не забывайте и о других свойствах. Например, первый вариант определенно лучше с точки зрения производительности, а также безопасности. Но разве это справедливо не позволить любому желающему создать свой собственный пул? Насколько большой залог на самом деле справедлив? Никто не знает единого правильного ответа, но, к счастью, мы знаем свойства, которые нам нужно поддерживать в равновесии. Безопасность, справедливость, производительность, стабильность и другие свойства должны всегда приниматься во внимание при рассмотрении децентрализации.
Способность быстро реагировать на большинство возможностей - это сильное преимущество, которого не хватает во многих других протоколах. Обычно довольно просто настроить стимулы и экономическую модель. Но большой трудностью может стать усиление децентрализации или снижение уровня безопасности в целях поддержки децентрализации. Правила многих протоколов не позволяют быстро и легко настраивать свойства на уровне исходного кода. Преимуществом Ouroboros PoS является владение денежной системой, которая, в то же время, является ценным ресурсом, используемым для достижения сетевого консенсуса. Количество токенов ADA ограничено, и таким образом система имеет фиксированные границы. По сравнению с PoW-сетями, в PoS-сетях проще настроить безопасность и децентрализацию. В системе PoW нет верхнего предела потребления электроэнергии, поэтому безопасность сети может расти даже в том случае, когда децентрализация начинает страдать. Было бы разумно снизить уровень безопасности, если бы это помогло увеличить децентрализацию и сбалансировать свойства. Крайности никогда не бывают хороши. Если есть только 10 больших пулов, а несколько маленьких пулов испытывают трудности и борются за конкурентоспособность, то это значит, что пришло время настроить протокол и увеличить децентрализацию.
Следует подчеркнуть, что настройка протокола не является централизованным процессом, когда команда удаленно настраивает клиентов на узлах операторов. Операторы должны согласиться с изменениями и установить новую версию клиента. Команда, несомненно, является наиболее компетентным субъектом для настройки протокола, но это не должна быть команда, которая единолично принимает решения об изменениях. Заметьте, что мы вернулись к теме децентрализованного управления протоколом. Децентрализованное управление протоколами похоже на построение демократии. Большинство должно демократически решать вопрос о свойствах протокола, но не все люди компетентны принимать это решение. Децентрализация требует системы голосования и, возможно, делегатов, которые будут иметь мандат на принятие решений по сложным темам.
Как можно настроить протокол Cardano
Описание всех параметров, которые могут быть использованы для настройки протокола Ouroboros, выходит за рамки данной статьи. Тем не менее, мы опишем самый важный из них, который может быть легко понят всеми.
Параметр k определяет желаемое количество стейк пулов в сети Cardano. Он не устанавливает максимальное количество пулов, которые могут быть созданы. Сеть всегда будет открыта, и каждый может свободно присоединиться к ней или покинуть ее. Параметр k устанавливает экономические стимулы таким образом, что протокол поощряет существование заданного числа пулов одинакового размера. Размер пула определяется количеством токенов ADA, которые формируют ставку пула. Существует определенная точка размера пула, которая называется насыщением. Как только пул насыщается, нет смысла становиться больше, так как это не увеличит вознаграждение, предусмотренное протоколом. Когда пул достигает точки насыщения, то оператор пула перестает быть мотивирован в увеличении залога, а делегаты мотивированы делегировать токены ненасыщенным пулам. Проектная мотивация, лежащая в основе параметра k, заключается в оптимальном распределении вознаграждений для всех, когда ставка равномерно распределяется среди желаемого количества насыщенных пулов. Другими словами, экономические стимулы приводят к созданию k пулов, поэтому можно сказать, что этот параметр влияет на уровень децентрализации.
Параметр k будет первоначально установлен на уровне 150, а на следующих этапах он будет постепенно увеличиваться до 250. Ожидается, что будет 150 пулов с одинаковым размером, и если это так, то каждый пул будет иметь одинаковые шансы стать лидером слотов и производить блоки.
Обратите внимание, что поддерживать более высокий уровень децентрализации очень легко, просто путем увеличения параметра k. С другой стороны, операторы пулов, а также делегаты получат более низкие вознаграждения. Можно предположить, что параметр k может достичь уровня 1000 в течение нескольких месяцев или лет. Спрос на создание пула высок. Можно задать параметр k таким образом, чтобы осуществлялось поддержание созданных тысяч пулов.
Ставка пула состоит из токенов ADA, которые были поставлены оператором пула и всеми держателями токенов, делегировавшими свои ADA в пул. Pledge (залог) - это термин, обозначающий количество токенов ADA, которые закладывает оператор пула. Еще один параметр, который мы хотели бы описать в этой статье, - это a параметр. Параметр a - это фактор влияния залога, который непосредственно влияет на вознаграждение для пула. Протокол не подсчитывает вслепую вознаграждения для пулов на основании только лишь ставки пула, но он может учитывать залог и фактор влияния залога. Таким образом, чем выше параметр a, тем большее влияние оказывает размер залога на вознаграждение. Чем выше фактор влияния залога, тем больше протокол защищен от Sybil attack. Фактор влияния залога имеет важное значение для обеспечения безопасности протокола. В нем не определен какой-либо залоговый минимум, и операторы пулов могут заложить любое количество токенов ADA, которое они хотят. Однако, ситуация, при которой имеются тысячи пулов, где владельцы не имеют вообще или имеют малый интерес в игре, нежелательна. С другой стороны, большой залог выгоден для крупных игроков, которые могут позволить себе заложить большое количество токенов ADA, и является дискриминационным для людей, которые не могут внести в качестве залога большое количество токенов ADA. Чтобы сохранить равные возможности для всех, влияние залога должно быть достаточно низким или вообще отсутствовать. Существует столкновение интересов между безопасностью и справедливостью. Желательно отдавать большее предпочтение безопасности, чем справедливости, поэтому протокол вознаграждает больше те пулы, залог которых выше. Таким образом, пул с более высоким залогом всегда будет зарабатывать больше, чем пулы конкурентов с аналогичной ставкой, но с более низким залогом. На разницу влияет параметр a. Операторы пулов мотивированы использовать свои токены ADA в качестве залога для своих личных пулов. Операторы с более высоким залогом могут устанавливать более высокие эксплуатационные расходы, и они будут по-прежнему конкурентоспособны по сравнению с другими операторами с более низкими эксплуатационными расходами и более низким уровнем залога. Другими словами, более высокий залог может обеспечить более высокую прибыль.
Обратите внимание, что если параметр a будет очень низким, то это не будет иметь значения, состоит ли ставка пула только из делегированных токенов или только из залога. Вознаграждение будет почти таким же. Могут быть два пула с одинаковой ставкой, но разница будет в интересах участников. Если бы существовал пул без залога, то у оператора пула не было бы интереса в игре и он мог бы атаковать протокол, не рискуя своим собственным богатством. С точки зрения децентрализации наилучшим подходом является экономическая мотивация создания таких пулов, где операторы должны заложить часть ставки, а делегаты выбирают пулы с более высоким залогом, поскольку вознаграждение будет выше. Таким образом, как операторы пула, так и делегаты активно участвуют в обеспечении безопасности и децентрализации протокола за счет собственных средств.
Команда IOHK провела множество симуляций и пришла к выводу, что параметр a, который может быть установлен от 0 до бесконечности, будет иметь начальное значение, равное 0,3.
Для большей ясности напомним, что протокол вознаграждает пулы за создание блоков. Делегаты должны быть заинтересованы в производительности пулов. Пул получит определенное количество возможностей стать лидером слота и получить право производить блоки. Количество возможностей зависит от размера ставки. Если пул преуспеет в 100% случаев, то он получит максимальное вознаграждение за данную эпоху. Пул может иметь большой залог и быть близок к точке насыщения, но он не получает никаких вознаграждений, если ему не удается произвести блоки.
Как можно настроить вознаграждение?
Протокол Cardano вознаграждает операторов пулов и делегатов в конце каждой эпохи. Протокол имеет два источника дохода ADA. Первый источник дохода - это сбор всех комиссий в данную эпоху. В эпоху можно производить большое количество блоков. В каждом блоке есть много транзакций, за каждую из которых будет уплачена комиссия. Комиссии будут взиматься также за развертывание смарт-контрактов. Второй источник дохода - сетевая субсидия (экспансия токенов). Существует специальный бюджет (резерв), который будет постепенно расходоваться на поддержку сети в первые годы ее существования. Ожидается, что со временем количество сделок будет расти. Бюджет необходим для того, чтобы экономически мотивировать операторов пулов на самом старте, когда не будет еще так много транзакций.
Токены ADA из обоих источников помещаются в виртуальный банк. Количество токенов ADA из первого источника доходов определяется количеством обработанных транзакций и развернутых смарт-контрактов. Бюджет экспансии токенов расходуется постепенно, а скорость потребления определяется параметром ρ. Параметр ρ - это фиксированный процент, определяющий, сколько токенов ADA берется из бюджета в каждую эпоху. Таким образом, количество токенов ADA в бюджете будет постепенно уменьшаться. Начальное значение параметра ρ будет изначально установлено на уровне 0,22%. Ожидается, что на то, чтобы поглотить половину бюджета, уйдет от 4 до 5 лет. Таким образом, его можно отчасти рассматривать как своеобразный процесс халвинга у биткоина. Разница заключается в том, что в случае протокола Cardano это постепенный и плавный процесс, который предсказуем. Резкого снижения вознаграждения каждые 4 года не наблюдается. Бюджет постепенно истощается с той же скоростью. Заметьте, что бюджет никогда не будет полностью исчерпан в обозримом будущем. Он будет уменьшаться вдвое каждые 4-5 лет, если значение параметра будет оставаться неизменным.
Как только оба источника дохода помещаются в виртуальный банк в конце эпохи, протокол делает две вещи. Во-первых, часть токенов ADA в виртуальном банке отправляется в казну проекта. Эта часть определяется параметром τ и изначально будет установлена на уровне 5%. При такой настройке через 5 лет в резерве будет не менее 380 000 000 токенов ADA. Во-вторых, остальная часть виртуального банка, которая составляет 95%, используется протоколом для вознаграждения всех операторов пулов и делегатов.
Поиск правильного значения параметра ρ - это снова компромисс. Более высокий процент будет означать, что держатели токенов получат более высокие вознаграждения, а казна проекта будет заполнена быстрее. С другой стороны, бюджет будет истощаться быстрее. Разумно строить прогнозы на долгосрочную перспективу и иметь достаточное количество токенов ADA в бюджете через 10 лет. Но никто не может предсказать будущее и знать наверняка, сколько транзакций будет обработано через 2, 3 или 5 лет с момента запуска основной сети. Существует возможность увеличить параметр ρ, если это будет необходимо для большей мотивации держателей токенов, или уменьшить его в том случае, если через 5 лет будет совершаться много сделок каждый день.
Резюме
Многие протоколы были разработаны в спешке, и теперь может быть трудно изменить некоторые его части. Эту ситуацию можно рассматривать как технологический долг. В случае децентрализованных проектов изменение всегда является сложной задачей. В некоторых случаях это может быть даже невозможно. Протокол Cardano разрабатывался более 5 лет и хорошо подготовлен к будущему. Вполне вероятно, что в будущем потребуется что-то изменить по многим непредсказуемым причинам. Cardano готов к этому, и команде не нужно будет тратить много времени на решение проблем с безопасностью или децентрализацией. Таким образом, он может сосредоточиться на дальнейшем развитии и создании новых функций, повышающих удобство использования. Безопасность и децентрализация всегда будут главными составляющими, и команде придется потратить на это некоторое время. Тем не менее, можно быстро отреагировать на какое-то неожиданное событие и выиграть некоторое время для рассмотрения более сложного исправления. Команда IOHK проделала большую работу, и мы считаем, что протокол Cardano может служить нам десятилетиями без существенных проблем с безопасностью или децентрализацией.
Ссылки:
Читать другие статьи, связанные с данной темой, в блоге IOHK:
Читать замечательную статью и расчеты Umed Saidov (Умеда Саидова):
Отличное видео на эту тему, сделанное подкастом сообщества Cardano:
Отличное и очень подробное объяснение Sebastien Guillemot (Emurgo):
// Для получения дополнительных переведенных на русский язык статей о Cardano посетите русскоязычный раздел на форуме Cardano. Видеоролики о Cardano на русском можно найти на YouTube канале нашего замечательного амбасадора Тимура Сахабутдинова. Хотите поговорить или задать вопрос о Cardano по-русски? Приглашаем вас в наше уютное сообщество в Telegram. Оставайтесь на связи, все будет хорошо!