Monad: найочікуваніший паралельний блокчейн у 2024 році

icon NFT
icon FOR
Фото - Monad: найочікуваніший паралельний блокчейн у 2024 році
Децентралізовані застосунки значно прискорюють глобальне прийняття криптовалют. Одні користувачі застосовують крипту в SocialFi, інші — в DeFi, NFT та інших секторах. Незалежно від того, в якій ніші існує dApp, для справді масового прийняття обов'язково знадобиться добре масштабований блокчейн.
Ethereum — найбільш популярний та зручний блокчейн для створення dApps. Його екосистема налічує сотні проєктів, а 56% всіх активів на крипторинку сконцентровано саме у цій мережі. Немає сумнівів, що Ethereum є найкращою платформою для популяризації криптовалют.

Але, незважаючи на свою популярність, Ethereum і блокчейни його екосистеми досі лишаються надто повільними: Ethereum — 13 TPS (транзакцій за секунду), Arbitrum — 12 TPS, Optimism — 6 TPS.
10 кращих блокчейнів в екосистемі Ethereum за показником TPS. Джерело: l2beat.com

10 кращих блокчейнів в екосистемі Ethereum за показником TPS. Джерело: l2beat.com

Одним із рішень цієї проблеми є паралельне виконання транзакцій. Таку архітектуру вже реалізували проєкти:


Але 2 з них не підтримують Ethereum, а Sei лише в лютому цього року оголосив про запуск Devnet для тестування EVM-сумісності.

Перший паралельний блокчейн, який спочатку розроблявся для Ethereum, — Monad. На початку 2023 року проєкт залучив $19 млн, а наразі веде переговори про залучення нечуваних $200 млн. Творцем проєкту є Кеоне Хон, блокчейн-розробник, який упродовж 8 років працював в інвестиційному фонді Jump Trading.

14 березня 2024 року Monad запустився в Devnet, де розробники обіцяють продемонструвати швидкість 10 000 транзакцій за секунду. Ми вирішили розповісти про принцип роботи блокчейну Monad і про те, які проєкти вже є всередині його екосистеми.

MonadBFT

MonadBFT — це протокол консенсусу Monad, який використовується для узгодження порядку транзакцій. Механізм BFT означає “візантійська відмовостійкість” і дозволяє децентралізованій системі працювати коректно, навіть якщо деякі її компоненти несправні або діють зловмисно.

Щоб зрозуміти переваги MonadBFT, порівняємо його з протоколом консенсусу Tendermint, який використовується в Cosmos. Фіксація блоку в Tendermint потребує виконання трьох фаз:

  • пропозиція;
  • попереднє голосування;
  • попередня фіксація. 

Лідер пропонує блок і розсилає його валідаторам, які проводять два раунди голосування. Тільки після того, як валідатори дійдуть консенсусу, запропонований блок буде зафіксований у блокчейні. Такий підхід зумовлює додаткові витрати часу: вузли мають зафіксувати поточний блок, перш ніж перейти до наступного.

Водночас MonadBFT використовує двораундовий підхід у стилі fan-out-fan-in (шаблон, за якого функції виконуються паралельно). Процес фіксації блоків Monad можна умовно поділити на дві фази:

  • фаза фіксації 1. Лідер пропонує блок k та розсилає його валідаторам, кожен із яких відправляє свій голос лідеру наступного блоку k+1. Останній використовує отримані голоси для створення QC (сертифікат кворуму), який містить ідентичні голоси щонайменше ⅔ всіх валідаторів;
  • фаза фіксації 2. Лідер блоку k+1 передає новий блок і розсилає його разом із QC валідаторам, які фіксують блок k.

MonadBFT використовує конвеєрну структуру, в якій об'єднуються голоси для створення блоку k і k+1. Такий підхід зменшує час, який необхідний для створення одного блоку, завдяки зменшенню кількості кроків комунікацій.
Приблизна візуалізація роботи MonadBFT. Джерело: mirror.xyz

Приблизна візуалізація роботи MonadBFT. Джерело: mirror.xyz

Щоб зрозуміти, як працює конвеєризація, уявіть прання кількох комплектів одягу:

  1. Послідовний підхід. Господиня спочатку пере, сушить, складає і ховає в шафу один комплект речей, а потім береться за наступний. 
  2. Конвеєрний підхід. Щойно перший комплект одягу потрапляє в сушарку, господиня закидає нові речі у пральну машину та повторює цей процес для кожного наступного комплекту.

Повертаючись до MonadBFT, конвеєризація гарантує, що, поки один блок перебуває на стадії попереднього голосування, інший — вже на етапі попередньої або повної фіксації.

Відкладене виконання

Транзакції в Ethereum та більшості інших блокчейнів повинні бути виконані до того, як мережа зможе досягти консенсусу. Monad використовує інший підхід, який називається відкладеним виконанням. Завдяки такому підходу валідатори Monad узгоджують стан мережі ще до виконання транзакцій.

Не вдаючись до технічних деталей, відкладене виконання в Monad можна порівняти з роботою студентської їдальні.

У більшості їдалень студенти спочатку вибирають їжу (виконання транзакцій), а потім стають у чергу, щоб за неї заплатити (консенсус). Якщо ресурси для приготування їжі закінчаться або приготування триватиме надто довго, весь процес може зупинитися.

У “їдальні” Monad використовується інший підхід.

  • Консенсус. Перш ніж отримати їжу, студенти стають у чергу і повідомляють касиру, яку страву вони замовлятимуть. Касир записує черговість страв, подібно до того, як Monad записує порядок транзакцій.
  • Виконання. Після того, як студенти зробили замовлення, вони прямують до стійки видачі страв. Поки один студент отримує їжу, касир приймає замовлення від наступного учня.

Отже, навіть якщо приготування однієї страви потребує більше часу, черга до касира продовжує рухатися. Всі студенти знають, що саме вони отримають, і що їхнє замовлення вже додано у чергу.

Але, що станеться, якщо один із вузлів виявиться шкідливим (наприклад, почне встановлювати стан мережі випадковим чином)?

Для вирішення цієї проблеми Monad використовує затримку підтвердження кореня Меркла (фінальне значення стану блокчейну). Воно затримується D-блоками — системним параметром, який наразі дорівнює 10. Це означає, що стан блоку N-D буде дійсним тільки тоді, коли мережа досягає консенсусу щодо блоку N.

Вузол з помилкою виконання в блоці N-D припинить брати участь у консенсусі, починаючи з блоку N. Це відкочує стан блокчейну до блоку N-D-1, за яким відбудеться повторне виконання транзакцій у блоці N-D, N-D+1, N-D+2 тощо.

Паралельне виконання

Складність паралельного виконання транзакцій полягає у визначенні залежностей між операціями. Monad використовує метод оптимістичного виконання, за якого валідатори обробляють транзакції ще до того, як завершиться обробка попередніх.

Такий підхід є правильним, коли транзакції не взаємопов'язані. Однак трапляються ситуації, у яких результат обробки може бути некоректним, наприклад:

  • транзакція 1 зчитує та оновлює баланс рахунку А (наприклад, отримує переказ з рахунку Б);
  • транзакція 2 також зчитує та оновлює баланс рахунку А (наприклад, переказує кошти на рахунок С).

При паралельному виконанні обробка транзакції 2 почнеться до того, як буде виконана транзакція 1. Відповідно, у разі послідовного виконання, значення балансу, що використовувалося для рахунку А, може відрізнятися.

При оптимістичному підході вхідні дані транзакції 2 порівнюються з вихідними даними транзакції 1. Якщо вони відрізняються, то транзакція 2 буде виконана повторно, проте вже з правильними даними.

Докладніше про паралельне виконання в інших блокчейнах читайте у цій статті.

MonadDB

Паралельне виконання як таке не здатне збільшити продуктивність блокчейну. Для цього системі потрібна відповідна база даних, яка б забезпечила паралельне читання та запис інформації на диск.

Бібліотеки зберігання даних (LevelDB або LMDB), що використовуються в блокчейнах, не підтримують паралельне виконання транзакцій. Тому Monad створили власну базу даних — MonadDB. Незважаючи на те, що вона розширює можливості блокчейну, вартість читання MonadDB аналогічна до вартості раніше згаданого LevelDB.

Екосистема Monad

Команда проєкту стверджує, що швидкість обробки транзакцій у Monad становить 10 000 TPS (транзакцій за секунду). Тому найбільш очевидний варіант використання Monad — це торгові протоколи, зокрема, децентралізовані біржі. Крім цього, блокчейн можна застосовувати у GameFi, NFT, оракулах тощо.
Екосистеми Monad. Джерело: twitter.com

Екосистеми Monad. Джерело: twitter.com

Elixir. За допомогою Elixir користувачі надають ліквідність для різноманітних сховищ, які є маркетмейкерами на децентралізованих біржах. Станом на березень 2024 року проєкт бере участь у роботі Bluefin, RabbitX та Vertex.

The Pipeline. Власне медіа Monad, яке висвітлює оновлення та діяльність проєкту. The Pipeline регулярно бере інтерв'ю у команди Monad та проєктів всередині його екосистеми, публікує освітні статті, а також взаємодіє зі спільнотою.

DeFi-протоколи, які підтримуватимуть Monad:

  • Wormhole. Мультичейн-протокол, який дозволяє обмінювати активи з одного блокчейну і переводити в інший, включно з Ethereum, Solana, Avalanche та іншими;
  • LayerZero. Протокол кросчейн-переказів, токен якого є найочікуванішим активом 2023-2024;
  • iZUMi Finance. Мультичейновий DeFi-протокол, щоденний обсяг торгів якого становить $13,6 млн.

Екосистема Monad продовжує розширюватися. А такі події, як ейрдроп Wormhole, в якому учасники спільноти Monad отримали по 8000 W (приблизно $12 000) за роль у Discord, позитивно впливають на впізнаваність проєкту.

Висновок

Monad цікавий не лише з технологічної точки зору, але й своєю ретроактивністю. Проєкт такого масштабу, цілком імовірно, може повторити успіх Sei та Sui (щодо зростання ціни токена) і Wormhole (щодо ейрдропу).
Зростання токена Sei та Sui. Джерело: tradingview.com

Зростання токена Sei та Sui. Джерело: tradingview.com

Станом на березень 2024 року Monad ще не був запущений публічно. Тому єдина взаємодія із проєктом — це соціальна активність. Користувачі можуть:

  • підписатися на сервер Discord. Вивчіть документацію та особливості роботи Monad, щоб допомагати новачкам розібратися у проєкті. За такі дії команда може винагородити вас відповідною роллю;
  • спостерігати за Monad у X (раніше Twitter). Навіть якщо активність у X не стане критерієм ейрдропу, підписавшись на Monad, ви будете поінформовані про важливі події, що стосуються проєкту;
  • створювати контент для спільноти Monad. Імовірно, це найрезультативніший спосіб заявити про себе і отримати роль у Discord. Ви можете робити меми, малювати анімації, писати статті тощо.

Очікується, що публічну тестову мережу Monad буде запущено у травні-червні 2024 року, а мейннет — у грудні. Ми обов'язково сповістимо вас про це та розповімо про нові активності для потенційного ейрдропу.

Підписуйтеся на наш Telegram, щоб бути в курсі подій!

Пише про DeFi та криптовалюти через призму технологій.