
Monad — это высокопроизводительный блокчейн уровня 1, совместимый с виртуальной машиной Ethereum (EVM), направленный на баланс между децентрализацией и масштабируемостью. Используя собственные разработки в области консенсуса, асинхронного и параллельного исполнения, блокчейн Monad позволяет достичь пропускной способности более 10000 транзакций в секунду.
Связанные статьи:
➤ Как добавить сеть Monad в Metamask?
➤ Тестнет Monad
🌎 Сайт: Monad
Обзор блокчейна Monad
С точки зрения совместимости, Monad предлагает полную совместимость байт-кода с Ethereum, благодаря чему любые децентрализованные приложения (dApps), изначально созданные для Ethereum, могут быть перенесены в Monad без каких-либо изменений кода. Кроме того, реализована полная совместимость с Ethereum RPC, благодаря чему можно беспрепятственно использовать такую инфраструктуру, как Etherscan или The Graph.
С точки зрения производительности, Monad обеспечивает пропускную способность 10 000 транзакций в секунду (TPS), предлагая при этом частоту блоков 500 мс и финализацию в 1 cекунду. Это позволяет Monad поддерживать гораздо больше пользователей и гораздо больше интерактивных возможностей, чем существующие блокчейны, предлагая при этом гораздо более низкие затраты на транзакции.
Архитектура блокчейна Monad
Разработчики блокчейна Monad работают над четырьмя основными концепциями: механизм консенсуса MonadBFT, асинхронное выполнение, параллельное выполнение и база данных MonadDB, благодаря которым и удается достичь такой высокой пропускной способности.
1. MonadBFT
MonadBFT — это механизм консенсуса, который поддерживает высокую пропускную способность, молниеносную окончательность и большое количество узлов. Он позволяет глобально распределенным узлам достигать консенсуса о едином порядке транзакций. Как и другие алгоритмы консенсуса BFT, MonadBFT работает в условиях частичной синхронности и максимального веса византийской доли в 33%.
Некоторые примечательные особенности MonadBFT:
➤ Линейные накладные расходы на связь в счастливом пути.
➤ Квадратичные накладные расходы на связь в случае тайм-аута.
➤ Конвейеризация предложений по блокам с ответными сертификатами, что позволяет предлагать новый блок в каждом раунде.
➤ 500 мс время раунда / частота блока.
➤ 1-секундная окончательность.

2. Асинхронное выполнение
Асинхронное выполнение — это механизм, позволяющий блокчейну Monad существенно увеличить производительность выполнения за счет разделения консенсуса и выполнения. Разделение консенсуса и выполнения позволяет блокчейну существенно увеличить возможный бюджет выполнения, поскольку выполнение переходит от занятия небольшой доли времени блока к занятию полного времени блока.
Monad отделяет консенсус от исполнения, перемещая исполнение из горячего пути консенсуса на отдельную, слегка отстающую дорожку. При асинхронном выполнении консенсус занимает все время блока, также как и выполнение, поскольку они происходят на отдельных дорожках в одно и то же время:

Хотя исполнение отстает от консенсуса, общее состояние сети определяется, как только определяется порядок.
3. Параллельное выполнение
В блокчейне Monad транзакции выполняются параллельно и хотя на первый взгляд может показаться, что это подразумевает иную семантику выполнения, чем та, что существует в Ethereum, на самом деле это не так. Блоки Monad такие же, как блоки Ethereum — линейно упорядоченный набор транзакций. Результат выполнения транзакций в блоке идентичен для Monad и Ethereum.
На базовом уровне Monad использует оптимистичное выполнение, что позволяет начать выполнять транзакции до того, как предыдущие транзакции в блоке будут завершены. Иногда это может приводить к неправильному выполнению.
Оптимистичное выполнение решает эту проблему путем отслеживания входных данных, используемых при выполнении транзакции 2, и сравнения их с выходными данными транзакции 1. Если они отличаются, и транзакция 2 использовала неверные данные при выполнении, ее необходимо выполнить снова с правильными данными.
В то время, как Monad выполняет транзакции параллельно, обновленное состояние для каждой транзакции объединяется последовательно, чтобы проверить условие, упомянутое выше.
4. База данных MonadDB
MonadDb — критически важный компонент Monad для поддержания полной совместимости с Ethereum при обеспечении высокой производительности. Это специально созданная база данных «ключ-значение», предназначенная для хранения аутентифицированных данных блокчейна. MonadDb, в частности, оптимизирован для эффективного хранения дерева хешей (Merkle Patricia Trie) на диске.
Так как Monad выполняет несколько транзакций параллельно, чтения не должны блокировать продолжение работы, поэтому приходится использовать асинхронный ввод-вывод для базы данных. MonadDb использует последнюю поддержку ядра для асинхронного ввода-вывода, что позволяет избежать создания большого количества потоков ядра для обработки ожидающих запросов ввода-вывода в попытке выполнить работу асинхронно.
Другие подробности
Учетные записи в Monad идентичны учетным записям Ethereum и используют то же адресное пространство (20-байтовые адреса с использованием кодировки ECDSA). Как и в Ethereum, существуют внешние учетные записи (EOA) и контрактные учетные записи.
Формат транзакций полностью соответствует Ethereum EIP-2718, сами транзакции кодируются при помощи сериализации с рекурсивным префиксом (RLP).
Блоки также линейны, как и транзакции внутри блоков, а параллельное выполнение используется строго для эффективности и никогда не влияет на результат или конечное состояние серии транзакций.
Преимущества блокчейна Monad
Создатели блокчейна Monad позиционируют его, как платформу смарт-контрактов нового поколения, что обусловлено следующими преимуществами перед другими блокчейнами:
➤ Полная совместимость с Ethereum. 100%-ная совместимость с виртуальной машиной Ethereum (EVM) упрощает разработчикам перенос уже существующих приложений и способствует притоку пользователей из других сетей, совместимых с Ethereum.
➤ Высочайшая пропускная способность. Monad позволяет обрабатывать до 10000 транзакций в секунду (TPS) и превосходит большинство существующих на рынке блокчейнов. Это способствует появлению в его экосистеме ресурсоемких приложений, требующих быстрых и дешевых транзакций.
➤ Высокая скорость транзакций. Молниеносная окончательность позволяет практически мгновенно исполнять транзакции благодаря конвейерному механизму консенсуса MonadBFT.
➤ Параллельное выполнение. Блокчейн Monad обрабатывает одновременно несколько транзакций, что значительно повышает производительность сети и снижает задержки.
➤ Инновационна архитектура. Изначально сеть разработана таким образом, чтобы решить проблему масштабируемости и избавить ее от узких мест при быстром росте числа транзакций.
➤ Экономическая эффективность. Все вышеизложенное потенциально приводит к значительному снижению транзакционных издержек, делая сеть максимально привлекательной, как для пользователей, так и для разработчиков.
Сравнение Monad с другими популярными EVM-совместимыми блокчейнами:
Monad | Ethereum | BNB Chain | Avalanche | Polygon | |
---|---|---|---|---|---|
Механизм консенсуса | MonadBFT | POS | POSA | Avalanche POS | POS |
Слой | L1 | L1 | L1 | L1 / подсети | L2 / сайдчйен |
Пропускная способность | ~10000 TPS | 15 TPS | 60-100 TPS | 4500 TPS | 7000 TPS |
Комиссии | Низкие | Высокие | Низкие | Низкие | Низкие |
Особенности | Параллельное и асинхронное выполнение, высокая масштабируемость. | Высокая децентрализация и безопасность. | Низкие транзакционные издержки при высоких нагрузках | Инфраструктура подсетей | Масштабирование L2 |