Введение
В рамках подготовки образовательного курса “Разработчик смарт-контрактов” (подробности в конце этой статьи) мы подготавливаем серию статей и переводы лучших статей про блокчейн платформы третьего поколения, разработку под которые мы и преподаём.
Данная статья поможет всем интересующимся лучше узнать про технические особенности платформ: Cosmos, Polkadot, Avalanche.
Поколения блокчейн платформ
Блокчейн платформы делятся на несколько поколений, каждой поколение имеет свои особенности и решает определенный круг задач.
Первое поколение. Это Bitcoin, Litecoin, ZCash и другие, эти платформы ориентированы на создание децентрализованных денег. И каждая платформа решает эту задачу как-то по своему, например ZCash с сильными свойствами конфиденциальности. Но первое поколение показалось сообществу малофункциональным. Поэтому появилось второе поколение.
Второе поколение. Это Ethereum, Tezos, EOS и другие, которые ориентированы на программируемую логику для создания и управления своими децентрализованными данными и деньгами. Каждая платформа делает это со своими какими-то особенностями. Но с ростом популярности блокчейн платформ второго поколения обострились унаследованные от первого поколения проблемы: производительность, удобство, энергоэффективность, стоимость. Поэтому сообщество разрабатывает блокчейн платформы третьего поколения, которые направлены на решение этих задач.
Стоит отдельно отметить, что сейчас разрабатывается новая версия Ethereum (которую тоже можно отнести к платформам третьего поколения), а также решения второго уровня ( далее по тексту будет обозначаться как Уровень_2), которые направлены на устранение существующих проблем с производительностью платформ второго поколения.
Сегодня мы рассмотрим третье поколение блокчейн платформ - Cosmos, Polkadot и Avalanche, у которых довольно необычные инфраструктуры. Эти платформы нацелены на горизонтальное масштабирование с асинхронной гетерогенной сетевой моделью, где предметноспецифичные блокчейны сосуществуют в рамках общей сетевой модели и при необходимости взаимодействуют друг с другом. У каждой платформы есть свои собственные подходы и компромиссы по достижению межцепочной экономической безопасности. Они нацелены на создание блокчейнового междусетья, которое способно вместить не сотни тысяч (как сегодня), а миллионы активных пользователей в день и полноценно реализовать концептуальное видение Web3, принадлежащего и контролируемого пользователями.
Цель этой статьи - помочь разработчикам, исследователям, предпринимателям и всем, кто стремится к децентрализованному будущему, понять эту смену парадигмы в блокчейн сетях.
Трудности и ограничения
Сначала мы рассмотрим трудности и ограничения, которые почувствовала индустрия с ростом популярности криптоэкономики. А затем используем их для сравнения блокчейн-платформ третьего поколения.
Энергоэффективность: для нормального функционирования открытой децентрализованной сети компьютеров ее независимые участники должны прийти к согласию (согласие - консенсус) относительно общего состояния. При этом сеть должна оставаться отказоустойчивой и сохранять согласованное состояние, несмотря на возможную противоречивую информацию или целенаправленные действия злоумышленников (Византийская отказоустойчивость). Для противодействия Атаки Сивиллы (случай когда зложелатель создаёт множество сущностей и окружает жертву) в блокчейн сетях применяется подход известный как Доказательство-Работы (proof-of-work, который был впервые представлен Синтией Дворк в 1992 году для борьбы с нежелательной почтой). Этот подход требует от участников использования огромных вычислительных мощностей, которые плохо сказываются на мировой экологии. Поэтому блокчейны на основе такого подхода, для обеспечения безопасности своих сетей требуют значительных экономических затрат. Поэтому новые блокчейн-платформы используют альтернативный механизм Доказательство-Доли (proof-of-stake) для допуска Подтверждающих (на сленге - валидаторы, на английском - validators), которые замораживают часть своих токенов, чтобы стать участником консенсуса. Этот вклад должен быть достаточно большим, чтобы злонамеренные действия были в достаточной степени дестимулированы. На самом деле, в proof-of-stake и proof-of-work действует аналогичный эффект масштаба: стоимость работы узла подтверждающего переходит от OPEX (операционные расходы компьютерных ферм) к CAPEX (альтернативная стоимость капитала).
Задержка транзакций: Bitcoin, Ethereum и их разновидности используют консенсус Сатоши Накамото, который требует ожидания создания нескольких блоков для большей, но вероятностой невозможности отмены транзакций. В результате цепочки созданные на основе консенсуса Накамото имеют высокую доступность, но низкую скорость транзакций из-за вероятностной природы завершенности транзакций. Для достижения более быстрого завершения многие блокчейн-платформы используют консенсус Practical Byzantine Fault Tolerance (PBFT), у которого есть свои недостатки, основным из которых является количество подтверждающих - чем больше количество подтверждающих, тем медленнее работает консенсус. Тут выбор или безопасность или быстродействие.
Пропускная способность: объем вычислительной работы, который может быть выполнен в секунду в распределенной компьютерной сети, - это пропускная способность. Этот параметр определяет, насколько сеть может расти. Часто используемая метрика "транзакций в секунду" вводит в заблуждение, поскольку транзакция может относиться к простому переводу или сложному финансовому расчету; они требуют разного объема вычислительных мощностей. Реалистичная пропускная способность, как функция участников сети, - это количество вычислительной работы в секунду, с которой может справиться сеть. Для достижения общей высокой пропускной способности в проектах используется либо стратегия вертикального масштабирования, то есть требуются высокопроизводительные вычисления для узлов и оптимизация программного обеспечения узлов, либо стратегия горизонтального масштабирования, то есть параллельная обработка данных путем разделения сети на несколько частей.
Стоимость транзакции: блокчейн должен найти способ ограничить количество транзакций, иначе сеть узлов, на которых работает блокчейн, будет уязвима для атак типа "отказ в обслуживании". Чтобы обойти это ограничение, Bitcoin позволяет использовать ограничения языка сценариев, Ethereum взимает плату за транзакции на основе учета газа для выполнения смарт-контрактов. Проблема в том, что независимо от того, выполняете ли вы простой перевод или сложный расчет в рамках транзакции, все они обрабатываются в одной и той же сети. В результате, когда трафик сети увеличивается, плата за транзакции возрастает даже за простые действия, поэтому использование цепи становится эксклюзивным для тех, у кого большие кошельки. Сборы за транзакции выплачиваются майнерам в качестве стимула для приоритетного проведения транзакций. Если в Bitcoin плата за транзакции будет служить единственным стимулом после того, как эмиссия достигнет лимита в 21 миллион, то в Ethereum ее единственной целью является установление приоритета транзакций. Сжигание платы за транзакции - это механизм, набирающий обороты в новых платформах, и совсем недавно Ethereum тоже начал частично сжигать плату, чтобы по мере роста активности сети все держатели токенов получали выгоду от увеличения дефицита.
Уровень децентрализации: вопреки распространенному мнению, уровень децентрализации Bitcoin и Ethereum на самом деле низок из-за концентрации пулов майнеров (90% хэшрейта Bitcoin контролируется 11 пулами майнеров, а 90% хэшрейта Ethereum - 16 пулами майнеров). По мере увеличения стоимости майнинга при консенсусе Накамото становится сложнее успешно добывать блок, и мощность для управления сетью объединяется, тем самым концентрируясь на нескольких майнерах.
Справедливое распределение: Как блокчейн проекты распределяют доли собственности (токены) по мере роста сети с течением времени? Распределение токенов Bitcoin создало взаимосвязанную взаимозависимость между безопасностью блокчейна, экосистемой майнинга и обменным курсом. Это стало моделью для многих проектов: по мере того как майнеры присоединялись к сети, чтобы получить вознаграждение в виде токенов, сеть становилась более децентрализованной и более безопасной, что привлекало все больше людей к ее использованию. По мере роста спроса цена увеличивается, привлекая больше майнеров для обеспечения безопасности сети, замыкая круг. Однако по мере роста стоимости майнинга становится сложнее успешно добыть блок; в результате распределение токенов или мощности для управления сетью объединяется в пул, тем самым концентрируясь на нескольких агрегированных единицах для управления майнерами. Компания Ethereum придерживалась другой стратегии: она предварительно майнила токены, сняла ограничение на общее предложение, продала часть токенов ранним инвесторам и участникам публичной продажи, выделила часть своему фонду для проведения грантов и программ вознаграждения, а также начала со временем вознаграждать майнеров, подобно модели Bitcoin. Вскоре выпуск токенов Ethereum был сконцентрирован на нескольких майнинговых пулах, а крупнейшие держатели токенов стали биржами. В конечном счете, справедливое распределение со временем определяет, кто имеет власть в сети: власть производить блоки (упорядочивать, принимать или цензурировать транзакции), власть разветвлять сеть, власть принимать решения об обновлении протокола, а также власть инвестировать и участвовать в приложениях, работающих в сети.
Управление: изменения в сетевом протоколе оказывают значительное влияние на всех существующих и будущих пользователей, независимо от того, знают они об этом или нет. В Bitcoin и Ethereum предложения по улучшению (BIP, EIP) ведут к обновлению протокола и изменению параметров, которые обсуждаются, решаются, внедряются и применяются основным сообществом экспертов. Если группа майнеров заинтересована в движении в направлении, отличном от большинства, они могут разветвить протокол и основать новую сеть. Кроме того, распределением средств на исследования и разработки обычно управляет центральный фонд, в то время как появляются альтернативы, поскольку сообщества собираются вокруг координации фондов DAO (децентрализованных автономных организаций). Более крупные группы держателей токенов или пользователей на самом деле не имеют права голоса при принятии решений по управлению, поскольку они могут не обладать опытом, интересом или осведомленностью в темах решений. Даже если они имеют право голоса, они могут иметь незначительный эффект по сравнению с крупными держателями токенов, так как голосование обычно проводится по принципу взвешивания токенов. Эта ситуация меняется по мере того, как новые проекты используют сочетание более справедливых механизмов управления на цепочке (например, квадратичное голосование, голосование с блокировкой времени, адаптивное смещение кворума, делегирование голосов, децентрализованные схемы идентификации, позволяющие голосовать одному человеку) и внецепочечных механизмов сигнализации (подписанные голоса на форумах), которые доступны большему числу держателей токенов.
Эти трудности не только сдерживают массовое внедрение децентрализованных сетей, но и вынуждают существующих пользователей продолжать полагаться на централизованные биржи и размещенные кошельки. Нетехническим специалистам слишком сложно регулярно использовать действительно децентрализованные приложения. С другой стороны, существующие пользователи продолжают использовать Ethereum и Bitcoin, потому что не знают об этих проблемах; компании и инвесторы продолжают использовать их, потому что хотят быть там, где есть ликвидность; а ранние участники защищают эти сети, потому что у них большие доли. Но возможен и другой мир.
Сегодня Ethereum вмещает в среднем 500000 ежедневных активных пользователей, в то время как популярное веб-приложение, такое как Twitter, используется 200 миллионами ежедневных активных пользователей (400x от Ethereum), а Facebook имеет почти 2 миллиарда ежедневных активных пользователей (4000x от Ethereum). Пользователи Уровня_2 и Bitcoin еще прибавят к этой статистике пару нулей, но до масштабов веб-приложений еще далеко. Рост - это очень важная задача для открытого децентрализованного интернета, это не проблема завтрашнего дня, а приоритет, который нужно решать здесь и сейчас.
В то время как новая версия Ethereum направлена на устранение проблем роста, а её промежуточные решения Уровня_2 в настоящее время пытаются удовлетворить постоянно растущий спрос, новое поколение платформ Cosmos, Polkadot, Avalanche, обещают по-настоящему децентрализованный интернет. Но сначала мы рассмотрим новую версию Ethereum.
Новая версия Ethereum как экосистема EVM
С момента своего создания новая версия Ethereum менялась, перенимая механизмы из научных исследований, а также из изобретённых новых блокчейн-платформ. В новой версии Ethereum будет использоваться Доказательство-Доли (proof-of-stake), сеть будет разделена на синхронизированные осколки (shards) с целью увеличения общей пропускной способности. Подтверждающие, работающие на одной и той же виртуальной машине Ethereum (EVM), будут назначаться на разные shard (осколки) сети, производить блоки, накапливать различные данные об активности пользователей и синхронизироваться друг с другом с помощью релейной цепочки под названием Beacon. Однако попытка синхронизировать все shards (осколки) означает попытку достичь полной репликации, то есть иметь согласованную копию базы данных на всех узлах. Это проблематично, поскольку смысл расщепления (sharding) в распределенных вычислениях заключается в том, чтобы добиться масштабирования, не реплицируя все данные в общей сети. В синхронной модели или однородной топологии сети, когда один shard - например, популярный shard DeFi - будет использоваться гораздо чаще других, он начнет испытывать те же проблемы со скоростью, стоимостью и масштабированием. Кроме того, возникает новая проблема эффективной синхронизации данных между shards.
В то время как переход Ethereum на новую версию, как говорят, будет полностью завершен через год или около того, были запущены так называемые решения Уровня_2 - свертки (чаще используется слово - rollup, роллап) (Optimistic, zkSync), плазмы (plasma) и каналы состояния (state channel) - для обеспечения эффективности и скорости растущего спроса на Ethereum. Дилемма заключается в том, что модели доверия Уровня_2 имеют либо промежуточных центральных операторов, что снижает децентрализацию и устойчивость к цензуре, либо множество стимулированных операторов (например, Polygon построен на Tendermint и работает на нескольких Подтверждающих, Matter Labs стремится к сети Подтверждающих с zkSync), что сродни тому, чтобы быть еще одним децентрализованным блокчейном со своим собственным токеном (например, MATIC) и в конечном итоге конкурировать с Первым Уровнем. Следовательно, эти архитектуры с одной цепочкой столкнутся с той же проблемой стоимости транзакций по мере того, как к ним будет присоединяться все больше пользователей.
Модульная конструкция блокчейна
Недавно Ethereum принял новую стратегию, названную rollup-центричной дорожной картой, которая позиционирует Ethereum как Уровень_1 для доступности данных и проекты Уровня_2 для вычислений. Другими словами, Ethereum хочет стать базовым уровнем, гарантирующим доступность данных и обеспечивающий безопасность rollup. В результате Ethereum принимает концепцию EVM-блокчейна для вычислений, независимо от того, доминирует ли один rollup или сосуществуют несколько rollup (см. статью Виталика Бутерина "Эндшпиль"). Фактически, эта стратегия вписывается в развивающуюся модульную конструкцию блокчейна, где блокчейн может передавать доступность данных или исполнение другим блокчейнам. Обобщенная модель для этой стратегии разработана компаниями Celestia и EigenLayr. Более того, новая стратегия Ethereum напоминает модели совместной безопасности, уже используемые в Polkadot и Avalanche.
С другой стороны, поскольку Cosmos, Polkadot, Avalanche имеют мосты к Ethereum по крайней мере на одной из своих EVM-совместимых цепочек, их иногда помещают в "Уровня_2", но эти проекты часто называют себя Уровнем_0, поскольку они предоставляют инфраструктуру для создания взаимосвязанных блокчейнов Уровня_1.
Cosmos, Polkadot, Avalanche
Cosmos, Polkadot, Avalanche нацелены на горизонтальное масштабирование с помощью асинхронной гетерогенной сетевой модели, где блокчейны для конкретных приложений имеют различные виртуальные машины и при необходимости могут взаимодействовать с другими цепочками. Эти инфраструктурные платформы предоставляют возможности для создания собственных блокчейнов, что позволяет значительно расширить возможности при проектировании децентрализованных приложений и разработки новых активов. Запуск проекта как собственной цепочки вместо набора смарт-контрактов имеет три фундаментальных преимущества:
Изоляция производительности: изоляция вашей сети от других сетей гарантирует, что на работу ваших пользователей не повлияет несвязанная высокая активность в сети, поэтому она обеспечивает более высокую производительность, и вы можете подключаться к другим сетям, когда это необходимо.
Предсказуемая и настраиваемая плата: плата во всеобщей сети не находится под вашим контролем. Высокая активность некоторых приложений в сети может увеличить плату, которая будет произвольной для вашего приложения. Наличие настраиваемой структуры платы позволяет вам иметь предсказуемую плату и устраняет инфраструктуру между приложениями и их пользователями. Вам не нужны ATOM, DOT или AVAX, чтобы использовать специфические для приложения цепочки. Отсутствие необходимости заставлять пользователей использовать инфраструктурный токен для оплаты услуг имеет решающее значение для массового внедрения.
Настраиваемые Подтверждающие: Настраиваемые правила и требования к Подтверждающим ориентируют вашу цепочку на специфические потребности конкретного домена. Подтверждающие вашей сети могут соответствовать требованиям определенных юрисдикций (например, ЦФА в РФ, GDPR в ЕС), иметь высокие требования к производительности оборудования или иметь определенные доказательства для получения статуса Подтверждающего.
Эти сети нового поколения также имеют мосты к Ethereum и к Bitcoin, а мосты друг к другу находятся в стадии разработки, чтобы полностью реализовать видение блокчейнового междусетья.
Cosmos, Polkadot, Avalanche имеют существенные различия на уровне протокола (например, механизм консенсуса, топология экономической безопасности), которые влияют на характеристики платформы (например, межцепочное взаимодействие, экономику токенов, типы возможных приложений) и способы масштабирования сетей (например, участие подтверждающего, присвоение долей). Приведенное ниже сравнение призвано помочь разработчикам, предпринимателям, исследователям и всем, кто рассматривает вопросы создания инфраструктур нового поколения. Это сравнение поможет понять различия между этими архитектурами и понять компромиссы, на которые пошли разработчики.
⛓ Механизм консенсуса
Безопасная и последовательная репликация состояния базы данных в открытой сети достигается с помощью механизма консенсуса. При этом сеть должна оставаться отказоустойчивой несмотря на недостоверную информацию или действия злоумышленников. Практическая Византийская Отказоустойчивость (PBFT), используемая в Cosmos и Polkadot, требует, чтобы все участвующие узлы общались друг с другом, поэтому сеть соглашается с проверяемым состоянием с абсолютной уверенностью. Такая сеть имеет низкую задержку и быстрое завершение, но не может расти на большое количество участников (подтверждающих блоки) в глобальной сети, поскольку нагрузка на каждый подтверждающий узел возрастает экспоненциально по мере увеличения объема работы по проверке. Bitcoin ввел механизм консенсуса по самой длинной цепочке (консенсус Накамото), который обеспечивает вероятностную окончательность и астрономически низкую частоту ошибок. Он позволяет создать надежную и растущую со временем сеть, но он при этом она будет очень медленной.
В Cosmos используется консенсус Tendermint PBFT, который обеспечивает быстрое завершение. Однако, поскольку каждый узел должен общаться друг с другом, он имеет квадратичную сложность передачи сообщений и может завершать один блок за раз.
Polkadot разделяет производство блоков и их подтверждение. Консенсус BABE (вариант Ouroboros Praos) создает блоки-кандидаты, а GRANDPA (вариант PBFT) подтверждает их партиями. Этот гибридный консенсус в определенной степени оптимизирует квадратичную сложность передачи сообщений.
В Avalanche используется Avalanche Consensus - уникальный механизм, сочетающий повторяющуюся субвыборку голосов среди подтверждающих узлов (Snowball) и транзитивное голосование в Directed Acyclic Graph (DAG), вместо линейной цепочки. Поскольку консенсус Avalanche имеет постоянную сложность передачи сообщений, он обеспечивает низкую задержку и большое количество участников в сети. Он имеет вероятностную окончательность, как консенсус Накамото, но при этом он может быть настроен и имеет астрономически низкий процент отказов.
⚡️ Допуск проверяющего
Для обеспечения возможности участия в консенсусе открытой сети и предотвращения использования нескольких идентификаторов одним и тем же лицом (Атака Сивиллы) используется механизм Доказательство-Работы (proof-of-work) или Доказательство-Доли (proof-of-stake). Как и все новые проекты, Cosmos, Polkadot, Avalanche используют Доказательство-Доли (proof-of-stake) из-за его энергоэффективности и возможности обеспечить большую управленческую гибкость при проектирования. В этих сетях также есть проекты, реализующие более легкий механизм Доказательство-Доли (proof-of-work) для справедливого распределения монет.
⏳ Задержка транзакции
Cosmos достигает окончательности за 6-7 секунд.
Polkadot достигает окончательности за 12-60 секунд (создание блока и завершение блока разделены)
Avalanche достигает окончательности результата за секунду. Это вероятностная окончательность, как у Bitcoin, и имеет астрономически низкий процент отказов.
? Пропускная способность
Общий объем вычислительной работы в секунду, которую может обработать сеть, зависит от сложности виртуальной машины и функций времени выполнения, используемых в сети. Cosmos, Polkadot и Avalanche создают специализированные асинхронные блокчейн сети, поэтому в конечном итоге их сеть в целом не имеет ограничений по пропускной способности. Что действительно важно, так это то, насколько эти сети могут расти, и их выбор межцепочной экономической безопасности имеет значение.
? Плата за транзакции
По мере роста активности в общей сети увеличивается плата за транзакции. Cosmos, Polkadot, Avalanche создают специализированные сети, где каждая цепочка имеет свой собственный механизм оплаты транзакций, основанный на росте их состояния.
Cosmos имеет настраиваемый механизм оплаты для каждой цепочки.
Polkadot имеет настраиваемый механизм оплаты за цепочку. Гонорары предварительно рассчитываются с помощью системы Weight. Сжигание платы является опциональным для каждой цепочки.
Avalanche имеет настраиваемый механизм оплаты для каждой цепи. Плата в основной (по английски эту сеть называют Primary, по тексту будем её называть основной) сети фиксирована или равна нулю для различных типов функций, и все сборы сгорают, поэтому держатели токенов получают выгоду от использования с течением времени.
? Уровень децентрализации
Приведенные ниже цифры относятся к 17 марта 2022 года.
Cosmos имеет квадратичный обмен сообщениями между узлами, следовательно, ограниченное число участников (подтверждающих). Количество активных подтверждающих составляет 175 в Cosmos, 197 в IRIS, 135 в Osmosis. В настоящее время вам необходимо минимум 147,231 ATOM, чтобы быть активным подтверждающим в Cosmos Hub, и минимум 1 ATOM для делегирования. Общая стоимость ставок составляет ~1,5B.
В Polkadot оптимизирован квадратичный обмен сообщениями между узлами, а количество участников ограничено. Количество активных подтверждающих составляет 297 в Polkadot и 1000 в Kusama. В настоящее время для того, чтобы войти в число активных подтверждающих релейной цепочки Polkadot, необходимо минимум 1,75 млн DOT, а для номинации - минимум 120 DOT. Общая стоимость ставок составляет ~12B.
Avalanche имеет постоянное количество сообщений между узлами, поэтому число участников неограниченно. Количество активных подтверждающих в основной сети составляет 1311. В настоящее время вам необходимо минимум 2000 AVAX чтобы быть активным подтверждающим в основной сети, и минимум 25 AVAX для делегирования
Децентрализация также является функцией от доли Подтверждающего и концентрации вознаграждения (вознаграждения, взвешенного на основе доли), которая обычно следует распределению с длинным хвостом - немногие Подтверждающие имеют наибольшую долю, в то время как многие Подтверждающие имеют малую долю. Справедливое распределение доли все еще остается открытой проблемой для блокчейн-платформ, и каждый проект пытается достичь справедливости по-своему. Например, Polkadot может иметь ограниченный набор активных Подтверждающих из-за консенсуса на основе PBFT, но эти активные Подтверждающие получают равное вознаграждение благодаря методу выборов Phragmén. Avalanche может иметь неограниченное число активных Подтверждающих благодаря новому механизму консенсуса, а средний вес Подтверждающего постепенно снижается, повышая уровень децентрализации.
? Топология межцепочной сети
Cosmos позволяет создать распределенную сеть цепочек с собственными наборами Подтверждающих. Взаимодействие между этими цепочками достигается с помощью мостового протокола Inter-Blockchain Communication (IBC). Каждая цепочка должна реализовать IBC для того, чтобы установить мост с другими цепочками. В настоящее время существует 49 цепочек, поддерживающих IBC, с такими специализациями, как DeFi, смарт-контракты EVM, социальные сети, конфиденциальность, регенеративное сельское хозяйство и игры. В разработке находятся мосты к Ethereum, Bitcoin и другим.
Polkadot позволяет наследовать безопасность от центральной релейной цепочки к связанным параллельным цепочкам (парацепи, в сленге их часто называют парачейнам, по-английски parachain). Парацепи не имеют собственных подтверждающих, у них есть собирающие узлы (collator), которые собирают транзакции и производят доказательства перехода состояния для Подтверждающих в релейной цепочке. Взаимодействие между парацепями достигается с помощью Cross-Chain Message (XCM), а передача произвольных данных возможна благодаря унаследованной безопасности. В настоящее время функционируют 6 парацепей различного назначения, такими как DeFi, смарт-контракты EVM, социальные сети, конфиденциальность и игры. В разработке находятся мосты к Ethereum, Bitcoin и другим.
Avalanche позволяет создавать перекрывающуюся сеть Подтверждающих, организованных в виде подсетей, в которых работают несколько цепочек, одновременно проверяя основную сеть. Различные сети в одной подсети могут передавать активы друг другу практически мгновенно. В то время как связь между подсетями, то есть одна цепочка в своей подсети общается с другой цепочкой в своей подсети, в настоящее время осуществляется через мосты (с использованием контрактов ChainBridge-Solidity для EVM-цепочек). На самом деле, чем больше подсетей имеют пересекающиеся подтверждающие с другими подсетями, тем более высокие гарантии безопасности они могут иметь при общении друг с другом. Это происходит потому, что у этих пересекающихся подтверждающих будут общие интересы в обеих подсетях. Если группа подтверждающих действует злонамеренно в одной подсети, они также рискуют своей долей в основной сети, а также в других подсетях. Хотя метод прямого взаимодействия между подсетями еще не объявлен, было бы неудивительно, если бы сама основная сеть Avalanche выступила в качестве посредника между всеми подсетями. В настоящее время функционируют 3 цепи основной сети: X-Chain для переводов, P-Chain для доления (staking, стейкинг), C-Chain для смарт-контрактов. Другие цепи и подсети находятся в процессе создания экосистемы. Кроме того, как и другие платформы, существует мост Avalanche-Ethereum, который работает через доверенную федерацию и является одним из самых используемых среди 60 мостов Ethereum на сегодняшний день.
Мост между блокчейнами с раздельными уровнями безопасности без какого-либо механизма разделения безопасности, как в нынешней архитектуре Cosmos, не сильно отличается от моста между любыми цепочками в целом. Таким образом, без общих гарантий окончательности межцепочное взаимодействие имеет различный уровень риска. Унаследованная модель безопасности Polkadot позволяет обобщить гарантии окончательности, и под этим зонтиком парацепочки могут безопасно передавать друг другу произвольные данные. Модель перекрывающейся сети подтверждающих Avalanche в настоящее время позволяет обмениваться безопасностью между цепочками в основной сети, а вскоре и между цепочками в разных подсетях напрямую, без необходимости в мосте. Таким образом, чем больше подсетей имеют перекрывающих их Подтверждающих (которые имеют общие интересы в обеих подсетях), тем более высокие гарантии безопасности может иметь их связь. В целом, перекрывающиеся подтверждающие между различными цепочками (подобно объединенному майнингу в proof-of-work) могут обеспечить более безопасную межцепочечную связь.
? Управление
Cosmos имеет внутрицепочечный механизм для изменения параметров консенсуса и координации средств.
Вся логика работы Polkadot хранится на цепи в виде двоичного файла WebAssembly (WASM), что позволяет беспроблемное обновление времени исполнения, то есть решения принимаются автономно по результатам референдума, не полагаясь на разработчиков или подтверждающих. Модули управления включают в себя голосование с взвешиванием маркеров, ротацию советов, голосование с блокировкой токенов по времени, адаптивные механизмы смещения кворума.
Avalanche имеет определенные параметры, которые могут быть улучшены путем голосования на цепочке. Механизм расширенного управления, основанный на уникальном консенсусе, находится в стадии разработки.
? Инструменты разработки
Все блокчейны в своей основе имеют следующие компоненты: базу данных, одноранговую сеть, механизм консенсуса, механизм обработки транзакций и функции смены состояния (время выполнения или виртуальная машина). Cosmos, Polkadot, Avalanche предоставляют эти компоненты и позволяют разработчикам создавать свои собственные функции смены состояния.
Cosmos предоставляет Cosmos SDK и промежуточное программное обеспечение Tendermint, которое позволяет программировать транзакции на любом языке. Вы можете создать свою собственную виртуальную машину и создать свое собственное сообщество Подтверждающих. Но для того чтобы ваша цепочка заработала, вам необходимо создать сообщество Подтверждающих с нуля и привлечь их из существующих цепочек. Вы также можете развернуть смарт-контракты на EVM-совместимых цепях (Ethermint или CosmWasm).
Polkadot предоставляет мета-протокол на основе Wasm и набор для разработки Substrate на языке Rust. Вы можете разработать свою собственную виртуальную машину, используя предоставленные модули, такие как счета, активы, управление, EVM и создавать собственные модули. Также вы можете воспользоваться моделью свободного выполенения Substrate для планирования цепочки, внецепочных работников и бесплатных транзакций. Ваша цепочка запускается после того, как вы выиграете слот на аукционе парацепей, который обеспечивает безопасность, унаследованную от релейной цепочки. В качестве альтернативы вы можете вырастить собственное сообщество подтверждающих. Вы также можете развернуть смарт-контракты на EVM-совместимых цепочках (Moonbeam, Acala) или использовать смарт-контракты Ink.
Avalanche предоставляет Avalanche Virtual Machine (AVM), где вы можете клонировать и настраивать или создать совершенно новый в качестве собственной виртуальной машины (модульный SDK для разработки VM еще не выпущен). Для того чтобы ваша цепочка заработала, вам нужно запустить подсеть и привлечь Подтверждающих - которые уже подтверждают основную сеть - для запуска вашей цепочки. Для запуска пользовательской EVM-цепочки существует код subnet-evm. Вы можете развернуть смарт-контракты на EVM-совместимой C-Chain.
Топологии гетерогенных сетей
Рост пользовательской активности во всеобщем масштабе имеет больше шансов на успех через асинхронную сеть специализированных блокчейнов, чем сеть блокчейнов, работающих на экземплярах одной виртуальной машины (т.е. новая версия Ethereum). В этом разделе мы более подробно рассмотрим, как устроены сети и межцепочное взаимодействие в Cosmos, Polkadot и Avalanche.
Экосистема Cosmos
Экосистема Cosmos имеет топологию распределенной сети, где разнообразные, самостоятельные блокчейны обладают своим собственным набором Подтверждающих, и эти цепи (при необходимости) связываются друг с другом через мосты. Эта топология критикуется как наименее защищенный подход (когда наиболее защищенная цепочка принимает активы от наименее защищенной цепочки, она становится менее защищенной с экономической точки зрения). Однако это делает всеобщую сеть устойчивой, поскольку нет одной отдельной цепи, безопасность которой была бы критична для выживания всей экосистемы. Но чем же тогда экосистема Cosmos отличается от практически любого блокчейна, соединяющегося с другими цепочками через мосты? Cosmos придерживается политики "никаких условий", которая позволяет таким проектам, как Binance DEX, Oasis, Terra, Nym и многим другим, использовать Tendermint для разработки и запуска своих собственных блокчейнов, ориентированных на конкретные приложения.
Протокол межблокчейнового взаимодействия (IBC) соединяет блокчейны в экосистеме Cosmos (см. 48 взаимосвязанных цепочек на Карте зон). По мере того, как цепочки внедряют протокол IBC, они соединяются друг с другом, и общая ликвидность экосистемы Cosmos повышается. IBC в значительной степени повторяет принцип работы блокчейн мостов. Когда вы отправляете актив из одной цепи в другую,
вы фиксируете его в исходной цепи,
затем третья сторона - возможно, федеративный ретранслятор, который следит за цепями, забирает квитанцию и доставляет в цепь назначения,
принимающая цепь проверяет квитанцию и дает вам представление об активах в исходной цепи.
В экосистеме Cosmos цепочки, реализовавшие IBC, имеют легкие клиентские верификаторы Tendermint, чтобы они могли потреблять и проверять эти квитанции при коммуникации. Также IBC является открытым протоколом, который может быть реализован в различных блокчейн архитектурах (существует реализация IBC для Substrate). Более того, новые версии IBC будут иметь общие схемы безопасности (подробнее см. доклад Билли Реннекампса).
Топология безопасности Polkadot
Polkadot имеет иерархически наследуемую топологию безопасности, которая эффективна для произвольного обмена данными между его параллельными цепочками (парацепи), но эти парацепи зависят от безопасности у центральной релейной цепочки. Парацепи Polkadot не нужно создавать сообщество Подтверждающих, вместо этого они заимствуют безопасность у релейной цепочки. Для этого они выигрывают слот (всего ~100 слотов) на аукционе и блокируют токены Polkadot DOT (средства на DOT они привлекают через крауд-кредиты). Когда эти конкретные парацепи подключаются и синхронизируются с релейной цепочкой через собирающие узлы, их функциональные возможности становятся доступными. Одна из критических замечаний в адрес этого механизма заключается в том, что разным цепочкам может не требоваться одинаковый уровень безопасности, и, более того, не должно быть ни одной цепочки, безопасность которой критически важна для выживания экосистемы. Хотя сегодня сообщество Polkadot продвигает идею парацепей без Подтверждающих, можно просто запустить блокчейн с помощью Substrate и вырастить сообщество Подтверждающих, не полагаясь на центральную релейную цепь (см. Compound Gateway). Более того, парацепь может создать собственное сообщество Подтверждающих, разблокировать свои средства DOT в конце срока аренды и использовать мосты, когда требуется межцепочечная связь. Более того, может существовать несколько релейных цепочек, что благоприятно сказывается на экосистеме Polkadot в целом. Иерархическая топология, скорее всего, сохранится, поскольку межцепочная связь с поддержкой унаследованной безопасности более эффективна, чем использование мостов между парацепями.
Команда Polkadot разработала формат сообщений Cross-Consensus Message Format (XCM), обобщенный формат для общения не только между парацепями, но и между различными смарт-контрактами, мостами и паллетами Substrate. XCM работает с вертикальной передачей сообщений (VMP), которая позволяет обмениваться сообщениями от релейной цепочки к парацепи и обратно, и с межцепочной передачей сообщений (XCMP), которая позволяет парацепям обмениваться сообщениями с другими парацепями на той же релейной цепочке. Сообщение в XCM - это программа, которая выполняется на виртуальной машине кросс-консенсуса (XCVM) (см. цикл статей Гэвина Вуда). Эта абстракция для программирования сетей и создания композитных межцепочечных приложений может быть использована и в других гетерогенных сетях блокчейна.
По мере роста сообщества парацепей, они могут захотеть иметь свои собственные наборы Подтверждающих (см. презентации Acala), чтобы стать релейной цепочкой, передающей безопасность другим цепочкам. Хотя вложенный механизм обмена безопасностью может оказаться сложным, все подпарацепи будут иметь общие гарантии окончательности, и общее количество переходов состояний в секунду увеличится, расширяя совокупную вычислительную пропускную способность всей сети Polkadot.
Топология перекрывающихся сетей Avalanche
Avalanche имеет топологию перекрывающихся сетей. Каждый подтверждающий узел Avalanche должен обеспечивать безопасность основной сети, одновременно обеспечивая безопасность других подсетей. Набор подтверждающих образует подсеть. Подсеть может проверять несколько блокчейнов, в то время как каждый блокчейн проверяется только одной подсетью. Другими словами, подтверждающий узел может быть членом многих подсетей. Когда вы начинаете новую цепочку, вам необходимо создать стимулы для привлечения в подсеть подтверждающих, которые уже работают в основной сети и, возможно, работают в других сетях. Если ваша сеть привлекает новых подтверждающих, то они должны иметь возможность работать с Основной сетью, а также с подсетью, в которой работает ваша сеть. В целом, архитектура подсети обеспечивает перекрывающуюся сеть подтверждающих (см. диаграмму выше), что обусловлено новым механизмом консенсуса Avalanche. Поскольку консенсус Avalanche делает повторяющуюся субвыборку среди подтверждающих узлов, ему требуются не все узлы, а лишь небольшой набор узлов для связи друг с другом, что приводит к низкой сложности обмена сообщениями в сети. Таким образом, требования к пропускной способности и вычислительной мощности на узел остаются постоянными даже при росте сети до многих тысяч подтверждающих. В результате, с точки зрения участия подтверждающих, цепочки, построенные на Avalanche, являются более инклюзивными, чем Polkadot и Cosmos, благодаря неограниченному участию в каждой цепочке. Сколько цепочек может запустить подтверждающий, зависит от времени выполнения цепочки / сложности конструкции виртуальной машины и в настоящее время остается открытым вопросом.
Взаимодействие между цепочками Avalanche эффективно не только благодаря быстрому завершению, но и благодаря тому, что они находятся в одной Основной сети, что позволяет использовать общие гарантии завершения (в настоящее время передача активов между X-Chain, P-Chain и C-Chain происходит практически мгновенно). Модель совместного использования безопасности отличается от Polkadot или от того, как это предполагается в новой экосистеме Ethereum, ориентированной на роллапы. Новая архитектура подсетей Avalanche позволяет создавать сети с более высокой плотностью. Это происходит потому, что разделение безопасности происходит не только между цепочками в Основной сети, но и между цепочками во всех пересекающихся подсетях. Это обеспечивает композитность и программируемость сетей, открывая новое пространство для проектирования, а также позволяет создать тип группообразующей сети (см. закон Рида), которая может экспоненциально масштабироваться до многих миллионов ежедневных активных пользователей для реализации концепции Web 3.
Приложения
По сей день Ethereum остается платформой, где создаются и развиваются инновации в криптоэкономике. Поэтому команды, создающие эти новые сети (Cosmos, Polkadot, Avalanche), изначально создавали версии популярных сервисов, которые существуют в Ethereum (децентрализованные биржи, автоматизированные маркет-мейкеры (AMM), кредитование, стабильные монеты, агрегаторы, страхование, платформы NFT и т.д.), но есть и проекты, открывающие новые сценарии использования, используя преимущества этих новых инфраструктур.
В сети Cosmos, Osmosis сочетает конфиденциальность транзакций (использование пороговой расшифровки транзакций для предотвращения опережения (front-running)) с функциональностью межцепочечного AMM и имеет IBC, реализованный для установления мостов с другими цепями. Celestia кодирует данные блока для повышения безопасности легких клиентов, что является ключевым компонентом для совместимости цепей между суверенными цепями и их различными уровнями безопасности в экосистеме распределенных цепей. Regen создает криптоэкономическую платформу для стимулирования регенеративного сельского хозяйства и использует данные с датчиков и спутников в экосистеме аудиторов. Nym обеспечивает смешение, который предотвращает анализ сетевого трафика противником, способным следить за всей сетью. Nym использует Tendermint и смарт-контракт Cosmwasm, управляющий службой каталогов, связью узлов и делегированным доли смешивающей сети. Penumbra позволяет сохранять конфиденциальность межцепочечных сетевых транзакций. Tendermint также используется в таких крупных проектах, как Binance DEX и Terra. Еще большая ценность будет раскрыта, когда эти отдельные сети блокчейн начнут взаимодействовать через IBC.
В сети Polkadot парацепь Acala - это DeFi хаб, который предоставляет функциональность от AMM до кредитования стабильными монетами. Moonbeam - цепочка смарт-контрактов, совместимая с EVM. Subsocial создает децентрализованную платформу социальной сети. Robonomics - создание автономных роботов. Bit Country - платформа для создания виртуального мира / метавселенной для вашего сообщества. Integritee и Phala используют доверенные среды исполнения (Trusted Execution Environments, TEE) для обеспечения децентрализованных конфиденциальных вычислений и зашифрованного хранения данных. Фреймворк разработки Substrate от Polkadot также используется самостоятельно (не как парацепь) для запуска блокчейнов, таких как Compound Gateway. Хотя все парацепи совместимы с межцепочечной экосистемой Polkadot по своей конструкции, на самом деле они должны использовать невероятную композитивность, эффективность памяти и возможности автоматического обновления метапротоколов фреймворка Substrate для создания новых сценариев использования.
С-цепь Avalanche, совместимая с EVM, изначально привлекла разработчиков, создающих проекты на Ethereum. Проект Pangolin - это быстрый AMM, клонирован из Uniswap. Проект Sherpa Cash позволяет осуществлять тайные транзакции, клонирован из Tornado. TraderJoe начинал как AMM и добавил кредитование стремясь стать центром DeFi. Приложение Benqi для кредитования и заимствования является версией Compound, но также запустил стейкинг ликвидности для AVAX. Platypus - это улучшенная версия стабильного обмена Curve, поскольку в нем есть управление активами и пассивами. Крупнейшие Ethereum-проекты, такие как Aave, Curve, Sushiswap, использующие многоцепочную стратегию, также запустились на C-Chain и привлекли большую ликвидность, которая подпитывается мостом Avalanche-Ethereum Bridge. Экосистема Avalanche также имеет свои новые виды активов, один из которых предназначен для финансирования судебных процессов, и в сочетании с DAO может оказать огромное влияние на объединение существующих правовых систем с криптосетями. На самом деле, консенсус Avalanche и топология перекрывающихся подсетей вместе обеспечивают огромное инновационное пространство для новых проектов.
Заключение
Гетерогенные сети Cosmos, Polkadot, Avalanche обеспечивают необычную инфраструктуру для создания блокчейнового муждусетья, которая демонстрирует, что асинхронная гетерогенная сетевая модель работает эффективно и является преимуществом по сравнению с Bitcoin и Ethereum в их нынешнем виде. В конечном итоге они будут вмещать миллионы ежедневных активных пользователей и достигнут концепции Web3, принадлежащей и контролируемой пользователями.
Сосуществование этих архитектур полезно для воистину децентрализованного Интернета, поскольку они имеют свои собственные, самобытные подходы к достижению поставленных целей. Понимание различий и сходств этих новых инфраструктур сегодня поможет в будущем вам создать свои собственные информационные системы. Проекты, использующие эти инфраструктуры, выйдут за рамки смарт-контрактов, станут большими системами производственного уровня с собственными цепочками и сообществами, а также продемонстрируют ранее невообразимые способы использования.
Про курс
Описание курса и подробности по составу
В конце лета стартует бесплатный курс “Разработчик смарт-контрактов”. Курс “Разработка смарт-контрактов” направлен на повышение прикладных навыков проектирования, разработки и аудита смарт-контрактов. В рамках курса даётся теоретическая информация в объеме необходимом для разработки смарт-контрактов. И много практики. Это первый поток курса, предназначенный для проверки материала и его последующей доработки для создания ВУЗовского курса.
Платформы: Solana, Near, Cosmos, TON, Avalanche, Polkadot, Cardano.
Кому курс: разработчики, исследователи
Используемые технологии: JS, Go, Python, Solidity, Rust
Длительность курса: 3-5 месяцев
Виды занятий: Повествовательная часть, Прикладная часть, Самостоятельная работа
Как проходит: прямое вещание, записи видео
Взаимодействие: переписка при вещании, переписка в телеграмме, обратная связь под видео, личные сообщения
Особенности: вступительная проверка, проверка знаний после курса
Итог: выпускная работа над проектом, стажировка, трудоустройство, какой-нибудь сертификат
Дополнительную информацию найдете в телеграмм канале: @druzhcom