Урок 3

Техническая архитектура Монады

Этот модуль предоставляет глубокий технический анализ архитектуры Monad, описывая, как протокол достигает высокой пропускной способности и низкой задержки. Среди тем обсуждаются параллельный движок выполнения, асинхронная модель выполнения, консенсус MonadBFT и пользовательский уровень хранения MonadDB - все это разработано для поддержки сложных, масштабируемых приложений на цепочке.

Оптимистичное параллельное выполнение

Одним из наиболее определяющих инноваций блокчейна Monad является его оптимистичная параллельная модель выполнения. Этот подход переосмысливает обработку транзакций на уровне протокола, решая ключевое ограничение традиционных блокчейнов: последовательное выполнение. На платформах, таких как Ethereum, транзакции выполняются одна за другой, что обеспечивает согласованность состояния, но серьезно ограничивает пропускную способность и общую производительность.

Виртуальная машина Monad вводит параллелизм, предполагая, что большинство транзакций в блоке независимы и не взаимодействуют с одними и теми же частями состояния блокчейна. Исходя из этого предположения, транзакции группируются и планируются для параллельного выполнения по нескольким потокам обработки. Это значительно увеличивает пропускную способность выполнения, особенно при высокой сетевой нагрузке, за счет более эффективного использования современных многоядерных процессоров по сравнению с последовательными моделями.

Однако параллелизм вводит потенциальные риски конфликта данных, например, две транзакции, пытающиеся изменить один и тот же счет или контракт. Monad решает эту проблему, интегрируя систему обнаружения и разрешения конфликтов. После выполнения транзакций параллельно система проверяет на наличие несоответствий. Если обнаружены конфликты, только затронутые транзакции повторно выполняются или безопасно переупорядочиваются. Это гарантирует, что блокчейн поддерживает корректность и детерминированные переходы состояний, сохраняя при этом эффективность параллельной обработки.

Эта модель напоминает оптимистичный контроль параллелизма в современных системах баз данных, где большинство операций считается непротиворечивыми и обрабатывается одновременно. Только в крайних случаях система вмешивается. Результатом является масштабируемый и адаптивный уровень выполнения, подходящий для приложений с высоким объемом транзакций и разнообразной нагрузкой.

Оптимистичное параллельное выполнение особенно выгодно для таких случаев использования, как DeFi, игровые приложения и рынки NFT, где множество пользователей взаимодействуют одновременно, но редко с одними и теми же данными. Monad может обрабатывать эти операции параллельно, уменьшая загруженность и улучшая отзывчивость децентрализованных приложений без необходимости внецепных масштабируемых слоев.

Еще одним ключевым преимуществом является простота для разработчиков. Среда, совместимая с EVM, Monad, позволяет смарт-контрактам, написанным на Solidity, выполняться нормально, не требуя от разработчиков ручного управления параллельностью. Протокол обрабатывает логику выполнения за кулисами, сохраняя опыт разработчика и улучшая производительность сети.

Асинхронное выполнение

Дополняя свою параллельную модель выполнения, Monad реализует асинхронное выполнение, архитектурную особенность, которая отделяет выполнение транзакций от процесса согласования. В традиционных блокчейнах согласование и выполнение тесно связаны - валидаторы должны выполнить все транзакции перед согласованием и завершением блока. Это сопряжение вводит задержку и ограничивает скорость производства новых блоков.

Monad развязывает эти функции, заканчивая сначала порядок транзакций через консенсус, а затем выполняя их позже. Такая конструкция позволяет слою консенсуса работать независимо и непрерывно, в то время как выполнение происходит параллельно на заднем плане. Это увеличивает эффективность валидатора и сокращает время блока, поскольку валидаторы больше не ограничены временем, необходимым для вычисления результатов каждой транзакции.

Система поддерживает детерминированность и безопасность, обеспечивая выполнение всех узлов точно таких же транзакций в том же согласованном порядке, даже если само выполнение происходит в разное время. Это гарантирует согласованность по всей сети и предотвращает расхождение в состоянии блокчейна.

Асинхронное выполнение также дополняет оптимистичный параллелизм Monad. Пока консенсус продвигается и новые блоки быстро завершаются, выполнение происходит одновременно по нескольким потокам, разрешая конфликты только по мере необходимости. Это комбинация параллельного асинхронного выполнения максимизирует системную конкурентность и использование ресурсов, не нарушая корректности.

С точки зрения пользователя и разработчика эта архитектура приводит к более быстрому включению транзакций, более отзывчивым приложениям и улучшенной масштабируемости. Валидаторы также получают выгоду от сокращения узких мест, что приводит к более эффективной и децентрализованной сети.

Механизм консенсуса MonadBFT

В Монаде консенсус достигается через MonadBFT, настраиваемую адаптацию протокола Byzantine Fault Tolerant (BFT) HotStuff. Этот механизм консенсуса оптимизирован как с точки зрения производительности, так и с точки зрения безопасности, поддерживая цели Монады по обеспечению низкой финальности и высокой пропускной способности, оставаясь доступным для децентрализованных валидаторов.

HotStuff был изначально разработан для сокращения количества раундов связи, необходимых для завершения блока. MonadBFT развивает эту идею, обеспечивая окончательность в одном слоте, где блоки завершаются за один раунд консенсуса без ожидания нескольких подтверждений. Это обеспечивает мгновенную окончательность транзакции, улучшая предсказуемость для приложений и снижая риск реорганизации цепочки.

MonadBFT использует модель на основе лидеров. На каждом раунде один валидатор предлагает блок, в то время как другие валидируют его и голосуют за него. Если две трети общей ставки валидатора подтверждают блок, он финализируется. Этот оптимизированный процесс минимизирует накладные расходы и ускоряет производство блоков, особенно в нормальных условиях работы.

Для обеспечения живости MonadBFT включает в себя стратегии смены лидера и тайм-аута. Если лидер не может предложить блок, следующий валидатор в очереди автоматически берет на себя управление. Эта устойчивость гарантирует, что цепь продолжает продвигаться даже если некоторые валидаторы находятся в автономном режиме или не реагируют.

С точки зрения безопасности MonadBFT придерживается типичного порога BFT, терпимого к тому, чтобы до трети валидаторов действовали злонамеренно без ущерба для безопасности. Как только блок финализирован, он криптографически запечатан и не может быть отменен без коллаборации нечестных актеров, контролирующих большинство валидаторов.

Протокол тесно интегрирован с асинхронной моделью выполнения Monad. Поскольку блоки завершаются перед выполнением, система может продолжать развиваться без задержек, в то время как слой выполнения обрабатывает транзакции независимо. Такая архитектура снижает нагрузку на валидаторов и позволяет системе поддерживать высокую производительность без использования централизованных служб последовательности или доверенных посредников.

MonadDB

Эффективное выполнение и согласование зависят от высокопроизводительной системы управления состоянием. В Monad эту роль выполняет MonadDB, уровень хранения состояния блокчейна. MonadDB отвечает за хранение всех данных on-chain, включая балансы счетов, хранение контрактов и другие постоянные переменные состояния. Он разработан для быстрой, параллельной работы и полной совместимости с параллельным исполнительным механизмом Monad.

MonadDB использует версионное постоянное хранилище ключ-значение, что позволяет ему поддерживать несколько снимков состояния одновременно. Это необходимо для поддержки спекулятивного выполнения, где несколько транзакций обрабатываются параллельно и могут быть откачены или откорректированы в зависимости от конфликтов. Храня разные версии состояния, MonadDB позволяет движку выполнения изолировать и эффективно разрешать конфликты данных.

В своей основе MonadDB использует структуру данных Merkle Patricia Trie - криптографически безопасное дерево, которое позволяет быструю верификацию состояния блокчейна. Эта структура trie обеспечивает, что любое изменение в состоянии приводит к новому корневому хешу, который может быть проверен всеми узлами. Он поддерживает бесдоверческую синхронизацию, легких клиентов и верификацию состояния на основе доказательств, которые являются основополагающими для безопасного и масштабируемого проектирования блокчейна.

Для обработки ожидаемого объема транзакций MonadDB разработан для низкой задержки чтения и записи. Он включает кэширование, безопасные контроли доступа к параллельным процессам и высокоскоростное дисковое хранилище для быстрого извлечения и изменения записей состояния. Эти оптимизации позволяют слою исполнения работать с высокой пропускной способностью без замедления из-за задержек доступа к данным.

С точки зрения разработчика, MonadDB полностью абстрагирована. Разработчики смарт-контрактов взаимодействуют с блокчейном через знакомые конструкции Solidity, без необходимости управлять основными механизмами состояния. MonadDB гарантирует, что состояние обновляется и хранится точно, даже при высокой нагрузке или во время выполнения сложных контрактов.

Відмова від відповідальності
* Криптоінвестиції пов'язані зі значними ризиками. Дійте обережно. Курс не є інвестиційною консультацією.
* Курс створений автором, який приєднався до Gate Learn. Будь-яка думка, висловлена автором, не є позицією Gate Learn.
Каталог
Урок 3

Техническая архитектура Монады

Этот модуль предоставляет глубокий технический анализ архитектуры Monad, описывая, как протокол достигает высокой пропускной способности и низкой задержки. Среди тем обсуждаются параллельный движок выполнения, асинхронная модель выполнения, консенсус MonadBFT и пользовательский уровень хранения MonadDB - все это разработано для поддержки сложных, масштабируемых приложений на цепочке.

Оптимистичное параллельное выполнение

Одним из наиболее определяющих инноваций блокчейна Monad является его оптимистичная параллельная модель выполнения. Этот подход переосмысливает обработку транзакций на уровне протокола, решая ключевое ограничение традиционных блокчейнов: последовательное выполнение. На платформах, таких как Ethereum, транзакции выполняются одна за другой, что обеспечивает согласованность состояния, но серьезно ограничивает пропускную способность и общую производительность.

Виртуальная машина Monad вводит параллелизм, предполагая, что большинство транзакций в блоке независимы и не взаимодействуют с одними и теми же частями состояния блокчейна. Исходя из этого предположения, транзакции группируются и планируются для параллельного выполнения по нескольким потокам обработки. Это значительно увеличивает пропускную способность выполнения, особенно при высокой сетевой нагрузке, за счет более эффективного использования современных многоядерных процессоров по сравнению с последовательными моделями.

Однако параллелизм вводит потенциальные риски конфликта данных, например, две транзакции, пытающиеся изменить один и тот же счет или контракт. Monad решает эту проблему, интегрируя систему обнаружения и разрешения конфликтов. После выполнения транзакций параллельно система проверяет на наличие несоответствий. Если обнаружены конфликты, только затронутые транзакции повторно выполняются или безопасно переупорядочиваются. Это гарантирует, что блокчейн поддерживает корректность и детерминированные переходы состояний, сохраняя при этом эффективность параллельной обработки.

Эта модель напоминает оптимистичный контроль параллелизма в современных системах баз данных, где большинство операций считается непротиворечивыми и обрабатывается одновременно. Только в крайних случаях система вмешивается. Результатом является масштабируемый и адаптивный уровень выполнения, подходящий для приложений с высоким объемом транзакций и разнообразной нагрузкой.

Оптимистичное параллельное выполнение особенно выгодно для таких случаев использования, как DeFi, игровые приложения и рынки NFT, где множество пользователей взаимодействуют одновременно, но редко с одними и теми же данными. Monad может обрабатывать эти операции параллельно, уменьшая загруженность и улучшая отзывчивость децентрализованных приложений без необходимости внецепных масштабируемых слоев.

Еще одним ключевым преимуществом является простота для разработчиков. Среда, совместимая с EVM, Monad, позволяет смарт-контрактам, написанным на Solidity, выполняться нормально, не требуя от разработчиков ручного управления параллельностью. Протокол обрабатывает логику выполнения за кулисами, сохраняя опыт разработчика и улучшая производительность сети.

Асинхронное выполнение

Дополняя свою параллельную модель выполнения, Monad реализует асинхронное выполнение, архитектурную особенность, которая отделяет выполнение транзакций от процесса согласования. В традиционных блокчейнах согласование и выполнение тесно связаны - валидаторы должны выполнить все транзакции перед согласованием и завершением блока. Это сопряжение вводит задержку и ограничивает скорость производства новых блоков.

Monad развязывает эти функции, заканчивая сначала порядок транзакций через консенсус, а затем выполняя их позже. Такая конструкция позволяет слою консенсуса работать независимо и непрерывно, в то время как выполнение происходит параллельно на заднем плане. Это увеличивает эффективность валидатора и сокращает время блока, поскольку валидаторы больше не ограничены временем, необходимым для вычисления результатов каждой транзакции.

Система поддерживает детерминированность и безопасность, обеспечивая выполнение всех узлов точно таких же транзакций в том же согласованном порядке, даже если само выполнение происходит в разное время. Это гарантирует согласованность по всей сети и предотвращает расхождение в состоянии блокчейна.

Асинхронное выполнение также дополняет оптимистичный параллелизм Monad. Пока консенсус продвигается и новые блоки быстро завершаются, выполнение происходит одновременно по нескольким потокам, разрешая конфликты только по мере необходимости. Это комбинация параллельного асинхронного выполнения максимизирует системную конкурентность и использование ресурсов, не нарушая корректности.

С точки зрения пользователя и разработчика эта архитектура приводит к более быстрому включению транзакций, более отзывчивым приложениям и улучшенной масштабируемости. Валидаторы также получают выгоду от сокращения узких мест, что приводит к более эффективной и децентрализованной сети.

Механизм консенсуса MonadBFT

В Монаде консенсус достигается через MonadBFT, настраиваемую адаптацию протокола Byzantine Fault Tolerant (BFT) HotStuff. Этот механизм консенсуса оптимизирован как с точки зрения производительности, так и с точки зрения безопасности, поддерживая цели Монады по обеспечению низкой финальности и высокой пропускной способности, оставаясь доступным для децентрализованных валидаторов.

HotStuff был изначально разработан для сокращения количества раундов связи, необходимых для завершения блока. MonadBFT развивает эту идею, обеспечивая окончательность в одном слоте, где блоки завершаются за один раунд консенсуса без ожидания нескольких подтверждений. Это обеспечивает мгновенную окончательность транзакции, улучшая предсказуемость для приложений и снижая риск реорганизации цепочки.

MonadBFT использует модель на основе лидеров. На каждом раунде один валидатор предлагает блок, в то время как другие валидируют его и голосуют за него. Если две трети общей ставки валидатора подтверждают блок, он финализируется. Этот оптимизированный процесс минимизирует накладные расходы и ускоряет производство блоков, особенно в нормальных условиях работы.

Для обеспечения живости MonadBFT включает в себя стратегии смены лидера и тайм-аута. Если лидер не может предложить блок, следующий валидатор в очереди автоматически берет на себя управление. Эта устойчивость гарантирует, что цепь продолжает продвигаться даже если некоторые валидаторы находятся в автономном режиме или не реагируют.

С точки зрения безопасности MonadBFT придерживается типичного порога BFT, терпимого к тому, чтобы до трети валидаторов действовали злонамеренно без ущерба для безопасности. Как только блок финализирован, он криптографически запечатан и не может быть отменен без коллаборации нечестных актеров, контролирующих большинство валидаторов.

Протокол тесно интегрирован с асинхронной моделью выполнения Monad. Поскольку блоки завершаются перед выполнением, система может продолжать развиваться без задержек, в то время как слой выполнения обрабатывает транзакции независимо. Такая архитектура снижает нагрузку на валидаторов и позволяет системе поддерживать высокую производительность без использования централизованных служб последовательности или доверенных посредников.

MonadDB

Эффективное выполнение и согласование зависят от высокопроизводительной системы управления состоянием. В Monad эту роль выполняет MonadDB, уровень хранения состояния блокчейна. MonadDB отвечает за хранение всех данных on-chain, включая балансы счетов, хранение контрактов и другие постоянные переменные состояния. Он разработан для быстрой, параллельной работы и полной совместимости с параллельным исполнительным механизмом Monad.

MonadDB использует версионное постоянное хранилище ключ-значение, что позволяет ему поддерживать несколько снимков состояния одновременно. Это необходимо для поддержки спекулятивного выполнения, где несколько транзакций обрабатываются параллельно и могут быть откачены или откорректированы в зависимости от конфликтов. Храня разные версии состояния, MonadDB позволяет движку выполнения изолировать и эффективно разрешать конфликты данных.

В своей основе MonadDB использует структуру данных Merkle Patricia Trie - криптографически безопасное дерево, которое позволяет быструю верификацию состояния блокчейна. Эта структура trie обеспечивает, что любое изменение в состоянии приводит к новому корневому хешу, который может быть проверен всеми узлами. Он поддерживает бесдоверческую синхронизацию, легких клиентов и верификацию состояния на основе доказательств, которые являются основополагающими для безопасного и масштабируемого проектирования блокчейна.

Для обработки ожидаемого объема транзакций MonadDB разработан для низкой задержки чтения и записи. Он включает кэширование, безопасные контроли доступа к параллельным процессам и высокоскоростное дисковое хранилище для быстрого извлечения и изменения записей состояния. Эти оптимизации позволяют слою исполнения работать с высокой пропускной способностью без замедления из-за задержек доступа к данным.

С точки зрения разработчика, MonadDB полностью абстрагирована. Разработчики смарт-контрактов взаимодействуют с блокчейном через знакомые конструкции Solidity, без необходимости управлять основными механизмами состояния. MonadDB гарантирует, что состояние обновляется и хранится точно, даже при высокой нагрузке или во время выполнения сложных контрактов.

Відмова від відповідальності
* Криптоінвестиції пов'язані зі значними ризиками. Дійте обережно. Курс не є інвестиційною консультацією.
* Курс створений автором, який приєднався до Gate Learn. Будь-яка думка, висловлена автором, не є позицією Gate Learn.