Что такое Monad?

Обзор блокчейна Monad

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-секундная окончательность.

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

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-совместимыми блокчейнами:

MonadEthereumBNB ChainAvalanchePolygon
Механизм консенсусаMonadBFTPOSPOSAAvalanche POSPOS
СлойL1L1L1L1 / подсетиL2 / сайдчйен
Пропускная способность~10000 TPS15 TPS60-100 TPS4500 TPS7000 TPS
КомиссииНизкиеВысокиеНизкиеНизкиеНизкие
ОсобенностиПараллельное и асинхронное выполнение, высокая масштабируемость.Высокая децентрализация и безопасность.Низкие транзакционные издержки при высоких нагрузкахИнфраструктура подсетейМасштабирование L2