Разбор Celestia
Пока в воздухе витает фомо из-за $TIA по 6$, давайте разберёмся в принципах работы Celestia и чем эта сеть отличается от остальных.
Для начала стоит прояснить, что существуют монолитные и модульные блокчейны.
Монолитные блокчейны — это, по сути, первая модель блокчейна, которая основывалась на том, что блокчейн может выполнять все необходимые функции: исполнение транзакций, их подтрвеждение, обмен данными и обеспечение связи и согласия с узлами (нодами).
Модульные блокчейны — такие блокчейны дробятся на несколько частей (модулей), каждый из которых выполняет лишь одну функцию.
Celestia, как раз-таки, является одним из модульных блокчейнов, который за счёт своей модульной архитектуры обеспечивает стабильную и относительно дешёвую стоимость проверки транзакций.
Благодаря этому разработчики могут развертывать роллапы и децентрализованные приложения поверх Celestia, причём их проекты могут сосредоточиться только на исполнении транзакций, в то время как Celestia будет обеспечивать доступность данных и работу консенсуса.
Что за доступность данных?
Celestia Data Availability Layer (доступность данных) — это доступ, который получают валидаторы для просмотра и включения данных о транзакциях в блоки с минимальным доверием.
Два ключевых компонента Celestia DA — это Data Availability Sampling (DAS) и Namespaced Merkle Trees (NMTs).
Data Availability Sampling
DAS — это случайные краткие выборки данных блока, сделав которые можно с уверенностью судить о том, что данные всего блока являются верными и опубликованными. Данные выборки предоставляется пользователям с помощью DAS Light Client. Соответственно, если валидаторы обнаружат что-то подозрительное, они уведомят Light Client, предоставив доказательства мошенничества.
Чем больше таких выборок было сделано, тем с большей уверенностью можно будет судить, что данные в блоке верны.
Для обеспечения работы DAS команда Celestia использовала двухмерную систему кодирования Рида-Соломона.
Как это работает?
Представим, что данные блока — это паззл размером NxN. Celestia представляет эти данные в более крупный паззл, к примеру, больше исходного в 2 раза. После этого Light Nodes выбирают несколько фрагментов паззла и запрашивают у Full Nodes соответствующие данные и, если они могут их предоставить, возрастает вероятность того, что эти данные являются действительными.
Кроме того, до тех пор, пока Celestia Light Clients отбирают достаточное количество данных, Full Nodes могут восстанавливать полные данные блока.
Другими словами, чем больше Celestia Light Clients, тем больше транзакций они могут обработать и тем больший размер блока они могут обработать.
Namespaced Merkle Trees
NMTs — это дерево Меркла Меркла с листьями, упорядоченными по идентификаторам пространства имен, и хэш-функцией, измененной таким образом, чтобы каждый узел в дереве включал диапазон пространств имен всех его потомков.
Это позволяет приложениям загружать только собственные данные, игнорируя данные других приложений.
Далее, чтобы упорядочить и проверить данные, Celestia использует NMTs для упорядочивания своих данных по идентификаторам пространства имен. Теперь каждый узел в дереве Меркла имеет диапазон пространств имен, которые принадлежат исключительно этому узлу, что позволяет Celestia предоставлять доказательства полноты данных.
На следующем скрине показан пример NMT с высотой три (т.е. восемь блоков данных). Данные разделены на три пространства имен.
Для чего это нужно?
С учетом DAS и NMTs основной рабочий дизайн Celestia можно охарактеризовать следующим образом:
Celestia предлагает услуги только для уровней DA и консенсуса, но не для проверки и исполнения транзакций. Исполнением и проверкой занимаются приложения, что делает их относительно более масштабируемыми по сравнению с монолитными блокчейнами.
Кроме того, увеличение числа Light Clients способствует увеличению безопасности. Чем больше таких клиентов у Celestia, тем больше вероятность того, что исходные данные блока могут быть восстановлены полными узлами. Также, чем больше больше легких клиентов, тем больше размер блока без ущерба для децентрализации.
Помимо этого, Celestia способствует большой совместимости, так как Cosmos позволяет Celestia подключаться к зонам с поддержкой IBC (Inter Blockchain Communication), тем самым открывая взаимодействие между всеми сетями, построенными поверх Celestia.