Эффективность выполнения транзакций имеет решающее значение для масштабируемости и пользовательского опыта в сетях блокчейн. Высокая пропускная способность (the количество транзакций на second) и низкая задержка подтверждения (quick times) обеспечивают бесперебойную работу dApp даже при интенсивном использовании. Чтобы предложить пользователям лучший опыт, команда разработчиков Cronos усердно работала над оптимизацией производительности, чтобы удовлетворить растущий спрос. Двумя ключевыми инновациями, которые сыграли важную роль в улучшении обработки транзакций и управления состоянием на Cronos, являются BlockSTM и MemIAVL.
Эти инновации были совместно разработаны и предназначены для того, чтобы принести пользу более широкой экосистеме Cosmos и уже вдохновили на принятие в других местах.
Обзор BlockSTM
BlockSTM (Программное Memory) транзакций на уровне блока — это механизм параллельного выполнения, который обеспечивает параллелизм обработки транзакций на Cronos. Традиционно узлы блокчейна обрабатывают транзакции последовательно, что может привести к снижению производительности. BlockSTM улучшает эту задачу, позволяя одновременно выполнять несколько транзакций в пределах блока. Используя STM, оптимистичный метод управления параллелизмом, BlockSTM гарантирует, что конфликты обрабатываются автоматически и откатываются только в случае необходимости.
Такой параллелизм позволяет лучше использовать ресурсы многоядерного процессора, значительно увеличивая пропускную способность и сокращая задержки. Команда Cronos представила настраиваемую систему бенчмаркинга для оценки прироста производительности в различных типах транзакций и средах. Как сообщалось в предыдущем посте, во внутренних тестах цепочка Cronos достигла уровня пропускной способности до 60 000 TPS по сравнению с базовым уровнем ~100 TPS. Даже в конфигурациях с несколькими узлами прирост производительности оставался существенным.
BlockSTM также сокращает время обработки блоков, что, в свою очередь, поддерживает более низкие интервалы блоков и более быструю финализацию. Во время бенчмаркинга стало очевидно, что исполнительный движок превзошел генератор нагрузки, что указывает на дальнейшие возможности для роста с будущими улучшениями инструментов. Эти выводы задокументированы в отчете о бенчмаркинге v1.4.
Обзор MemIAVL
В то время как BlockSTM сосредоточен на скорости выполнения, MemIAVL (, сокращенно Memory IAVL), решает проблему эффективности хранения и обязательств состояния. В цепочках, основанных на Cosmos SDK, состояние приложения традиционно управляется деревом IAVL. Однако оригинальная реализация IAVL может стать узким местом из-за накладных расходов на частые записи на диск и глубокие обновления дерева.
MemIAVL — это альтернативная реализация, разработанная совместно командами Cosmos и Cronos. Он оптимизирует производительность за счет сохранения рабочего состояния в памяти, использования сопоставленных в памяти моментальных снимков и регистрации наборов изменений с помощью (WAL) журнала упреждающей записи. Это значительно повышает скорость фиксации изменений состояния и восстановления снимков.
Тесты показали, что с MemIAVL:
Время восстановления снимка состояния сократилось с 16 часов до 5 минут
Задержка подтверждения блока снизилась более чем в 10 раз
Архивированные наборы изменений в 100 раз меньше полных исторических деревьев
MemIAVL особенно хорошо подходит для обрезанных узлов, которые не сохраняют полное историческое состояние. Он работает в сочетании с Cronos VersionDB, которая обрабатывает запросы исторических данных. Для получения более подробной информации обратитесь к документации и репозиторию MemIAVL.
Совместные усилия и влияние
Несмотря на то, что команда Cronos инициировала и внедрила эти технологии, они спроектированы как модульные и открытые. Сообщество Cosmos SDK проявило интерес к внедрению BlockSTM, и MemIAVL вдохновил на аналогичные усилия. Примечательно, что команда Sei приняла дизайн, вдохновленный MemIAVL, для своего собственного уровня государственных обязательств.
Реализация BlockSTM и MemIAVL в Cronos доступна как открытый исходный код в кодовой базе BlockSTM, результатах бенчмаркинга и документации MemIAVL. Эти вклады направлены на укрепление не только Cronos, но и на помощь в создании основ для улучшения производительности на других цепях Cosmos SDK.
Для разработчиков и партнеров экосистемы преимущества очевидны:
Более высокая пропускная способность позволяет создавать приложения с высоким объемом, такие как торговые платформы DeFi или игры в реальном времени.
Низкая задержка улучшает пользовательский опыт для приложений, требующих быстрой финализации
Более быстрая синхронизация узлов снижает операционную нагрузку для провайдеров инфраструктуры
Улучшенная производительность RPC ускоряет процессы разработки и отладки
Эти улучшения позволяют разработчикам создавать более отзывчивые и масштабируемые приложения непосредственно на Cronos, не полагаясь на внешние решения для масштабирования.
Заключение
BlockSTM и MemIAVL представляют собой важные шаги на пути к решению основных проблем производительности в инфраструктуре блокчейна. Благодаря открытому сотрудничеству и разработке, ориентированной на сообщество, команда Cronos гордится тем, что вносит свой вклад в техническое развитие экосистемы Cosmos. Эти инновации являются примером того, как глубокие усовершенствования на уровне протоколов могут привести к новой волне децентрализованных приложений и расширить потенциал инфраструктуры Web3.
Мы призываем разработчиков экосистемы Cosmos и операторов цепей изучать, тестировать и вносить вклад в эти инициативы. Вместе мы можем построить более быстрое и эффективное децентрализованное будущее.
!
BlockSTM и MemIAVL ускоряют цепочку Cronos, изначально опубликованную в блоге Cosmos Ecosystem на Medium, где люди продолжают обсуждение, выделяя и отвечая на эту историю.
Содержание носит исключительно справочный характер и не является предложением или офертой. Консультации по инвестициям, налогообложению или юридическим вопросам не предоставляются. Более подробную информацию о рисках см. в разделе «Дисклеймер».
БлокSTM и MemIAVL Ускорение Cronos Chain
! ### Производительность
Эффективность выполнения транзакций имеет решающее значение для масштабируемости и пользовательского опыта в сетях блокчейн. Высокая пропускная способность (the количество транзакций на second) и низкая задержка подтверждения (quick times) обеспечивают бесперебойную работу dApp даже при интенсивном использовании. Чтобы предложить пользователям лучший опыт, команда разработчиков Cronos усердно работала над оптимизацией производительности, чтобы удовлетворить растущий спрос. Двумя ключевыми инновациями, которые сыграли важную роль в улучшении обработки транзакций и управления состоянием на Cronos, являются BlockSTM и MemIAVL.
Эти инновации были совместно разработаны и предназначены для того, чтобы принести пользу более широкой экосистеме Cosmos и уже вдохновили на принятие в других местах.
Обзор BlockSTM
BlockSTM (Программное Memory) транзакций на уровне блока — это механизм параллельного выполнения, который обеспечивает параллелизм обработки транзакций на Cronos. Традиционно узлы блокчейна обрабатывают транзакции последовательно, что может привести к снижению производительности. BlockSTM улучшает эту задачу, позволяя одновременно выполнять несколько транзакций в пределах блока. Используя STM, оптимистичный метод управления параллелизмом, BlockSTM гарантирует, что конфликты обрабатываются автоматически и откатываются только в случае необходимости.
Такой параллелизм позволяет лучше использовать ресурсы многоядерного процессора, значительно увеличивая пропускную способность и сокращая задержки. Команда Cronos представила настраиваемую систему бенчмаркинга для оценки прироста производительности в различных типах транзакций и средах. Как сообщалось в предыдущем посте, во внутренних тестах цепочка Cronos достигла уровня пропускной способности до 60 000 TPS по сравнению с базовым уровнем ~100 TPS. Даже в конфигурациях с несколькими узлами прирост производительности оставался существенным.
Обзор MemIAVL
В то время как BlockSTM сосредоточен на скорости выполнения, MemIAVL (, сокращенно Memory IAVL), решает проблему эффективности хранения и обязательств состояния. В цепочках, основанных на Cosmos SDK, состояние приложения традиционно управляется деревом IAVL. Однако оригинальная реализация IAVL может стать узким местом из-за накладных расходов на частые записи на диск и глубокие обновления дерева.
MemIAVL — это альтернативная реализация, разработанная совместно командами Cosmos и Cronos. Он оптимизирует производительность за счет сохранения рабочего состояния в памяти, использования сопоставленных в памяти моментальных снимков и регистрации наборов изменений с помощью (WAL) журнала упреждающей записи. Это значительно повышает скорость фиксации изменений состояния и восстановления снимков.
Тесты показали, что с MemIAVL:
MemIAVL особенно хорошо подходит для обрезанных узлов, которые не сохраняют полное историческое состояние. Он работает в сочетании с Cronos VersionDB, которая обрабатывает запросы исторических данных. Для получения более подробной информации обратитесь к документации и репозиторию MemIAVL.
Совместные усилия и влияние
Несмотря на то, что команда Cronos инициировала и внедрила эти технологии, они спроектированы как модульные и открытые. Сообщество Cosmos SDK проявило интерес к внедрению BlockSTM, и MemIAVL вдохновил на аналогичные усилия. Примечательно, что команда Sei приняла дизайн, вдохновленный MemIAVL, для своего собственного уровня государственных обязательств.
Реализация BlockSTM и MemIAVL в Cronos доступна как открытый исходный код в кодовой базе BlockSTM, результатах бенчмаркинга и документации MemIAVL. Эти вклады направлены на укрепление не только Cronos, но и на помощь в создании основ для улучшения производительности на других цепях Cosmos SDK.
Для разработчиков и партнеров экосистемы преимущества очевидны:
Эти улучшения позволяют разработчикам создавать более отзывчивые и масштабируемые приложения непосредственно на Cronos, не полагаясь на внешние решения для масштабирования.
Заключение
BlockSTM и MemIAVL представляют собой важные шаги на пути к решению основных проблем производительности в инфраструктуре блокчейна. Благодаря открытому сотрудничеству и разработке, ориентированной на сообщество, команда Cronos гордится тем, что вносит свой вклад в техническое развитие экосистемы Cosmos. Эти инновации являются примером того, как глубокие усовершенствования на уровне протоколов могут привести к новой волне децентрализованных приложений и расширить потенциал инфраструктуры Web3.
Мы призываем разработчиков экосистемы Cosmos и операторов цепей изучать, тестировать и вносить вклад в эти инициативы. Вместе мы можем построить более быстрое и эффективное децентрализованное будущее.
!
BlockSTM и MemIAVL ускоряют цепочку Cronos, изначально опубликованную в блоге Cosmos Ecosystem на Medium, где люди продолжают обсуждение, выделяя и отвечая на эту историю.