1. Павшая деревня Ethereum
Давным-давно в Ethereum деревне жила группа зеленых лягушек Pepe. Когда-то это было одно из самых оживленных королевств, где высокая децентрализация и сильная безопасность привели к процветанию экономики.
Руководствуясь этими принципами, жители деревни регулярно проводили выборы по своим интересам, чтобы назначить лидеров, которые следили за созданием блоков, фиксирующих транзакции каждые 12 секунд. Таким образом, они старательно управляли процветающей экономикой деревни.
Былая слава Ethereum начала угасать, распространяются мемы-вирусы, а сила деревни ослабевает. Над улицами нависли тени, а зеленые лягушки Pepe тяжело шаркают, бесцельно бродя по заброшенной, тускло освещенной деревне.
Однако некоторые зеленые лягушки Pepe все еще жаждут вернуть Ethereum утраченное великолепие. Они поддерживают «Реформу L2», движение, направленное на возрождение деревни. Благодаря их усилиям Ethereum снова начинает процветать, достигая экономической жизнеспособности, которая раньше считалась невозможной.
Но у Реформы L2 есть и свои недостатки. Близлежащие деревни, такие как Солана и Суй, хотя и молоды и полны нестабильности, быстро развиваются благодаря беспрецедентным научным революциям. Их инновации делают сложные финансовые операции беспроблемными, в то время как Ethereum, несмотря на реформы, все еще борется. Поэтому среди лягушек Пепе ходят слухи о возможности переселения в соседние деревни.
А потом, в один судьбоносный день, в деревне Ethereum появился фиолетовый волшебник Пепе.
2. Прибытие фиолетового волшебника Пепе
Облаченный в фиолетовую мантию, волшебник Пепе с грустью взирал на утраченную славу деревни Ethereum, решив основать новое царство под названием Monad.
Однажды он появился перед зелеными лягушками Пепе и объявил о своем грандиозном плане — создать деревню Монад. Он собрал зеленых лягушек Пепе на центральной площади и стал слушать их мысли.
Зеленая лягушка Пепе 1 сказала: «Я надеюсь, что жизнь в Monad будет похожа на жизнь в Ethereum. Хотя Ethereum не обладает масштабируемостью Solana или Sui, я никогда не думал об уходе, потому что их культура сильно отличается от нашей».
Зеленый лягушонок Пепе 2 добавил: «Сохранение прежнего образа жизни и культуры очень важно, но я также надеюсь, что система будет такой же эффективной, как в других деревнях. Хотя Ethereum безопасен, его недостаточно для предприятий, которые стремятся к скорости и динамичности».
Волшебник вспомнил их пожелания и пообещал создать Монад с культурными особенностями Ethereum и масштабируемостью Соланы и Суи. Он обдумывал мощные заклинания, необходимые для осуществления этой мечты — деревни, совместимой с традициями Ethereum и способной отвечать требованиям новой эпохи к эффективности.
Затем он поделился своим видением с нетерпеливыми лягушатами Пепе, заронив в них надежду на создание настоящего дома, который мог бы предложить лучшее из двух миров.
3. Секретное заклинание 1: Отсрочка исполнения
Одно из ограничений масштабируемости Ethereum Village заключается в обработке каждой транзакции в процессе консенсуса, который является необходимым этапом генерации каждого нового блока.
В Ethereum лидер, предлагающий блок, должен предварительно вычислить все транзакции в нем, чтобы гарантировать достоверность каждой транзакции. Кроме того, проверяющие узлы, получившие этот блок, также должны вычислить все транзакции, чтобы убедиться в легитимности блока и проголосовать за него.
Поскольку процесс консенсуса включает в себя вычисления и общение между жителями деревни, время, отведенное на обработку транзакций, очень ограничено, что в конечном итоге приводит к ограниченной масштабируемости.
Чтобы решить эту проблему, фиолетовый волшебник Пепе ввел новое заклинание под названием «Задержка исполнения». Это заклинание отделяет процесс «консенсуса» (упорядочивание сделок жителей деревни) от процесса «исполнения» (подсчет результатов этих сделок).
Проще говоря, вместо того чтобы достигать консенсуса и исполнения одновременно для каждого блока, консенсус достигается для блока N, а исполнение происходит для блока N-1 (где уже установлен порядок транзакций).
Предоставляя время на выполнение целого блока, этот метод значительно увеличивает количество транзакций, которые могут быть обработаны за один и тот же промежуток времени.
Продвинутое заклинание: Корень Меркла с задержкой
В Ethereum узлы выполняют вычисления до достижения консенсуса, чтобы гарантировать достоверность блока. Однако в системе отложенного исполнения Monad консенсус и исполнение разделены. Это открывает возможность для вредоносных узлов игнорировать ранее достигнутые транзакции консенсуса или произвольно изменять состояние вычислений.
Чтобы предотвратить это, Monad встраивает корень Меркла (вычисленный результат блока N-10) в предложение блока N. Если более двух третей узлов достигают консенсуса по блоку N, это означает консенсус по вычислению блока N-10.
Если результат вычислений какого-либо узла для блока N-10 не совпадает с корнем Меркле, содержащимся в блоке N, этот узел будет удален из консенсуса, начиная с блока N. Задержка в 10 блоков для корня Меркле обеспечивает своевременное обнаружение любых вычислительных ошибок.
Стоит отметить, что время блокировки Monad составляет 1 секунду, но это не значит, что для завершения работы Monad требуется 10 секунд. Благодаря системе MonadBFT можно добиться однослотовой финальности, что приводит к финальности в течение 1 секунды.
4. Секретное заклинание 2: хэши транзакций
Умный фиолетовый волшебник Пепе размышлял о том, как лидеры деревни могут быстро передать предложения по блокировке другим узлам.
В Ethereum типичный подход заключается в том, чтобы упаковать все предложение блока (включая все транзакции) и отправить его по сети.
Однако мастер Pepe понял, что если Monad примет этот метод, то трансляция блочных предложений, содержащих множество транзакций, станет сложной и трудоемкой задачей.
Чтобы решить эту проблему, фиолетовый волшебник Пепе ввел понятие «хэши транзакций». Поскольку все транзакции, отправленные жителями деревень, уже были распространены по сети, каждый узел хранил запись о транзакциях деревни Монад в своем собственном пуле памяти.
Это означало, что лидеру больше не нужно было передавать полный список транзакций в каждом предложении блока. Вместо этого лидер мог просто ссылаться на транзакции, отправляя их хэш-значения.
Таким образом, предложения блоков Monad будут содержать только хэш-значения каждой транзакции. Получив эти хэш-значения, другие узлы могли легко сравнить их со своими собственными записями транзакций.
5. Секретное заклинание 3: MonadBFT
В Monad village порядок транзакций внутри каждого блока и консенсус при создании блока контролируются MonadBFT, высокопроизводительным механизмом консенсуса на базе HotStuff. Этот поэтапный алгоритм византийской отказоустойчивости (BFT) позволяет достичь консенсуса в два этапа.
Роль лидера блока выбирается случайным образом на основе доли ставки каждого участника. В Monad эффективность построения блоков выше, чем в Ethereum village, поскольку каждое предложение блока N передается вместе с сертификатом кворума (QC) для предыдущего блока N-1, указывающим на то, что более двух третей узлов проверили этот блок.
Процесс разворачивается следующим образом:
- Лидер N передает предложение для блока N, сопровождаемое QC для блока N-1.
- Валидаторы проверяют блок N и отправляют свои голоса лидеру N+1.
- Лидер N+1 делится предложением для блока N+1, а также QC для блока N.
Однако даже при наличии QC N валидаторы не могут немедленно подтвердить блок N, поскольку природа блокчейна не гарантирует, что все участники находятся онлайн и синхронизированы.
Чтобы полностью защитить блок N, валидаторы должны отправить лидеру N+2 свои голоса «да» для блока N+1, который содержит КК N. Когда лидер N+2 генерирует QC N+1, он подтверждает успешное завершение раунда N+1, тем самым завершая блок N.
Так, с помощью искусной магии, фиолетовый волшебник Пепе направляет деревню Монад в новую эру.
6. Секретное заклинание 4: параллельное выполнение
В Monad для обработки большого количества транзакций в деревне фиолетовый волшебник Пепе разработал новое заклинание, которое обрабатывает транзакции параллельно, а не последовательно, как в деревне Ethereum.
При отложенном исполнении исполнение начинается только после достижения консенсуса по порядку транзакций в блоке. Деревня Монад состоит из множества квалифицированных исполнителей, каждый из которых отвечает за обработку транзакций, независимое вычисление их входов и выходов и создание списка ожидающих выполнения.
Эти входы и выходы не изменяют состояние деревни немедленно, а находятся в подвешенном магическом состоянии, готовые к отправке в порядке, определенном консенсусом. В результате подачи выходы объединяются с текущим состоянием, сплетая бесшовный и упорядоченный гобелен магии.
Однако здесь возникает проблема. Параллельная обработка влечет за собой возможность конфликтов транзакций, которые редки в упорядоченной деревне Ethereum, но представляют собой новую проблему в Monad.
Например, если одна транзакция (транзакция b) показывает, что житель деревни A дарит 1 ETH жителю деревни B, а другая транзакция (транзакция c) показывает, что B тратит этот ETH в деревенском трактире, их порядок становится критическим. Если транзакция c попытается выполниться раньше транзакции b, она потерпит неудачу. В таких случаях конфликтующие транзакции переставляются местами, и транзакция c будет ждать, пока транзакция b не завершится перед выполнением.
Поэтому в Monad суть параллельного выполнения заключается в упорядочивании: результаты вычисляются параллельно, но обновления состояний объединяются в точном порядке, который требуется.
7. Секретное заклинание 5: MonadDb
На этом творческие идеи фиолетового волшебника Пепе не закончились. Он создал MonadDb, уникальную для деревни Monad базу данных, специально предназначенную для хранения состояния блокчейна. Ethereum опирается на сложную систему Меркла Патриция Трие, известную своей устойчивостью, но также и неэффективностью для внешних клиентов.
MonadDb была спроектирована с учетом параллельного исполнения, поддерживая одновременное чтение и запись с высокой точностью. В отличие от традиционных баз данных, которые требуют завершения каждой задачи перед переходом к следующей, MonadDb использует асинхронный ввод-вывод, позволяя задачам плавно накладываться друг на друга и прокладывая путь к настоящей параллельной обработке транзакций.
8. Посетите деревню Монад!
С помощью ряда чудесных заклинаний и сложной магии фиолетовый волшебник Пепе создал деревню Монад. Здесь доверенные счета, криптография, форматы транзакций, языки и кошельки Ethereum легко сочетаются с масштабируемостью Solana и Sui. Теперь Monad процветает и стремится достичь своей мечты — обрабатывать 10 000 транзакций в секунду.
Рожденная из мудрости и надежды, сможет ли Monad Village спасти мир, пораженный мемами-вирусами, и помочь Ethereum вернуть себе славу? Только время покажет.