На протяжении многих лет теория цепочки приложений реализовывалась различными способами. Потребность в модульности со временем возросла, поскольку разработчики блокчейнов понимают, что их платформы можно масштабировать более эффективно, передав часть работы, связанной с запуском децентрализованных приложений, на аутсорсинг.
Первоначально зарезервированные только для суверенных цепочек, часто создаваемых с использованием стека Interchain, эволюция цепочек приложений теперь включает потребительские цепочки, которые арендуют безопасность у Cosmos Hub, а также накопительные пакеты, которые полагаются на цепочки уровня 1 для выполнения некоторых расчетных и связующих работ, поскольку блестяще. Эти изменения привносят различные предположения и проблемы безопасности, которые необходимо решить. Целью Celestia является решение особой проблемы, называемой доступностью данных, но прежде чем мы объясним, как эта проблема связана с вашим проектом, давайте попробуем разобраться в последнем модном слове в Web3: модульность.
Работу, выполняемую однослойными цепочками первого уровня, включая Ethereum и суверенные цепочки #Cosmos , можно условно разделить на 4 уровня:
Уровень исполнения обрабатывает транзакции и отвечает за обновление состояния цепочки. Например: обновите баланс своего кошелька, когда друг отправляет вам токены.
Уровень расчетного моста отвечает за завершение транзакции или, скорее, за подтверждение вне всяких разумных сомнений ее действительности. Это особенно относится к обобщению, о котором мы поговорим позже. В последнее время уровень расчетов чаще рассматривается как связующий уровень, предоставляющий возможность Rollups взаимодействовать с более широкой сетью блокчейнов, в то время как сам расчет стал более спорной темой. В обычных сетях, таких как Cosmos Application Chain, расчеты бесплатны, поскольку уровень консенсуса эффективно проверяет каждую транзакцию до того, как она достигнет уровня исполнения.
Уровень консенсуса — это уровень, на котором несколько сторон договариваются о том, что содержит блок и как следует упорядочивать их транзакции.
Уровень доступности данных отвечает за обеспечение того, чтобы каждый имел доступ к правильным транзакциям, отправленным в сеть. Как мы объясним позже, уровень расчетов нуждается в доступе к этим транзакциям, чтобы убедиться в честности уровня исполнения.
В контексте цепочки на основе Cosmos SDK (которая имеет собственный набор валидаторов и работает как самостоятельная цепочка приложений) уровень консенсуса в основном отвечает за доступность данных и окончательный расчет транзакций. Однако для запуска суверенной цепочки вам потребуется набор валидаторов и токен доказательства доли, если только вы не выберете решение общей безопасности, такое как Interchain Security. Помимо юридических и операционных сложностей запуска цепочки с помощью токена, необходимо учитывать также вопросы масштабируемости.
Эффективное масштабирование за счет агрегации
По мере роста сети трилемма масштабируемости становится все более очевидной. На первый взгляд может показаться, что блокчейн должен пойти на жертвы с точки зрения сетевой безопасности, степени децентрализации или количества транзакций, которые он может обрабатывать в секунду. Для сетей в целом улучшение одной сети традиционно происходит за счет другой. Однако благодаря работе над модульными протоколами мы видим, что некоторые компоненты этой трилеммы специфичны для каждого уровня модульного стека.
Например: уровень выполнения, который принимает транзакции и обрабатывает их в изменения состояния, требует высокой пропускной способности. Является ли он децентрализованным и безопасным, возможно, не имеет значения, пока существует достаточное количество децентрализованных и безопасных уровней расчетов, консенсуса и доступности данных, чтобы гарантировать и проверять выполнение правильных транзакций. Определенная степень децентрализации на уровне исполнения способствует жизнеспособности сети, но не является существенной для предотвращения любых форм неправомерных действий. Другими словами, это не влияет на предположения о доверии к сети.
Благодаря модульному стеку блокчейна разработчики могут передать на аутсорсинг большую часть работы, необходимой для эксплуатации блокчейна. Разработчики приложений несут полную ответственность за уровень выполнения, что повышает масштабируемость и значительно сокращает время разработки. По сути, именно поэтому накопительные пакеты сейчас так эффективны и популярны. Объединение, часто называемое уровнем 2, позволяет одному или нескольким серверам выполнять транзакции вне цепочки, не дожидаясь, пока медленный алгоритм консенсуса согласует содержимое блока. Это может показаться небезопасным, но они могли бы сделать это, не подвергаясь значительным рискам, предоставив дорогостоящие в вычислительном отношении доказательства достоверности в случае так называемой агрегации с нулевым разглашением (ZK) или предоставив временное окно, в котором узлы, где операторы могут предоставлять доказательства неудачи как свидетельства того, что кто-то действовал ненадлежащим образом, как в случае с оптимистической агрегацией. Однако в этих рамках возникает новая проблема: проблема доступности данных.
Что такое проблема доступности данных?
Когда пользователь отправляет транзакцию в сводном отчете, сообщение отправляется непосредственно в секвенсор, который обычно представляет собой очень быстрый компьютер, который объединяет эти транзакции вместе посредством автономного процесса. После сжатия до меньшего размера пакет отправляется на расчетный уровень, такой как Ethereum. Из-за высокого спроса на пространство блоков в этих сетях это гораздо более дешевое решение, чем публикация отдельных транзакций непосредственно на расчетном уровне. В настоящее время в большинстве агрегаторов используется один секвенатор (т. е. один объект, выполняющий сортировку), хотя изучаются возможности использования общих секвенаторов. В целом это безопасно, поскольку пользователи могут гарантировать, что выполнение транзакции действительно, посредством доказательства действительности или доказательства неудачи, которое можно проверить на уровне расчетов. Однако агрегирование не дает гарантии, что секвенсор честен в отношении отправленных транзакций и отправляет одни и те же данные всем.
В этом суть проблемы доступности данных. Уровень расчетов или любой полный узел, наблюдающий за сетью, должен проверять работу, выполняемую агрегацией, и для этого необходимы данные транзакций. По умолчанию агрегация не может легко и дешево доказать, что секвенсор обработал все входящие транзакции в блок или что все транзакции, добавленные в блок, находятся в открытом доступе. В результате секвенсоры могут подвергать цензуре данные о транзакциях, отправленные пользователем, или, что еще хуже, препятствовать их проверке на уровне расчетов.
Хотя этот тип цензуры технически может происходить и в обычном блокчейне, это практически невозможно из-за большого количества валидаторов в сети с доказательством доли и того факта, что только один из них должен быть честным. Но что еще более важно, уровень расчетов не требует данных для проверки, поскольку транзакция уже была урегулирована посредством процесса консенсуса.

#Celestia Как решить эту проблему?
#Celestia — это блокчейн уровня 1, созданный с использованием Cosmos SDK, обеспечивающий доступность данных в качестве службы агрегирования. Чаще всего сеть Celestia получает все входящие пользовательские транзакции от секвенсора, хотя она также может быть первым получателем этих транзакций до того, как они попадут в объединенный пакет для выполнения, в зависимости от конфигурации накопительного пакета. Давайте воспользуемся примером, чтобы объяснить это с точки зрения транзакции. Мы предположим, что это вымышленная сеть под названием Roll Protocol, которая построена как оптимистичный накопительный пакет на основе Cosmos SDK.
Допустим, вы используете Keplr для отправки токенов $ROLL своему другу через протокол Roll. После отправки транзакция отправки сначала передается в секвенсор Roll Protocol.
Секвенсор — это компьютер, выполняющий автономный процесс протокола Roll, который теперь просматривает все транзакции и проверяет их на соответствие текущему состоянию протокола Roll, чтобы убедиться, что они действительно действительны. Для отправляемого вами сообщения он проверяет, содержит ли оно действительный адрес получателя, достаточно ли у вас токенов $ROLL для отправки другу и т. д.
Затем действительные транзакции собираются в блок и выполняются секвенсором, что означает, что в его хранилище вносятся изменения. Баланс вашего кошелька и кошелька вашего друга обновится, чтобы отразить обмениваемые монеты.
Этот блок, содержащий транзакции, затем передается секвенсору Celestia и помещается в пространство имен «Roll Protocol», которое на самом деле представляет собой просто метку, упрощающую разделение данных. Затем валидаторы в сети Celestia согласовывают содержимое блока, которое финализируется в сети и распространяется на все узлы.
В то же время все успешные транзакции, являющиеся частью блока, преобразуются секвенатором в пакет и передаются на расчетный уровень, который обычно представляет собой просто смарт-контракт в цепочке уровня 1, такой как Ethereum. Уровень расчетов — это блокчейн, в который отправляется подтверждение сбоя, если кто-то обнаруживает, что конкретная транзакция недействительна (например, у вас фактически нет средств для отправки нескольких монет вашему другу). Но кто делает эту работу?
Другие полные узлы, управляемые отдельными dApps (например, DEX), также будут выполнять транзакции одновременно с выполнением секвенсора. Это позволяет им быть в курсе событий и, например, предоставлять вам обновления вашего баланса. Более того, они могут заранее проверить, не являются ли какие-либо транзакции недействительными. Если это так, доказательство отказа передается на уровень расчета.
Вы, наверное, помните, что при оптимистическом агрегировании есть определенный промежуток времени, прежде чем сделка завершится. Пока вы доверяете объекту, управляющему полным узлом, предварительная проверка достоверности этих полных узлов может помочь пользователям рассматривать транзакции как «окончательные» до того, как окно оптимизма закроется. Мы называем эту систему «минимизированным доверием», потому что вам нужно только по-настоящему доверять тому, что сеть содержит хотя бы один из многих честных узлов, чтобы пропустить оптимистичное временное окно.
Чтобы проверить, не работает ли секвенсор, полные узлы, а также уровень расчетов должны будут получить доступ к некоторым данным, опубликованным в Celestia, поскольку секвенсор мог выполнить недопустимые транзакции. К счастью, сеть Celestia опубликовала блок, содержащий все входящие транзакции Roll Protocol, которые ранее были включены в пакет, поэтому мы уверены, что располагаем необходимой информацией, чтобы доказать честность заказчика, если возникнет такая необходимость.
Стоит отметить, что Селестию не волнует, что содержит каждая транзакция. Фактически, он даже не может понять эти транзакции, потому что в Celestia нет среды выполнения, использующей тот же язык. Разделив эти проблемы с помощью этого модульного стека, заказчик может сосредоточиться на быстром выполнении транзакций, уровень расчетов может сосредоточиться на безопасности и обеспечить возможности моста, а уровень консенсуса и доступности данных может сосредоточиться на децентрализации. Это значительно улучшает масштабируемость и оптимизацию, гарантируя, что каждый подкомпонент, отвечающий за работу сети, является узкоспециализированным.
Хотя в нашем примере используются накопительные пакеты на основе Cosmos SDK, не исключены накопительные пакеты, совместимые с EVM. Celestia также работает как уровень доступности данных для экосистемы EVM и, возможно, намного дешевле, чем такие альтернативы, как EIP-4844 (также известный как Danksharding) на Ethereum.
汇总与主权链的比较
Создание накопительных пакетов и использование сети Celestia дает множество преимуществ. Если вы уже разрабатываете межчейн, вы можете продолжать использовать инструменты и программное обеспечение, с которыми вы знакомы, одновременно увеличивая пропускную способность протокола, устраняя необходимость в валидаторах в сети и, возможно, даже запуская его без токена, если это необходимо. Давайте посмотрим на некоторые различия между созданием накопительных пакетов и независимых цепочек приложений:
Масштабируемость и эффективность. Накопительные пакеты с использованием Celestia обычно обеспечивают большую масштабируемость и эффективность по сравнению с независимыми цепочками Cosmos SDK. Это связано с тем, что объединение переносит большую часть обработки транзакций на уровень 2, позволяя обрабатывать больше транзакций быстрее, тогда как суверенные цепочки ограничены алгоритмом консенсуса. Если вашему приложению требуется большое количество транзакций, объединение может оказаться более подходящим, чем суверенная цепочка. В этом случае вашему приложению придется потратить токены на расчетный уровень, что может быть дорогостоящим в зависимости от выбранной вами цепочки, хотя Celestia уменьшает объем публикуемых данных.
Живучесть и децентрализация: накопительные пакеты обычно запускаются с использованием одного секвенсора. В настоящее время ведутся исследования по созданию эффективных общих секвенаторов, но эта работа все еще впереди и может снизить эффективность объединения. В настоящее время децентрализации на уровне исполнения фактически не существует. Таким образом, если секвенсор отключится от сети, существует больший риск того, что это повлияет на избыточность и работоспособность объединения. Могут быть разработаны избыточные механизмы, но разработчики накопительных пакетов наследуют сложность инфраструктуры, которая обычно используется валидаторами в независимом блокчейне.
Безопасность: Rollups использует безопасность базового уровня расчетов, в то время как суверенная цепочка должна обеспечивать безопасность своей собственной сети. Если вы решите использовать суверенную цепочку Cosmos SDK, вам необходимо убедиться, что у вас есть большой и разнообразный набор валидаторов для защиты вашей сети, а также достаточно большая рыночная капитализация (в случае, если вы используете доказательства), чтобы поставить на кон ваши жетоны. Накопительные пакеты позволяют вам наследовать безопасность уровня расчетов, что может быть полезно, если реализация некоторых требований вашей цепочки приложений затруднительна.
Сложность. Создание накопительной системы может быть более сложным, чем создание независимой цепочки с использованием Cosmos SDK. Это связано с необходимостью управлять взаимодействием между накопительным пакетом, Celestia и уровнем расчетов. Если у вашей команды нет опыта агрегирования или вы не хотите иметь дело с дополнительной сложностью, лучшим выбором может стать суверенная цепочка. Однако использование платформы Rollkit значительно упрощает процесс разработки, позволяя сравнительно легко создавать накопительные пакеты.
Взаимодействие. Цепочки Cosmos SDK используют протокол межблочной связи (IBC), который позволяет различным цепочкам взаимодействовать. Хотя накопительные пакеты могут взаимодействовать с другими цепочками, детали будут зависеть от конкретной реализации и могут быть более сложными. В большинстве случаев агрегация использует уровень расчетов в качестве связующего узла.