YTWO Report: Modular Blockchains
Содержание
TL;DR
В этой статье мы рассмотрим концепцию модульных блокчейнов. Сначала обсудим, как ПО использует модульность для обеспечения стабильной работы. Затем сравним модульные блокчейны с монолитными, в которых вся функциональность сосредоточена в одном ядре.
Изучим модульные блокчейны с архитектурной точки зрения и разберём принципы их работы. Выделим основные преимущества модульных блокчейнов. Также рассмотрим популярные решения в этой области и разберем некоторые из них.
Modular (microservice) software introduction
В мире разработки программного обеспечения существует два основных подхода к построению систем: модульная/микросервисная и монолитная архитектура. Для тех, кто не знаком с этими понятиями, давайте рассмотрим простой пример из реального мира.
Представьте, что вы строите дом. В случае монолитной архитектуры, вы бы построили весь дом как одно целое здание, где все элементы (стены, крыша, окна) слились бы в одно целое. Это может быть удобно с точки зрения простоты и скорости строительства, но может стать проблематичным при необходимости внесения изменений или обновлений.
С другой стороны, модульная архитектура подразумевает разбиение дома на отдельные модули (например, отдельные комнаты), которые могут быть изменены или заменены независимо друг от друга. Это обеспечивает большую гибкость.
Микросервисы в данном случае и означают модульный подход, где модули представлены в виде независимых сервисов. Модули могут быть независимо разработаны и поддерживаться, что обеспечивает гибкость системы. Можно заменять, улучшать, удалять модули без урона для всей системы.
Давайте обобщим преимущества модульного подхода:
Ну и как можно понять из перечисленных преимуществ, то на текущий момент микросервисная архитектура для разработки ПО является более популярной и предпочтительной по сравнению с монолитной архитектурой.
Modular vs Monolithic
Наверное вы уже заметили, как вышеуказанные преимущества пересекаются и коррелируют с блокчейном. Тут мы подходим к тому, как такая архитектура может быть имплементирована в наш любимый блокчейн.
Давайте перенесем этот концепт на блокчейн. Модульные блокчейны используют подход, аналогичный микросервисной/модульной архитектуре программного обеспечения, разделяя блокчейн на отдельные модули или слои, каждый из которых выполняет определенные функции. Это позволяет улучшить гибкость, масштабируемость и безопасность блокчейна.
Сравнивая с монолитным блокчейном, где все функциональности находятся в одном "здании", модульный подход дает больше свободы для изменений и обновлений, что может быть критически важно в быстро развивающемся мире блокчейн-технологий.
Но ведь сначала появились монолитные блокчейны. Давайте вспомним и о них. В начале было слово, слово помогло заложить первые принципы монолитных блокчейнов. Блокчейны те были однообразны, выполняли все возложенные на него функции в рамках одного целого. Эти монолитные блокчейны, подобно огромным монолитным приложениям, объединяли в себе управление смарт-контрактами, обработку транзакций, управление консенсусом и другие функции в едином потоке. На тот момент это был апогей технического прорыва.
Но что стало катализатором появления модульных блокчейнов, здесь все просто: выше мы выделили преимущества модульного подхода по пунктам. Просто к каждому пункту добавьте “не” и это будет относиться к монолитной архитектуре блокчейна. Легкость внесения изменений, гибкость и масштабируемость – все это не про монолитные блокчейны. Хотя некоторые из них успешно справляются с этими проблемами.
Трилемма блокчейна еще больше подчеркивает компромиссы, которые блокчейны должны делать между безопасностью (сильный консенсус и неизменность), децентрализацией (широко распространенное распределение контроля над сетью) и масштабируемостью. Вот и монолиты пытаются усидеть на двух стулях. Ethereum жертвует масштабированием в угоду децентрализации, Solana – наоборот (еще и отдыхает периодически).
Тогда нам и понадобился новый подход - модульные блокчейны, которые предлагают более гибкое и расширяемое решение для построения блокчейнов. Они позволяют разделить функции блокчейна на отдельные модули или слои, каждый из которых отвечает за определенные задачи.
Technical Architecture
Блокчейн условно можно разделить на компоненты/уровни: исполнение, расчет, консенсус, доступность данных.
- Исполнение — это процесс, в котором узлы блокчейна обрабатывают транзакции для перехода между состояниями
- Расчет — это процесс, который обеспечивает неизменность транзакций в блокчейне, играя решающую роль в обеспечении того, что никто не сможет изменить записанные транзакции
- Консенсус — это процесс, который устанавливает общее соглашение о действительности транзакций
- Доступность данных — это процесс, который обеспечивает доступ к запрошенным данным в блокчейне
Не получится избавиться от одного из уровней, это, скорее, уже методичка блокчейна: “How to Build Blockchain for Beginners”. Каждый уровень играет свою роль, чтобы система работала надежно и эффективно.
Подобно тому, как модульный блокчейн разделяет функции на отдельные модули, L2 Rollups разделяют обработку транзакций на два уровня: базовый уровень L1, который обеспечивает безопасность, и агрегированный уровень L2, который выполняет обработку и упаковку транзакций перед отправкой на верхний уровень.
Конечно, есть решения, которые дробят модули еще сильнее вроде деление на модуль доступности данных, модуль консенсуса. Но в общем случае это работает так:
Происходит группировка транзакций в блоки L2. Эти блоки содержат сводную информацию о транзакциях, их последовательности и результаты выполнения. Затем эти блоки отправляются на L1. Каждое модульное или rollup решения уникально. Где-то уровень доступности данных является сам L1, где-то это отдельный модуль. Получается, что единого решения нет, но все завязано на этих четырех компонентах.
Давайте теперь поговорим о том, какие преимущества предлагает модульный блокчейн помимо повышения общей производительности, которая способна устранить узкие места и обеспечить переход на новый уровень развития:
- Security: обеспечивается базовым уровнем L1
- Iteration: Модули больше подходят для более быстрых инноваций, обновлений, форков и т.д. Заменить модуль проще, чем целую систему
- Pluggable: больше возможностей для разработки приложений и технологий
На практике модульные блокчейны могут быть построены с тремя основными категориями и бесчисленным количеством подкатегорий:
Экосистема
Быстрое развитие, курс на масштабирование и рост рынка привели к появлению ряда проблем, которые способствовали появлению множества решений для разработки модульных решений для блокчейна. Давайте перечислим некоторые:
- Fuel: https://fuel.network/
- zkPorter: https://matter-labs.io/
- Starknet: https://www.starknet.io/
- KYVE: https://www.kyve.network/
- Polygon Hermez: https://polygon.technology/
- Rivalz Network: https://rivalz.ai/
- Polygon Avail: https://polygon.technology/
- Evmos: https://evmos.org/
- STARKEx: https://starkware.co/starkex-ecosystem/
- Dymension: https://dymension.xyz/
- Arbitrum: https://arbitrum.io/
- Scroll: https://scroll.io/
- Optimism: https://www.optimism.io/
- Aptos: https://aptoslabs.com/
- Sui: https://sui.io/
- Cosmos: https://cosmos.network/
- Celestia: https://celestia.org/
Каждый из проектов нацелен на свои задачи. Например, Fuel, Optimism, Polygon Hermez, Arbitrum – работают на уровне выполнения, Celestia, zkPorter, STARKEx – обеспечивают уровень доступности данных, Evmos, Cosmos, Aptos – обеспечивают уровни консенсуса и расчета. Давайте поближе взглянем на некоторые из решений:
Celestia
Celestia — это модульная сеть доступности данных (DA), которая безопасно масштабируется в зависимости от количества пользователей, что позволяет каждому легко запустить собственный блокчейн.
Rollups и L2 используют Celestia в качестве сети для публикации и предоставления данных о транзакциях, доступных для загрузки всем желающим. Для них Celestia предоставляет DA, который можно легко проверить с помощью легкого узла.
Легкие узлы, в обычном понимании, используются для тривиальных действий. Они не хранят всю информацию, а лишь заголовки блоков, а при проверке запрашивают данные у полных узлов. Легкие узлы полагают, что получают корректные данные от полных узлов, за неимением других вариантов.
В данном случае даже легкий узел может с определенной вероятностью утверждать, что все данные блока были опубликованы, путем загрузки лишь очень небольшой части блока. Он использует математический примитив, называемый кодом стирания. Математику пожалуй оставим в стороне, но если интересно, то, пожалуйста.
Философия Celestia представляет собой «ленивый» блокчейн, который выполняет только две основные функции, которые должен делать блокчейн — упорядочивать транзакции и делать их доступными. Тем не менее, может должным образом обеспечить валидность блоков.
Ресурсы: Website | Twitter | Github
Fuel
Fuel — это операционная система, специально созданная для Ethereum Rollups. Fuel позволяет Rollups решать кейсы PSI (parallelization, state minimized execution, interoperability) Команда ожидает не менее 1000 TPS.
Являясь уровнем исполнения, делегирует остальные компоненты другим решениям. Примером может служить Arbitrum (уровень исполнения) и Ethereum (уровень безопасности).
Потенциально это может выглядеть следующим образом:
Как можно заметить предлагаемая модель использование тесно связана с Ethereum и Celestia, но пока сложно сказать, какая модель будет доминирующей. Думаю, что интересней всего будет понаблюдать за развитием четвертой и пятой реализациями: Fuel на уровне выполнения, а Celestia на уровне доступности данных.
Собственно Джон Адлер (co-founder Celestia) после выхода Celestia вернулся к разработке Fuel, что намекает на совместную разработку.
При инвесте Celestia в $56.6M и Fuel в $81M можно оценить насколько инвесторы оценили успешный выход Celestia и надежду на Fuel.
Интересно еще подметить, что в период с 2019 по 2022 собрал всего $1,5M, а в сентябре 2022 года Fuel объявила о раунде финансирования на сумму $80M. Видимо интерес к модульным технологиям действительно возрос.
Модель UTXO, используемая в Fuel (и в Bitcoin), помогла достичь параллелизации вычислений.
- Скрипты: программы, которые позволяют одной транзакции вызывать несколько контрактов.
- Предикты: могут использоваться для выполнения транзакций при выполнении определенных условий
Такие возможности разгружают сеть и позволяют свести некоторые действия в сети к скриптам и предиктам, без необходимости разворачивать целые контракты.
Ресурсы: Website | Twitter | Github
Dymension
Dymension похож на полнофункциональное веб-приложение, в котором пользователи взаимодействуют с RollApps (не Rollups!!!) и выступает в качестве координатора экосистемы, а сети доступности данных (база данных) предоставляют место для публикации данных.
Для ясности: RollApps – потому что это отдельные приложения развернутые на отдельном блокчейне.
Dymension защищает RollApps для пользователей и предоставляет мост для удобного внесения депозита или вывода средств. По сути, Dymension – бэкенд, который обеспечивает безопасность и подключение к блокчейнам (RollApps).
RollApps сами по себе представляют собой простые модульные блокчейны, которые изначально интегрируются с Dymension. Это модульные среды выполнения, ориентированные на конкретные приложения. Вместо того чтобы следовать правилам наложенных на родительский блокчейн, они более гибко подстраиваются под нужды пользователей.
В отличие от RollApps, Dymension Hub находится в ядре системы и отвечает за уровень оплаты и консенсуса. Он играет важную роль в поддержании согласованности сети и управлении процессом консенсуса, гарантируя, что каждая транзакция происходит правильно и безопасно.
Кстати, Dymension использует Celestia, как уровень доступности данных.
Conclusion
Мета на модульные решения действительно привели к всплеску интереса и появлению огромного количества решений. Эти модульные подходы к блокчейну позволяют разбивать блокчейн на отдельные модули или уровни, что отличается от традиционного монолитного подхода. В результате мы видим изменение восприятия блокчейна, где он больше не рассматривается как единое монолитное сооружение, а скорее как набор подмодулей, которые могут быть комбинированы и адаптированы от случая к случаю. Модульные решения позволили сгладить углы монолитных блокчейнов, позволяя более лаконично настраиваться и масштабироваться.
С учетом этих изменений существует возможность того, что мета модульных решений приведет к тому, что Ethereum станет уровнем расчета для других блокчейнов, как самый уважаемый блокчейн. Такая судьба может ожидать и остальные монолитные решения, поживем – увидим. Мы, команда YTWO, постоянно проводим анализ и исследуем инновационные модульные подходы, которые могут стать новыми единорогами в блокчейн-индустрии. Оставайтесь в курсе событий и следите за нашими обновлениями.