Путь Ouroboros к децентрализации

Перевод статьи The Ouroboros path to decentralization - IOHK Blog

Протокол, который питает Cardano, и его философия дизайна

23 июня 2020 г. проф. Aggelos Kiayias

image

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

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

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

Как можно спроектировать надежную децентрализованную систему? Мир - это сложное место, и децентрализация не является характеристикой, которую можно жестко закодировать или продемонстрировать с помощью тестирования – потенциальные конфигурации, которые могут возникнуть, бесконечны. Чтобы противостоять этому, необходимо разработать модели, которые систематически охватывали бы все различные угрозы, с которыми может столкнуться система, и строго демонстрировали бы, что два основных свойства - постоянство и живучесть - соблюдаются.

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

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

  • Он использует делегирование (ставку) в качестве основного ресурса для определения рычагов влияния участников в системе. Ни один физический ресурс не тратится впустую в процессе ведения бухгалтерского регистра, который, как показано, является надежным, несмотря на “беззатратные симуляции” и атаки “ничто не поставлено на карту”, которые ранее считались фундаментальными барьерами для ведения бухгалтерских книг на основе ставок. Это делает Ouroboros определенно более привлекательным, чем протоколы proof-of-work (доказательство работы), которые, в свою очередь, требуют огромных затрат энергии для поддержания консенсуса.
  • Доказано, что он устойчив, даже если сколь угодно большие подмножества участников, с точки зрения доли, воздерживаются от поддержки бухгалтерского регистра. Эта гарантия динамической доступности обеспечивает живучесть даже при произвольном и непредсказуемом уровне вовлеченности. В то же время из тех участников, которые активны, едва ли больше половины должны следовать протоколу – остальные могут произвольно отклоняться; на самом деле даже временные всплески выше уровня в 50% могут быть допустимы. Таким образом, Ouroboros является явно более устойчивым и адаптивным, чем классические византийские протоколы отказоустойчивости (а также все их современные адаптации), которые должны предсказывать с относительной точностью уровень ожидаемого участия и могут перестать работать, когда предсказание ложно.
  • Процесс присоединения и участия в выполнении протокола не вызывает доверия в том смысле, что он не требует наличия какого-либо специального общего ресурса, такого как недавняя контрольная точка или общие часы. Участие в протоколе требует только публичного блока генезиса цепочки и доступа к сети. Это делает Ouroboros свободным от предположений о доверии или его отсутствии, распространенных в других консенсусных протоколах, чья безопасность рушится, когда надежные общие ресурсы подрываются или недоступны.
  • Ouroboros включает механизм распределения вознаграждений для стимулирования участников, который приводит к организации операционных узлов, известных как стейк пулы, которые могут предложить хороший уровень обслуживания независимо от того, как доля распределяется среди пользователей. Таким образом, все держатели токенов вносят свой вклад в функционирование системы – обеспечивая надежность и демократическое представительство – в то время как затраты на ведение бухгалтерского регистра эффективно распределяются между пользователями. В то же время этот механизм сопровождается контрмерами, которые лишают стимулов централизацию. Это делает Ouroboros принципиально более инклюзивным и децентрализованным по сравнению с другими протоколами, которые либо заканчиваются всего лишь несколькими участниками, ответственными за ведение бухгалтерского регистра, либо не предоставляют никаких стимулов держателям токенов для продления их участия и улучшения эффективности их деятельности в сети.

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

Создание инклюзивной, справедливой и устойчивой инфраструктуры для финансовых и социальных приложений в глобальном масштабе является сегодня главной задачей информационных технологий. Ouroboros вносит свой вклад не только в качестве протокола с уникальными характеристиками, но и в представлении методологии проектирования, которая подчеркивает первые принципы, тщательное моделирование и строгий анализ. Его модульная и адаптируемая архитектура также поддается постоянному совершенствованию, адаптации и обогащению дополнительными элементами (такими как распараллеливание для улучшения масштабируемости или zero-knowledge proofs (доказательства с нулевым разглашением) для улучшения конфиденциальности, чтобы назвать два примера), что является подходящей характеристикой для удовлетворения постоянно развивающихся потребностей и сложностей реального мира.

Рекомендуем к прочтению

Если вы хотите более глубоко изучить протокол Ouroboros, начиная с его создания и заканчивая последними новыми функциями, перейдите по следующим ссылкам:

  1. Ouroboros (Classic): первый доказуемо безопасный блокчейн-протокол proof-of-stake.
  2. Ouroboros Praos: устранение необходимости в жесткой круглой структуре и повышение устойчивости к “адаптивным” атакам.
  3. Ouroboros Genesis: как избежать необходимости в недавней контрольной точке и доказать, что протокол безопасен при динамической доступности для доверенного присоединения и участия.
  4. Ouroboros Chronos: устранение необходимости в общих часах.
  5. Схемы распределения вознаграждений для стейк пулов.
  6. Управление счетами и максимальное участие в стейк пулах.
  7. Оптимизация пропускной способности транзакций при использовании протоколов proof-of-stake.
  8. Быстрый расчет с использованием комбинаторов регистра.
  9. Ouroboros Crypsinous: защищающий конфиденциальность протокол proof-of-stake.
  10. Kachina: единая модель безопасности для частных смарт-контрактов.
  11. Hydra: внесетевая (автономная) архитектура масштабируемости для обеспечения высокой пропускной способности транзакций с низкой задержкой и минимальным объемом памяти на узел.

// Для получения дополнительных переведенных на русский язык статей о Cardano посетите русскоязычный раздел на форуме Cardano. Видеоролики о Cardano на русском можно найти на YouTube канале нашего замечательного амбасадора Тимура Сахабутдинова. Хотите поговорить или задать вопрос о Cardano по-русски? Приглашаем вас в наше уютное сообщество в Telegram. Оставайтесь на связи, все будет хорошо!