Параллельный EVM: Преодоление узких мест производительности блокчейна

Средний4/15/2024, 3:33:01 PM
Данный статья исследует технические детали и рыночные перспективы параллельных EVM, анализируя механизмы параллельного выполнения основных блокчейн-проектов, таких как Sei, Monad и Canto, и оценивая их потенциальное влияние и рыночное положение в индустрии. Через оптимизацию параллельного выполнения блокчейн-сети могут значительно увеличить скорость обработки и эффективность, поддерживая широкое развитие домена Web3.

TL;DR

  1. Параллельные EVM представляют собой новую повествовательную линию, которая появляется, когда объемы транзакций на цепи достигают определенного уровня. Они в основном делятся на монолитные блокчейны и модульные блокчейны, при этом монолитные дополнительно классифицируются на L1 и L2. Параллельные публичные цепи L1 разделяются на два лагеря: EVM и не EVM. В настоящее время повествование о параллельном EVM находится на ранних стадиях развития.
  2. Технический путь реализации параллельных EVM включает виртуальные машины и механизмы параллельного исполнения. В контексте блокчейнов виртуальная машина является процессом виртуальной машины, который виртуализирует распределенную конечную машину для выполнения контрактов.
  3. Параллельное выполнение означает использование многоядерных процессоров для выполнения нескольких транзакций одновременно настолько, насколько это возможно, обеспечивая при этом, что конечное состояние согласуется с тем, что будет достигнуто через последовательное выполнение.
  4. Механизмы параллельного выполнения разделяются на три категории: передача сообщений, общая память и строгие списки доступа к состоянию. Общая память дополнительно разделяется на модель блокировки памяти и оптимистичное параллелизм. Независимо от механизма, каждый из них увеличивает техническую сложность.
  5. Рассказ о параллельных EVM имеет не только внутренние факторы роста отрасли, но также требует внимания практиков к потенциальным проблемам безопасности.
  6. Каждый параллельный проект EVM предоставляет свой уникальный подход к параллельному выполнению, демонстрируя как технические общности, так и отдельные инновации.

1.Обзор отрасли

1.1 Историческая эволюция

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

Первое поколение сетей блокчейн, представленное Bitcoin, открыло новый способ децентрализованных электронных валютных транзакций с технологией распределенного учета, начав новую эру. Второе поколение, олицетворенное Ethereum, полностью использовало воображение, чтобы предложить децентрализованные приложения (dApps) через подход распределенной машины состояний.

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

Web3, как новая продуктовая форма, "без прецедентов в истории", должен инновировать в удовлетворении потребностей пользователей (функциональные требования), учитывая баланс между безопасностью и производительностью (нефункциональные требования). С момента своего создания было предложено множество решений для решения проблем производительности.

Эти решения можно обычно разделить на два типа: решения масштабирования on-chain, такие как шардинг и направленные ациклические графы (DAG), и решения масштабирования off-chain, такие как Plasma, Lightning Networks, боковые цепи и Rollups. Однако они все еще далеки от того, чтобы следовать за быстрым ростом on-chain транзакций.

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

1.2 Размер рынка

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

Конкуренты Ethereum, такие как Solana, Aptos и Sui, все обладают встроенными возможностями параллельной обработки и развили крепкие экосистемы. Их собственные рыночные капитализации токенов достигли $45 млрд, $3.3 млрд и $1.9 млрд, формируя параллельный не-EVM лагерь. В ответ на эти вызовы экосистема Ethereum не остается в стороне, с различными проектами, готовыми усилить EVM и таким образом создать параллельный лагерь EVM.

Sei в своем предложении об обновлении версии 2 громко заявил, что станет «первым параллельным блокчейн-пространством EVM», с текущей рыночной капитализацией в $2,1 миллиарда и потенциалом для еще большего роста. Новый параллельный блокчейн EVM Monad, в настоящее время наиболее горячий в маркетинговом увлечении, пользуется большой популярностью среди инвесторов и имеет значительный потенциал. Тем временем L1 блокчейн Canto, с рыночной капитализацией $170 миллионов и собственной бесплатной общедоступной инфраструктурой, также объявил о своем предложении об обновлении параллельного EVM.

Кроме того, несколько проектов на ранней стадии развития L2 улучшают кросс-экосистемную производительность, интегрируя возможности нескольких цепей L1. Помимо Neon, который достиг рыночной капитализации в $69 миллионов, у других проектов все еще отсутствуют соответствующие данные. Ожидается, что в будущем к битве блокчейнов присоединятся еще больше проектов L1 и L2.

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

В настоящее время общая рыночная капитализация для Уровня 1 и Уровня 2 составляет $752.123 миллиарда, при этом у параллельных блокчейнов рыночная капитализация составляет $52.539 миллиарда, что составляет около 7%. В рамках этого проекты, связанные с параллельной EVM, имеют рыночную капитализацию в размере $2.339 миллиарда, что составляет всего лишь 4% рыночной капитализации параллельных блокчейнов.

1.3 Карта отрасли

Отрасль обычно разделяет сети блокчейнов на четырехуровневую структуру:

Уровень 0 (сеть): Это базовый уровень сети блокчейна, который обрабатывает основные протоколы сетевого взаимодействия.

Уровень 1 (Инфраструктура): Этот уровень полагается на различные механизмы консенсуса для проверки транзакций в децентрализованной сети.

Уровень 2 (Расширение): Зависит от Уровня 1, это включает в себя различные протоколы второго уровня, направленные на решение ограничений Уровня 1, особенно в части масштабируемости.

Уровень 3 (Приложение): Зависит от Уровня 2 или Уровня 1, этот уровень используется для создания различных децентрализованных приложений (dApps).

Проекты параллельной EVM (Ethereum Virtual Machine) narrative в основном делятся на монолитные блокчейны и модульные блокчейны, причем монолитные блокчейны дополнительно делятся на L1 и L2. Исходя из общего количества проектов и развития нескольких основных направлений, можно сказать, что у параллельной EVM L1 публичных цепочек все еще есть значительный потенциал для роста по сравнению с экосистемой Ethereum.

В треке DeFi есть спрос на "высокую скорость и низкие комиссии", в то время как трек игр требует "сильного взаимодействия в реальном времени"; оба требуют определенной скорости выполнения. Параллельные EVM неизбежно принесут лучшие пользовательские впечатления этим проектам, выталкивая развитие индустрии на новый уровень.

L1 представляет собой новые общедоступные цепочки с врожденными возможностями параллельного выполнения и служит высокопроизводительной инфраструктурой. В этом фракции проекты, такие как Sei v2, Monad и Canto, независимо разработали параллельные EVM, совместимые с экосистемой Ethereum и обеспечивающие высокую пропускную способность транзакций.

L2, интегрируя возможности других цепочек L1, предлагает расширенные возможности для кросс-экосистемного сотрудничества и является выдающимся примером технологии rollup. В этой фракции Neon действует как эмулятор EVM в сети Solana, в то время как Eclipse выполняет транзакции на Solana, но урегулируется на EVM. Lumio похож на Eclipse, за исключением того, что слой выполнения был переключен на Aptos.

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

Fuel сосредоточен на выполнении транзакций, а другие компоненты передает на один или несколько независимых уровней блокчейна, что позволяет более гибкие комбинации: он может функционировать как Уровень 2, Уровень 1 или даже как сайдчейн или канал состояния. В настоящее время в экосистеме Fuel есть 17 проектов, в основном сосредоточенных на DeFi, NFT и инфраструктуре.

Однако только устно-цепной оракул был введен в практическое использование. Децентрализованная платформа кредитования Swaylend и платформа торговли перманентными контрактами SPARK были запущены на тестовых сетях, в то время как другие проекты все еще находятся в разработке.

2. Пути технической реализации

Для достижения децентрализованного выполнения транзакций сети блокчейн должны выполнять четыре обязанности:

  • Исполнение: Выполнение и проверка транзакций.
  • Доступность данных: Распределение новых блоков всем узлам в сети блокчейн.
  • Механизм консенсуса: Проверка блоков и достижение консенсуса.
  • Урегулирование: урегулирование и регистрация окончательного состояния транзакций.

Параллельный EVM в первую очередь сосредотачивается на оптимизации производительности уровня выполнения. Это разделено на решения Уровня 1 (L1) и решения Уровня 2 (L2). Решения Уровня 1 вводят механизм параллельного выполнения транзакций, позволяя выполнение транзакций параллельно виртуальной машине настолько, насколько это возможно. Решения Уровня 2 фундаментально используют уже параллелизированную виртуальную машину L1 для достижения некоторого уровня "выполнения вне цепи + урегулирования в цепи".

Поэтому, чтобы понять технические принципы параллельного EVM, необходимо разложить это на части: сначала понять, что такое виртуальная машина (VM), а затем понять, что представляет собой параллельное выполнение.

2.1 Виртуальная машина

В информатике виртуальная машина относится к виртуализации или эмуляции компьютерной системы.

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

JVM - это процесс виртуальной машины, разработанной для языка программирования Java. Программы, написанные на Java, сначала компилируются в байт-код Java (промежуточное состояние двоичного кода), который затем интерпретируется JVM: JVM отправляет байт-код интерпретатору, который переводит его в машинный код для различных машин, а затем запускает его на машине.

Виртуальные машины блокчейна являются типом виртуальной машины процесса. В контексте блокчейна виртуальная машина относится к виртуализации распределенной машины состояний, используемой для распределенного выполнения контрактов, запуска dApps. Аналогично JVM, EVM является виртуальной машиной процесса, разработанной для языка Solidity, где смарт-контракты сначала компилируются в байткод опкодов, затем интерпретируются EVM.

Новые общедоступные цепочки, выходящие за рамки Ethereum, часто используют виртуальные машины, основанные на байт-коде WASM или eBPF. WASM - это компактный, быстро загружаемый, переносимый формат байт-кода, основанный на механизмах безопасности песочницы. Разработчики могут писать умные контракты на различных языках программирования (C, C++, Rust, Go, Python, Java, или даже TypeScript), компилировать их в байт-код WASM и выполнять. Умные контракты, выполненные на блокчейне Sei, используют этот формат байт-кода.

eBPF происходит от BPF (Berkeley Packet Filter), изначально использовался для эффективной фильтрации сетевых пакетов, и превратился в eBPF, предлагая более богатый набор инструкций.

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

Другие общедоступные цепочки L1, такие как Aptos и Sui, используют язык программирования смарт-контрактов Move, компилирующийся в собственный байт-код, выполняемый на виртуальной машине Move. Monad разработал свою собственную виртуальную машину, совместимую с байт-кодом операций EVM (ветвь Shanghai).

2.2 Параллельное выполнение

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

В сетях блокчейн TPS (транзакции в секунду) обычно используется в качестве технического показателя для измерения скорости обработки. Механизм параллельного выполнения сложен и представляет собой вызов для технических навыков разработчиков, что затрудняет объяснение. Здесь мы используем пример "банка" для объяснения того, что такое параллельное выполнение.

(1) Во-первых, что такое последовательное выполнение?

Сценарий 1: Если мы рассматриваем систему как банк, а процессор обработки задач как кассу, то последовательное выполнение задач подобно тому, что в этом банке есть только одна доступная для обслуживания касса. В этом случае клиенты (задачи), приходящие в банк, должны образовать длинную очередь и обслуживать свои дела по одному. Для каждого клиента персонал кассы должен повторять одни и те же действия (выполнять инструкции) для обслуживания клиента. Клиенты должны ждать своей очереди, что приводит к увеличению времени транзакции.

(2) Итак, что такое параллельное выполнение?

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

(3) Какая ошибка произойдет, если не предусмотрены защиты, и два человека одновременно передают деньги другому человеку?

Сценарий 3: Рассмотрим A, B и C, у которых соответственно 2 ETH, 1 ETH и 0 ETH на счетах. Теперь A и B хотят передать по 0,5 ETH C. В системе, которая выполняет транзакции последовательно, проблем не возникнет (стрелка влево “<=” указывает на чтение из реестра, а стрелка вправо “=>” указывает на запись в реестр, также ниже):

Однако параллельное выполнение не так просто, как кажется. Есть много тонких деталей, которые могут привести к серьезным ошибкам, если не обращать на них внимание. Если транзакции A и B, переводящиеся на C, выполняются параллельно, последовательность шагов может привести к несогласованным результатам:

Параллельная задача 1 выполняет перевод от A к C, а Параллельная задача 2 выполняет перевод от B к C. Шаги, помеченные звездочкой, проблематичны: поскольку задачи выполняются параллельно, на Шаге 2 расчет баланса, выполненный Параллельной задачей 1, еще не был записан в реестр. На Шаге 3 Параллельная задача 2 читает баланс счета C (который по-прежнему равен 0) и выполняет ошибочный расчет баланса на основе этого на Шаге 5. Затем, в операции обновления реестра на Шаге 6, он неправильно обновляет баланс счета, который уже был обновлен до 0.5 на Шаге 4, снова до 0.5. В результате баланс счета C составляет всего лишь 0.5 ETH, несмотря на то, что как A, так и B перевели по 0.5 ETH каждый, фактически приводя к исчезновению оставшихся 0.5 ETH.

(4) Если не предусмотрены защитные меры, две задачи, не зависящие друг от друга, могут выполняться параллельно без ошибок

Сценарий 4: Параллельная задача 1 выполняет перевод 0.5 ETH от A (баланс 2 ETH) к C (баланс 0 ETH), а Параллельная задача 2 выполняет перевод 0.5 ETH от B (баланс 1 ETH) к D (баланс 0 ETH). Очевидно, что между этими двумя задачами по переводу нет зависимости. Независимо от того, как переплетаются шаги двух задач, они не столкнутся с описанными выше проблемами:

Из сравнения этих сценариев можно сделать вывод, что при наличии зависимости между задачами ошибки в обновлении состояния могут возникнуть во время параллельного выполнения; в противном случае ошибки не возникнут. Задача (транзакция) считается имеющей зависимостью, если она соответствует одному из следующих двух условий:

  1. Задача пишет на выходной адрес, который другая задача читает как входной адрес;
  2. Два задания выводятся на один и тот же адрес.

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

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

2.3 Механизм передачи сообщений

Сценарий 5: Предположим, что в банке одновременно работают четыре службы для обслуживания клиентов. Каждому кассиру на этих стойках выдается уникальный учет, который может изменять только он. В этом учете записывается баланс счетов клиентов, которых они обслуживают.

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

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

Преимущества модели актеров:

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

Недостатки модели актеров:

Каждый актер может выполнять задачи только последовательно. В определенных сценариях это не использует преимуществ параллелизма. Например, если кассиры № 2, 3 и 4 одновременно отправляют сообщения, чтобы спросить кассира № 1 о балансе счета клиента A, кассир № 1 может обрабатывать эти запросы только поочередно, хотя они могли бы быть обработаны параллельно.

Отсутствует глобальное представление текущего статуса системы. Если операции системы сложные, становится сложно понять общую ситуацию, найти и исправить ошибки.

2.4 Механизм общей памяти

2.4.1 Модель блокировки памяти

Сценарий 6: Представьте себе банк с одним большим реестром, который записывает балансы счетов всех своих клиентов. Рядом с реестром есть только одна ручка для внесения изменений в него.

В этом сценарии соревнование между четырьмя банковскими кассирами превращается в гонку на скорость: один кассир первым берет ручку (блокирует ее) и начинает изменять реестр, в то время как остальные три должны ждать. Как только кассир заканчивает и кладет ручку (разблокирует ее), следующие три кассира бросаются за ручку. Этот цикл повторяется, иллюстрируя модель блокировки памяти.

Блокировка памяти позволяет задачам, выполняющимся параллельно, блокировать общий ресурс перед доступом к нему. После блокировки ресурса другие задачи должны ждать, пока он не будет изменен и разблокирован, прежде чем они смогут снова его заблокировать и получить доступ к нему.

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

Платформы Blockchain, такие как Solana, Sui и Sei v1, используют модель общей памяти на основе блокировки памяти. Этот механизм может показаться простым, но его реализация сложна и требует от разработчиков умения многопоточного программирования. Бездумные действия могут привести к различным ошибкам:

Сценарий 1: Задача блокирует общий ресурс, но выходит из строя во время выполнения, оставляя ресурс недоступным.

Сценарий 2: Задача блокирует ресурс, но в конечном итоге снова блокирует его из-за вложенной бизнес-логики, что приводит к тупику, где она ожидает сама себя.

Модель блокировки памяти подвержена проблемам, таким как взаимоблокировки, вечные блокировки и голодание:

  1. Тупик возникает, когда несколько параллельных задач борются за несколько общих ресурсов, причем каждая задача удерживает их часть и ждет, чтобы другие освободили свои части.
  2. Livelock происходит, когда параллельные задачи обнаруживают, что другие задачи активны, и добровольно отказываются от своего удержания общих ресурсов, что приводит к непрерывному циклу уступок.
  3. Голодание происходит, когда задачи с высоким приоритетом постоянно получают доступ к общим ресурсам, в то время как задачи с более низким приоритетом вынуждены длительно ждать.

2.4.2 Оптимистичный параллелизм

Сценарий 7

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

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

Во время Фазы 1 задачи 1, 2 и 3 выполняются параллельно. Однако задачи 2 и 3 одновременно обращаются к общему ресурсу B, вызывая конфликт, поэтому задача 3 переносится на следующую фазу. В Фазе 2 задачи 3 и 4 обе обращаются к ресурсу B, в результате чего задача 4 переносится, и так далее, пока все задачи не будут завершены. Как видно, задачи, сталкивающиеся с конфликтами, повторно выполняются.

Модель оптимистичного параллелизма

Модель оптимистичного параллелизма использует многоуровневую структуру данных в памяти для записи каждого записанного значения и информации о его версии (аналогично ярлыкам, используемым банковскими кассирами).

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

Оптимистическая модель параллелизма возникла из механизма программирования без блокировок в области баз данных, известного как Software Transaction Memory (STM). Поскольку блокчейн-сети по своей природе поддерживают определенный порядок транзакций, этот концепт был внедрен и развился в механизм Block-STM. Платформы блокчейна, такие как Aptos и Monad, приняли Block-STM в качестве своего механизма параллельного выполнения.

Следует отметить, что общедоступная цепь Sei в своей предстоящей версии v2 отказалась от оригинальной модели блокировки памяти в пользу оптимистичной модели параллелизма. Блок-STM выполняет транзакции на чрезвычайно высокой скорости; в тестовой среде Aptos достиг впечатляющей скорости выполнения транзакций в 160k транзакций в секунду (tps), что в 18 раз быстрее, чем последовательная обработка транзакций.

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

2.5 Строгий список доступа к состоянию

Механизмы передачи сообщений и общей памяти основаны на модели данных учета/баланса, которая записывает информацию о балансе каждого счета в блокчейне. Это похоже на то, как банковский реестр показывает, что у клиента А баланс в размере 1 000 единиц, а у клиента Б – 600 единиц. Транзакции обрабатываются просто путем обновления статуса баланса счетов.

В качестве альтернативы, можно также записать детали каждой транзакции во время самой транзакции, создавая журнал транзакций. Этот журнал можно использовать для расчета балансов счетов. Например:

  • Клиент A открывает счет и вносит 1 000 единиц;
  • Клиент B открывает счет (0 единиц);
  • Клиент A переводит 100 единиц Клиенту B.

Путем чтения и расчета бухгалтерской книги можно определить, что у клиента A баланс составляет 900 единиц, а у клиента B – 100 единиц.

UTXO (Unspent Transaction Output) похож на эту модель данных журнала транзакций. Он представляет собой метод обозначения цифровой валюты в Bitcoin, блокчейне первого поколения. У каждой транзакции есть входы (как средства были получены) и выходы (как средства были потрачены), и UTXO можно понимать просто как квитанции о средствах, которые еще не были потрачены.

Например, если у клиента A есть 6 BTC и он переводит 5,2 BTC клиенту B, оставляя 0,8 BTC, то с точки зрения UTXO это выглядит следующим образом: 6 UTXO, каждый стоимостью 1 BTC, уничтожаются, и B получает новый UTXO стоимостью 5,2 BTC, в то время как A получает новый UTXO стоимостью 0,8 BTC в виде сдачи. Таким образом, 6 UTXO уничтожаются, чтобы создать 2 новых UTXO.

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

Список доступа служит двум целям:

  1. Оценка безопасности транзакции: если транзакция обращается к адресу, который не находится в списке доступа, выполнение завершается неудачно.
  2. Параллельное выполнение транзакций: Согласно списку доступа, транзакции группируются в несколько наборов. Поскольку между наборами в списке доступа нет зависимостей (пересечений), эти наборы транзакций могут выполняться параллельно.

3. Факторы роста отрасли

С внутренней точки зрения развитие чего-либо typcially прогрессирует от начала к усовершенствованию, и вечное streben человечества к скорости. Для решения проблем скорости исполнения в блокчейн сетях появилось множество решений, как on-chain, так и off-chain. Off-chain решения, такие как rollups, полностью признаны за свою ценность, в то время как рассказ о параллельных виртуальных машинах Ethereum (EVM) все еще предлагает значительные возможности для исследований.

Исторически, с утверждением SEC фондового биткоин-ETF и предстоящим событием по уменьшению награды за блок в биткоине, в сочетании с потенциальными снижениями процентных ставок Федеральной резервной системой, ожидается, что криптовалюты войдут в значительный бычий рынок. Устойчивый рост отрасли требует инфраструктур блокчейн-сетей, способных обрабатывать больший объем информации в качестве надежного фундамента.

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

Относительно развития отрасли, хотя непрерывно появляются различные технологические и бизнес-модельные инновации, потенциал роста в Web3 остается в значительной степени неиспользованным. Централизованные сети могут обрабатывать более 50 000 сообщений в секунду, отправлять 3,4 миллиона электронных писем, выполнять 100 000 поисковых запросов в Google и поддерживать одновременно десятки тысяч игроков онлайн, подвиги, которые пока не могут быть достигнуты децентрализованными сетями. Для того чтобы децентрализованные системы могли конкурировать и вырезать свою территорию, необходима постоянная оптимизация параллельных механизмов выполнения и увеличение пропускной способности транзакций.

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

4.Существующие проблемы

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

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

Есть как минимум три точки зрения, с которых можно оценить безопасность проекта:

1. Командный фон: Команды с опытом системного программирования искусны в многопоточном программировании и могут решить 80% сложных проблем. Системное программирование обычно включает в себя следующие области:

  • Операционные системы
  • Различные драйверы устройств
  • Файловые системы
  • Базы данных
  • Встроенные системы
  • Криптография
  • Мультимедийные кодеки
  • Управление памятью
  • Сетевые технологии
  • Виртуализация
  • Игры
  • Продвинутые языки программирования

2. Поддерживаемость кода: Написание поддерживаемого кода следует четкой методологии, такой как наличие четкого архитектурного дизайна, использование шаблонов проектирования для обеспечения повторного использования кода, применение техник разработки через тестирование для написания достаточного количества модульных тестов и устранение избыточного кода путем продуманного рефакторинга.

3. Используемый язык программирования: Некоторые передовые языки программирования разработаны с особым упором на безопасность памяти и высокую конкурентоспособность. Компиляторы проверяют код на проблемы конкурентности или потенциальное доступ к недопустимым адресам памяти, что приводит к сбоям компиляции в случае обнаружения, таким образом, заставляя разработчиков писать надежный код.

Язык Rust в этом отношении примерен, поэтому мы видим, что большинство параллельных блокчейн-проектов разрабатываются на Rust. Некоторые проекты даже заимствуют дизайн Rust для реализации собственных языков смарт-контрактов, таких как язык Sway Fuel.

5. Целевая организация

5.1 Основано на оптимистичной модели параллелизации

5.1.1 От блокировки памяти к оптимистичному параллелизму

Sei - это универсальный общедоступный блокчейн на основе технологии с открытым исходным кодом, созданный в 2022 году. Основателями являются выпускники Университета Калифорнии в Беркли, а другие члены команды также имеют образование в престижных зарубежных университетах.

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

В августе 2023 года Sei запустился на своем основном сети, заявляя, что является самым быстрым общедоступным блокчейном L1, способным обрабатывать 12 500 транзакций в секунду, с окончательной реализацией достигнуто в 380 мс. В настоящее время у него рыночная капитализация почти 2,2 миллиарда долларов.

В настоящее время экосистема Sei включает в себя 118 проектов, в основном сосредоточенных на DeFi, инфраструктуре, NFT, играх и кошельках. В сообществе в настоящее время 650 000 участников в Twitter, 600 000 в Discord и 40 000 в Telegram.

В конце ноября 2023 года Sei объявил на своем официальном блоге, что начнет самое значительное обновление версии с момента запуска основной сети в первой половине 2024 года: Sei v2. Sei v2 заявляется первым параллельным блокчейном EVM. Это обновление версии внесет следующие новые функции:

  • Обратная совместимость для смарт-контрактов EVM: Разработчики могут переносить и развертывать смарт-контракты EVM без изменения кода.
  • Возможность повторного использования общих инструментов/приложений, таких как Metamask.
  • Оптимистическая параллелизация: Sei v2 откажется от механизма общего доступа через блокировку памяти в пользу оптимистической параллелизации.
  • SeiDB: Оптимизация уровня хранения.
  • Поддержка бесшовной совместимости между Ethereum и другими цепями.

Изначально параллельное выполнение транзакций в сети Sei основывалось на модели блокировки памяти. Перед выполнением все зависимости между ожидающими транзакциями были разрешены и был сгенерирован DAG, затем на основе DAG порядок выполнения транзакций был точно упорядочен. Этот метод увеличил умственную нагрузку на разработчиков контрактов, потому что им пришлось внедрить логику в код во время разработки.

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

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

5.1.2 Потенциальный дисруптор на треке L1: Монада

Если вы упустили развитие вышеперечисленных общедоступных блокчейнов, то определенно не стоит упускать Monad. Его называют потенциальным дисруптором на трассе L1.

Monad был основан двумя старшими инженерами из Jump Crypto в 2022 году. Проект завершил раунд затравочного финансирования в размере 19 миллионов долларов в феврале 2023 года. В марте 2024 года Paradigm возглавила переговоры по финансированию на сумму более 200 миллионов долларов для Monad. В случае успеха, это будет крупнейшее финансирование криптовалюты с начала года.

Проект уже достиг важного этапа запуска внутренней тестовой сети и работает над следующим шагом - открытием публичной тестовой сети.

Монада высоко ценится капиталом по двум основным причинам: одна из них - ее прочные технические основы, а другая - мастерство в маркетинговом хайпе. Основная команда лабораторий Монады состоит из 30 участников, все из которых имеют десятилетний опыт в высокочастотной торговле, ядерных драйверах и финансовых технологиях, а также обширный опыт разработки в распределенных системах.

Ежедневные операции проекта также очень 'закоренелы': постоянное участие в 'волшебном маркетинге' с его 200 000 подписчиками в Твиттере и 150 000 участниками в Дискорде. Например, проведение еженедельных конкурсов на мемы, сбор различных странных фиолетовых животных эмодзи или видео от сообщества, чтобы проводить 'духовное распространение'.

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

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

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

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

В настоящее время его производительность достигает 10 000 TPS, и он может создавать блоки за одну секунду. По мере развития проекта ядро команды будет продолжать исследовать более оптимизированные механизмы.

5.1.3 Высокодецентрализованный проект L1: Canto

Основанный в 2022 году, Canto - это высокодецентрализованный проект L1, построенный на Cosmos SDK. Он функционирует без официального фонда, не занимается предпродажами, не связан ни с какой организацией, не ищет финансирования и полностью управляется сообществом. Даже основная команда остается анонимной, работая в слабо организованном порядке.

Хотя он является совместимым с EVM общим блокчейном, основным видением Canto является стать доступной, прозрачной, децентрализованной и бесплатной платформой DeFi. Проведя обширные исследования сектора, было обнаружено, что любая здоровая экосистема DeFi включает три основных элемента:

  1. Децентрализованные биржи (DEX) типа Uniswap и Sushiswap;
  2. Платформы кредитования, такие как Compound и Aave;
  3. Децентрализованные токены, такие как DAI, USDC или USDT.

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

Канто выбирает другой подход: создать бесплатную общественную инфраструктуру для DeFi (бесплатная общественная инфраструктура), сделать себя бесплатной парковкой для своих экологических проектов.

Инфраструктура состоит из 3 протоколов: децентрализованная биржа Canto DEX, пуловая платформа для кредитования Canto Lending Market (CLM), форкнутая из Compound v2, и стабильная валюта NOTE, которую можно взять в кредит из CLM под залоговые активы.

Canto выбрал новаторский подход: создание бесплатной общественной инфраструктуры, ориентированной на DeFi, позиционируя себя как бесплатную парковку, доступную для использования своими проектами экосистемы без дополнительной платы.

Инфраструктура состоит из трех протоколов: децентрализованная биржа Canto DEX, пуловая платформа для кредитования Canto Lending Market (CLM) форкнутая из Compound v2, и стейблкоин NOTE, который можно занять из CLM, используя заложенные активы.

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

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

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

Различными способами Canto стимулирует разработчиков экосистемы и пользователей присоединяться и постоянно обогащать экосистему. Тщательно контролируя "права на чеканку", Canto создает возможности для кросс-приложенийной ликвидности между различными децентрализованными приложениями. По мере процветания экосистемы ее токены увеличиваются в цене. После того как предложение CSR было одобрено голосованием сообщества 26 января 2024 года, токен $CANTO пережил взлет цены.

В результате этой серии инноваций в бизнес-модели 18 марта 2024 года Canto объявила о своем последнем этапе технических итераций на своем официальном блоге.

Кроме того, помимо принятия новой версии Cosmos SDK и интеграции новых технологий для снижения узких мест доступа к хранилищу, Canto также обновит параллельные EVM: внедрение оптимистичной параллелизации через реализацию Cyclone EVM.

Космос SDK, используемый Canto, разделяет обработку транзакций на три этапа: Предложение, Голосование и Финализация. Подпроцесс ProcessProposal во время Голосования отвечает за параллельное выполнение транзакций. Движок параллельного выполнения обрабатывает выполнение, в то время как движок обнаружения конфликтов проверяет допустимость транзакций.

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

5.2 На основе строгих списков доступа к состоянию: Топливо

Топливо, состоящее из виртуальной машины FuelVM, языка разработки контрактов Sway, вдохновленного Rust, и связанного с ним инструментария, представляет собой настраиваемую модульную «операционную систему для роллапов Ethereum». Проект Fuel был создан в 2019 году, и в декабре 2020 года Fuel Labs запустила первый слой исполнения оптимистичного роллапа на Ethereum, Fuel v1. После более чем трех лет разработки проект наконец готовится к запуску своей основной сети в третьем квартале 2024 года.

Fuel завершил финансирование в размере $1.5 миллиона и $80 миллионов в 2021 и 2022 годах соответственно. Основная команда состоит из более чем 60 инженеров, основателем которой является Джон Адлер, также являющийся соучредителем решения по доступности данных Celestia Labs и одним из ранних сторонников оптимистичного подхода к rollup. В операционном плане у проекта 270 000 участников в Twitter и 390 000 на Discord.

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

Rollup - это масштабируемое решение, которое работает вне L1, выполняя транзакции пакетами вне цепи, а затем отправляя данные транзакции или доказательства выполнения на L1. Это обеспечивает безопасность через уровень DA и завершает транзакции. Существует два основных типа rollup: оптимистичный и нулевого знания (ZK).

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

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

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

5.3 Интеграция межцепочного взаимодействия цепочек L1 с решениями L2: Neno, Eclipse и Lumio

L2-решения имеют общую особенность: они объединяют возможности двух типов виртуальных машин для увеличения скорости выполнения транзакций. В частности, это включает использование параллельных L1 для выполнения транзакций с сохранением совместимости с другими цепочками (поддержка двойной виртуальной машины). Однако механизмы совместимости, выбранные различными проектами, различаются. В этом отношении Neon, Eclipse и Lumio особенно репрезентативны.

Neon утверждает, что является первым параллельным проектом EVM в экосистеме Solana, позволяя разработчикам без проблем мигрировать проекты экосистемы Ethereum в экосистему Solana. Eclipse - еще один протокол в экосистеме Solana, совместимый с EVM, построенный с модульной архитектурой. Из этих трех проектов только Neon выпустил собственный токен, достигнув рыночной капитализации более 78 миллионов.

Два других проекта все еще находятся на относительно ранних этапах. Lumio объединяет Aptos и Ethereum для создания оптимистичного протокола L2 rollup, эффективно выполняющего приложения Ethereum со скоростью Move VM.

В плане финансирования Neon завершил сбор средств в размере $40 миллионов в ноябре 2021 года и $5 миллионов в июне 2023 года, всего $45 миллионов. Eclipse завершил сбор средств в размере $6 миллионов в августе 2022 года, $9 миллионов в сентябре 2022 года и $50 миллионов в марте 2024 года, всего $65 миллионов. Lumio еще не привлек средства.

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

С механической точки зрения Neon - это эмулятор EVM в сети Solana, работающий как смарт-контракт. Разработчики могут использовать языки программирования, такие как Solidity и Vyper, для написания приложений dApp, а также могут использовать инструменты Ethereum и совместимые с Ethereum RPC API, учетные записи, подписи и стандарты токенов, такие как MetaMask, Hardhat и Remix. В то же время они могут наслаждаться преимуществами низких комиссий, высокой скоростью выполнения транзакций и возможностями параллельной обработки, предоставляемыми Solana.

Транзакции Ethereum, отправленные с фронтенда приложения Ethereum dApp, преобразуются прокси в транзакции Solana, а затем выполняются в эмуляторе, изменяя состояние цепи. Это похоже на игровые эмуляторы, которые мы часто используем на ПК, позволяя нам играть в эксклюзивные игры с консолей, таких как Switch и PlayStation, на настольных компьютерах. Neon позволяет разработчикам Ethereum запускать приложения Ethereum в сети Solana.

Eclipse принимает другой подход к реализации: выполнение транзакций через SVM и урегулирование транзакций через EVM. Eclipse использует модульную архитектуру блокчейна, где он занимается только выполнением транзакций и передает другие обязанности сторонним исполнителям, формируя единое решение путем модульных комбинаций.

Например, он использует Celestia для управления доступностью данных и Ethereum для выполнения и завершения транзакций. Eclipse обеспечивает скорость выполнения через SVM и безопасность через проверку и завершение Ethereum.

Lumio использует философию дизайна, независимую от уровней выполнения и урегулирования, поддерживая различные виртуальные машины и совместимую с несколькими L1/L2 сетями: Ethereum, Aptos, Optimism, Avalanche, zkSync и другими. Он выполняет транзакции через Move VM и урегулирует их через EVM, тем самым соединяя экосистемы Ethereum и Aptos.

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

Вышеуказанные проекты в настоящее время являются основными, связанными с параллельным повествованием EVM, как показано на следующей диаграмме.

6. Заключение и перспективы

Люди часто сравнивают биткоин с "распределенным реестром", а Ethereum с "распределенной системой состояний". Если мы рассматриваем все узлы, работающие в сети блокчейна, как один компьютер, то параллельные блокчейны фундаментально изучают, как максимизировать использование ресурсов обработки этого "компьютера" для достижения самых быстрых скоростей выполнения.

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

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

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

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

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

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

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

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

Параллельные EVM находятся еще на начальном этапе развития, и проекты, такие как Neon, Monad, Canto, Eclipse, Fuel и Lumio, находятся на этапе, когда их ценность еще не была полностью реализована. В частности, Monad, Canto и Fuel.

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

утверждение:

  1. Эта статья воспроизведена с Gryphsis Academy) оригинальное название - «Десять тысяч слов толкования параллельного EVM: Как преодолеть узкое место производительности блокчейна?», авторские права принадлежат оригинальному автору [@leesper6], если у вас есть возражения к повторной публикации, пожалуйста, свяжитесьКоманда Gate Learn, команда обработает это как можно скорее в соответствии с соответствующими процедурами.

  2. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, представляют только личные взгляды автора и не являются инвестиционными рекомендациями.

  3. Другие языковые версии статьи переведены командой Gate Learn и не упоминаются вGate.ioПереведенная статья не может быть воспроизведена, распространена или использована в качестве плагиата.

Параллельный EVM: Преодоление узких мест производительности блокчейна

Средний4/15/2024, 3:33:01 PM
Данный статья исследует технические детали и рыночные перспективы параллельных EVM, анализируя механизмы параллельного выполнения основных блокчейн-проектов, таких как Sei, Monad и Canto, и оценивая их потенциальное влияние и рыночное положение в индустрии. Через оптимизацию параллельного выполнения блокчейн-сети могут значительно увеличить скорость обработки и эффективность, поддерживая широкое развитие домена Web3.

TL;DR

  1. Параллельные EVM представляют собой новую повествовательную линию, которая появляется, когда объемы транзакций на цепи достигают определенного уровня. Они в основном делятся на монолитные блокчейны и модульные блокчейны, при этом монолитные дополнительно классифицируются на L1 и L2. Параллельные публичные цепи L1 разделяются на два лагеря: EVM и не EVM. В настоящее время повествование о параллельном EVM находится на ранних стадиях развития.
  2. Технический путь реализации параллельных EVM включает виртуальные машины и механизмы параллельного исполнения. В контексте блокчейнов виртуальная машина является процессом виртуальной машины, который виртуализирует распределенную конечную машину для выполнения контрактов.
  3. Параллельное выполнение означает использование многоядерных процессоров для выполнения нескольких транзакций одновременно настолько, насколько это возможно, обеспечивая при этом, что конечное состояние согласуется с тем, что будет достигнуто через последовательное выполнение.
  4. Механизмы параллельного выполнения разделяются на три категории: передача сообщений, общая память и строгие списки доступа к состоянию. Общая память дополнительно разделяется на модель блокировки памяти и оптимистичное параллелизм. Независимо от механизма, каждый из них увеличивает техническую сложность.
  5. Рассказ о параллельных EVM имеет не только внутренние факторы роста отрасли, но также требует внимания практиков к потенциальным проблемам безопасности.
  6. Каждый параллельный проект EVM предоставляет свой уникальный подход к параллельному выполнению, демонстрируя как технические общности, так и отдельные инновации.

1.Обзор отрасли

1.1 Историческая эволюция

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

Первое поколение сетей блокчейн, представленное Bitcoin, открыло новый способ децентрализованных электронных валютных транзакций с технологией распределенного учета, начав новую эру. Второе поколение, олицетворенное Ethereum, полностью использовало воображение, чтобы предложить децентрализованные приложения (dApps) через подход распределенной машины состояний.

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

Web3, как новая продуктовая форма, "без прецедентов в истории", должен инновировать в удовлетворении потребностей пользователей (функциональные требования), учитывая баланс между безопасностью и производительностью (нефункциональные требования). С момента своего создания было предложено множество решений для решения проблем производительности.

Эти решения можно обычно разделить на два типа: решения масштабирования on-chain, такие как шардинг и направленные ациклические графы (DAG), и решения масштабирования off-chain, такие как Plasma, Lightning Networks, боковые цепи и Rollups. Однако они все еще далеки от того, чтобы следовать за быстрым ростом on-chain транзакций.

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

1.2 Размер рынка

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

Конкуренты Ethereum, такие как Solana, Aptos и Sui, все обладают встроенными возможностями параллельной обработки и развили крепкие экосистемы. Их собственные рыночные капитализации токенов достигли $45 млрд, $3.3 млрд и $1.9 млрд, формируя параллельный не-EVM лагерь. В ответ на эти вызовы экосистема Ethereum не остается в стороне, с различными проектами, готовыми усилить EVM и таким образом создать параллельный лагерь EVM.

Sei в своем предложении об обновлении версии 2 громко заявил, что станет «первым параллельным блокчейн-пространством EVM», с текущей рыночной капитализацией в $2,1 миллиарда и потенциалом для еще большего роста. Новый параллельный блокчейн EVM Monad, в настоящее время наиболее горячий в маркетинговом увлечении, пользуется большой популярностью среди инвесторов и имеет значительный потенциал. Тем временем L1 блокчейн Canto, с рыночной капитализацией $170 миллионов и собственной бесплатной общедоступной инфраструктурой, также объявил о своем предложении об обновлении параллельного EVM.

Кроме того, несколько проектов на ранней стадии развития L2 улучшают кросс-экосистемную производительность, интегрируя возможности нескольких цепей L1. Помимо Neon, который достиг рыночной капитализации в $69 миллионов, у других проектов все еще отсутствуют соответствующие данные. Ожидается, что в будущем к битве блокчейнов присоединятся еще больше проектов L1 и L2.

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

В настоящее время общая рыночная капитализация для Уровня 1 и Уровня 2 составляет $752.123 миллиарда, при этом у параллельных блокчейнов рыночная капитализация составляет $52.539 миллиарда, что составляет около 7%. В рамках этого проекты, связанные с параллельной EVM, имеют рыночную капитализацию в размере $2.339 миллиарда, что составляет всего лишь 4% рыночной капитализации параллельных блокчейнов.

1.3 Карта отрасли

Отрасль обычно разделяет сети блокчейнов на четырехуровневую структуру:

Уровень 0 (сеть): Это базовый уровень сети блокчейна, который обрабатывает основные протоколы сетевого взаимодействия.

Уровень 1 (Инфраструктура): Этот уровень полагается на различные механизмы консенсуса для проверки транзакций в децентрализованной сети.

Уровень 2 (Расширение): Зависит от Уровня 1, это включает в себя различные протоколы второго уровня, направленные на решение ограничений Уровня 1, особенно в части масштабируемости.

Уровень 3 (Приложение): Зависит от Уровня 2 или Уровня 1, этот уровень используется для создания различных децентрализованных приложений (dApps).

Проекты параллельной EVM (Ethereum Virtual Machine) narrative в основном делятся на монолитные блокчейны и модульные блокчейны, причем монолитные блокчейны дополнительно делятся на L1 и L2. Исходя из общего количества проектов и развития нескольких основных направлений, можно сказать, что у параллельной EVM L1 публичных цепочек все еще есть значительный потенциал для роста по сравнению с экосистемой Ethereum.

В треке DeFi есть спрос на "высокую скорость и низкие комиссии", в то время как трек игр требует "сильного взаимодействия в реальном времени"; оба требуют определенной скорости выполнения. Параллельные EVM неизбежно принесут лучшие пользовательские впечатления этим проектам, выталкивая развитие индустрии на новый уровень.

L1 представляет собой новые общедоступные цепочки с врожденными возможностями параллельного выполнения и служит высокопроизводительной инфраструктурой. В этом фракции проекты, такие как Sei v2, Monad и Canto, независимо разработали параллельные EVM, совместимые с экосистемой Ethereum и обеспечивающие высокую пропускную способность транзакций.

L2, интегрируя возможности других цепочек L1, предлагает расширенные возможности для кросс-экосистемного сотрудничества и является выдающимся примером технологии rollup. В этой фракции Neon действует как эмулятор EVM в сети Solana, в то время как Eclipse выполняет транзакции на Solana, но урегулируется на EVM. Lumio похож на Eclipse, за исключением того, что слой выполнения был переключен на Aptos.

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

Fuel сосредоточен на выполнении транзакций, а другие компоненты передает на один или несколько независимых уровней блокчейна, что позволяет более гибкие комбинации: он может функционировать как Уровень 2, Уровень 1 или даже как сайдчейн или канал состояния. В настоящее время в экосистеме Fuel есть 17 проектов, в основном сосредоточенных на DeFi, NFT и инфраструктуре.

Однако только устно-цепной оракул был введен в практическое использование. Децентрализованная платформа кредитования Swaylend и платформа торговли перманентными контрактами SPARK были запущены на тестовых сетях, в то время как другие проекты все еще находятся в разработке.

2. Пути технической реализации

Для достижения децентрализованного выполнения транзакций сети блокчейн должны выполнять четыре обязанности:

  • Исполнение: Выполнение и проверка транзакций.
  • Доступность данных: Распределение новых блоков всем узлам в сети блокчейн.
  • Механизм консенсуса: Проверка блоков и достижение консенсуса.
  • Урегулирование: урегулирование и регистрация окончательного состояния транзакций.

Параллельный EVM в первую очередь сосредотачивается на оптимизации производительности уровня выполнения. Это разделено на решения Уровня 1 (L1) и решения Уровня 2 (L2). Решения Уровня 1 вводят механизм параллельного выполнения транзакций, позволяя выполнение транзакций параллельно виртуальной машине настолько, насколько это возможно. Решения Уровня 2 фундаментально используют уже параллелизированную виртуальную машину L1 для достижения некоторого уровня "выполнения вне цепи + урегулирования в цепи".

Поэтому, чтобы понять технические принципы параллельного EVM, необходимо разложить это на части: сначала понять, что такое виртуальная машина (VM), а затем понять, что представляет собой параллельное выполнение.

2.1 Виртуальная машина

В информатике виртуальная машина относится к виртуализации или эмуляции компьютерной системы.

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

JVM - это процесс виртуальной машины, разработанной для языка программирования Java. Программы, написанные на Java, сначала компилируются в байт-код Java (промежуточное состояние двоичного кода), который затем интерпретируется JVM: JVM отправляет байт-код интерпретатору, который переводит его в машинный код для различных машин, а затем запускает его на машине.

Виртуальные машины блокчейна являются типом виртуальной машины процесса. В контексте блокчейна виртуальная машина относится к виртуализации распределенной машины состояний, используемой для распределенного выполнения контрактов, запуска dApps. Аналогично JVM, EVM является виртуальной машиной процесса, разработанной для языка Solidity, где смарт-контракты сначала компилируются в байткод опкодов, затем интерпретируются EVM.

Новые общедоступные цепочки, выходящие за рамки Ethereum, часто используют виртуальные машины, основанные на байт-коде WASM или eBPF. WASM - это компактный, быстро загружаемый, переносимый формат байт-кода, основанный на механизмах безопасности песочницы. Разработчики могут писать умные контракты на различных языках программирования (C, C++, Rust, Go, Python, Java, или даже TypeScript), компилировать их в байт-код WASM и выполнять. Умные контракты, выполненные на блокчейне Sei, используют этот формат байт-кода.

eBPF происходит от BPF (Berkeley Packet Filter), изначально использовался для эффективной фильтрации сетевых пакетов, и превратился в eBPF, предлагая более богатый набор инструкций.

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

Другие общедоступные цепочки L1, такие как Aptos и Sui, используют язык программирования смарт-контрактов Move, компилирующийся в собственный байт-код, выполняемый на виртуальной машине Move. Monad разработал свою собственную виртуальную машину, совместимую с байт-кодом операций EVM (ветвь Shanghai).

2.2 Параллельное выполнение

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

В сетях блокчейн TPS (транзакции в секунду) обычно используется в качестве технического показателя для измерения скорости обработки. Механизм параллельного выполнения сложен и представляет собой вызов для технических навыков разработчиков, что затрудняет объяснение. Здесь мы используем пример "банка" для объяснения того, что такое параллельное выполнение.

(1) Во-первых, что такое последовательное выполнение?

Сценарий 1: Если мы рассматриваем систему как банк, а процессор обработки задач как кассу, то последовательное выполнение задач подобно тому, что в этом банке есть только одна доступная для обслуживания касса. В этом случае клиенты (задачи), приходящие в банк, должны образовать длинную очередь и обслуживать свои дела по одному. Для каждого клиента персонал кассы должен повторять одни и те же действия (выполнять инструкции) для обслуживания клиента. Клиенты должны ждать своей очереди, что приводит к увеличению времени транзакции.

(2) Итак, что такое параллельное выполнение?

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

(3) Какая ошибка произойдет, если не предусмотрены защиты, и два человека одновременно передают деньги другому человеку?

Сценарий 3: Рассмотрим A, B и C, у которых соответственно 2 ETH, 1 ETH и 0 ETH на счетах. Теперь A и B хотят передать по 0,5 ETH C. В системе, которая выполняет транзакции последовательно, проблем не возникнет (стрелка влево “<=” указывает на чтение из реестра, а стрелка вправо “=>” указывает на запись в реестр, также ниже):

Однако параллельное выполнение не так просто, как кажется. Есть много тонких деталей, которые могут привести к серьезным ошибкам, если не обращать на них внимание. Если транзакции A и B, переводящиеся на C, выполняются параллельно, последовательность шагов может привести к несогласованным результатам:

Параллельная задача 1 выполняет перевод от A к C, а Параллельная задача 2 выполняет перевод от B к C. Шаги, помеченные звездочкой, проблематичны: поскольку задачи выполняются параллельно, на Шаге 2 расчет баланса, выполненный Параллельной задачей 1, еще не был записан в реестр. На Шаге 3 Параллельная задача 2 читает баланс счета C (который по-прежнему равен 0) и выполняет ошибочный расчет баланса на основе этого на Шаге 5. Затем, в операции обновления реестра на Шаге 6, он неправильно обновляет баланс счета, который уже был обновлен до 0.5 на Шаге 4, снова до 0.5. В результате баланс счета C составляет всего лишь 0.5 ETH, несмотря на то, что как A, так и B перевели по 0.5 ETH каждый, фактически приводя к исчезновению оставшихся 0.5 ETH.

(4) Если не предусмотрены защитные меры, две задачи, не зависящие друг от друга, могут выполняться параллельно без ошибок

Сценарий 4: Параллельная задача 1 выполняет перевод 0.5 ETH от A (баланс 2 ETH) к C (баланс 0 ETH), а Параллельная задача 2 выполняет перевод 0.5 ETH от B (баланс 1 ETH) к D (баланс 0 ETH). Очевидно, что между этими двумя задачами по переводу нет зависимости. Независимо от того, как переплетаются шаги двух задач, они не столкнутся с описанными выше проблемами:

Из сравнения этих сценариев можно сделать вывод, что при наличии зависимости между задачами ошибки в обновлении состояния могут возникнуть во время параллельного выполнения; в противном случае ошибки не возникнут. Задача (транзакция) считается имеющей зависимостью, если она соответствует одному из следующих двух условий:

  1. Задача пишет на выходной адрес, который другая задача читает как входной адрес;
  2. Два задания выводятся на один и тот же адрес.

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

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

2.3 Механизм передачи сообщений

Сценарий 5: Предположим, что в банке одновременно работают четыре службы для обслуживания клиентов. Каждому кассиру на этих стойках выдается уникальный учет, который может изменять только он. В этом учете записывается баланс счетов клиентов, которых они обслуживают.

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

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

Преимущества модели актеров:

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

Недостатки модели актеров:

Каждый актер может выполнять задачи только последовательно. В определенных сценариях это не использует преимуществ параллелизма. Например, если кассиры № 2, 3 и 4 одновременно отправляют сообщения, чтобы спросить кассира № 1 о балансе счета клиента A, кассир № 1 может обрабатывать эти запросы только поочередно, хотя они могли бы быть обработаны параллельно.

Отсутствует глобальное представление текущего статуса системы. Если операции системы сложные, становится сложно понять общую ситуацию, найти и исправить ошибки.

2.4 Механизм общей памяти

2.4.1 Модель блокировки памяти

Сценарий 6: Представьте себе банк с одним большим реестром, который записывает балансы счетов всех своих клиентов. Рядом с реестром есть только одна ручка для внесения изменений в него.

В этом сценарии соревнование между четырьмя банковскими кассирами превращается в гонку на скорость: один кассир первым берет ручку (блокирует ее) и начинает изменять реестр, в то время как остальные три должны ждать. Как только кассир заканчивает и кладет ручку (разблокирует ее), следующие три кассира бросаются за ручку. Этот цикл повторяется, иллюстрируя модель блокировки памяти.

Блокировка памяти позволяет задачам, выполняющимся параллельно, блокировать общий ресурс перед доступом к нему. После блокировки ресурса другие задачи должны ждать, пока он не будет изменен и разблокирован, прежде чем они смогут снова его заблокировать и получить доступ к нему.

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

Платформы Blockchain, такие как Solana, Sui и Sei v1, используют модель общей памяти на основе блокировки памяти. Этот механизм может показаться простым, но его реализация сложна и требует от разработчиков умения многопоточного программирования. Бездумные действия могут привести к различным ошибкам:

Сценарий 1: Задача блокирует общий ресурс, но выходит из строя во время выполнения, оставляя ресурс недоступным.

Сценарий 2: Задача блокирует ресурс, но в конечном итоге снова блокирует его из-за вложенной бизнес-логики, что приводит к тупику, где она ожидает сама себя.

Модель блокировки памяти подвержена проблемам, таким как взаимоблокировки, вечные блокировки и голодание:

  1. Тупик возникает, когда несколько параллельных задач борются за несколько общих ресурсов, причем каждая задача удерживает их часть и ждет, чтобы другие освободили свои части.
  2. Livelock происходит, когда параллельные задачи обнаруживают, что другие задачи активны, и добровольно отказываются от своего удержания общих ресурсов, что приводит к непрерывному циклу уступок.
  3. Голодание происходит, когда задачи с высоким приоритетом постоянно получают доступ к общим ресурсам, в то время как задачи с более низким приоритетом вынуждены длительно ждать.

2.4.2 Оптимистичный параллелизм

Сценарий 7

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

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

Во время Фазы 1 задачи 1, 2 и 3 выполняются параллельно. Однако задачи 2 и 3 одновременно обращаются к общему ресурсу B, вызывая конфликт, поэтому задача 3 переносится на следующую фазу. В Фазе 2 задачи 3 и 4 обе обращаются к ресурсу B, в результате чего задача 4 переносится, и так далее, пока все задачи не будут завершены. Как видно, задачи, сталкивающиеся с конфликтами, повторно выполняются.

Модель оптимистичного параллелизма

Модель оптимистичного параллелизма использует многоуровневую структуру данных в памяти для записи каждого записанного значения и информации о его версии (аналогично ярлыкам, используемым банковскими кассирами).

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

Оптимистическая модель параллелизма возникла из механизма программирования без блокировок в области баз данных, известного как Software Transaction Memory (STM). Поскольку блокчейн-сети по своей природе поддерживают определенный порядок транзакций, этот концепт был внедрен и развился в механизм Block-STM. Платформы блокчейна, такие как Aptos и Monad, приняли Block-STM в качестве своего механизма параллельного выполнения.

Следует отметить, что общедоступная цепь Sei в своей предстоящей версии v2 отказалась от оригинальной модели блокировки памяти в пользу оптимистичной модели параллелизма. Блок-STM выполняет транзакции на чрезвычайно высокой скорости; в тестовой среде Aptos достиг впечатляющей скорости выполнения транзакций в 160k транзакций в секунду (tps), что в 18 раз быстрее, чем последовательная обработка транзакций.

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

2.5 Строгий список доступа к состоянию

Механизмы передачи сообщений и общей памяти основаны на модели данных учета/баланса, которая записывает информацию о балансе каждого счета в блокчейне. Это похоже на то, как банковский реестр показывает, что у клиента А баланс в размере 1 000 единиц, а у клиента Б – 600 единиц. Транзакции обрабатываются просто путем обновления статуса баланса счетов.

В качестве альтернативы, можно также записать детали каждой транзакции во время самой транзакции, создавая журнал транзакций. Этот журнал можно использовать для расчета балансов счетов. Например:

  • Клиент A открывает счет и вносит 1 000 единиц;
  • Клиент B открывает счет (0 единиц);
  • Клиент A переводит 100 единиц Клиенту B.

Путем чтения и расчета бухгалтерской книги можно определить, что у клиента A баланс составляет 900 единиц, а у клиента B – 100 единиц.

UTXO (Unspent Transaction Output) похож на эту модель данных журнала транзакций. Он представляет собой метод обозначения цифровой валюты в Bitcoin, блокчейне первого поколения. У каждой транзакции есть входы (как средства были получены) и выходы (как средства были потрачены), и UTXO можно понимать просто как квитанции о средствах, которые еще не были потрачены.

Например, если у клиента A есть 6 BTC и он переводит 5,2 BTC клиенту B, оставляя 0,8 BTC, то с точки зрения UTXO это выглядит следующим образом: 6 UTXO, каждый стоимостью 1 BTC, уничтожаются, и B получает новый UTXO стоимостью 5,2 BTC, в то время как A получает новый UTXO стоимостью 0,8 BTC в виде сдачи. Таким образом, 6 UTXO уничтожаются, чтобы создать 2 новых UTXO.

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

Список доступа служит двум целям:

  1. Оценка безопасности транзакции: если транзакция обращается к адресу, который не находится в списке доступа, выполнение завершается неудачно.
  2. Параллельное выполнение транзакций: Согласно списку доступа, транзакции группируются в несколько наборов. Поскольку между наборами в списке доступа нет зависимостей (пересечений), эти наборы транзакций могут выполняться параллельно.

3. Факторы роста отрасли

С внутренней точки зрения развитие чего-либо typcially прогрессирует от начала к усовершенствованию, и вечное streben человечества к скорости. Для решения проблем скорости исполнения в блокчейн сетях появилось множество решений, как on-chain, так и off-chain. Off-chain решения, такие как rollups, полностью признаны за свою ценность, в то время как рассказ о параллельных виртуальных машинах Ethereum (EVM) все еще предлагает значительные возможности для исследований.

Исторически, с утверждением SEC фондового биткоин-ETF и предстоящим событием по уменьшению награды за блок в биткоине, в сочетании с потенциальными снижениями процентных ставок Федеральной резервной системой, ожидается, что криптовалюты войдут в значительный бычий рынок. Устойчивый рост отрасли требует инфраструктур блокчейн-сетей, способных обрабатывать больший объем информации в качестве надежного фундамента.

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

Относительно развития отрасли, хотя непрерывно появляются различные технологические и бизнес-модельные инновации, потенциал роста в Web3 остается в значительной степени неиспользованным. Централизованные сети могут обрабатывать более 50 000 сообщений в секунду, отправлять 3,4 миллиона электронных писем, выполнять 100 000 поисковых запросов в Google и поддерживать одновременно десятки тысяч игроков онлайн, подвиги, которые пока не могут быть достигнуты децентрализованными сетями. Для того чтобы децентрализованные системы могли конкурировать и вырезать свою территорию, необходима постоянная оптимизация параллельных механизмов выполнения и увеличение пропускной способности транзакций.

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

4.Существующие проблемы

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

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

Есть как минимум три точки зрения, с которых можно оценить безопасность проекта:

1. Командный фон: Команды с опытом системного программирования искусны в многопоточном программировании и могут решить 80% сложных проблем. Системное программирование обычно включает в себя следующие области:

  • Операционные системы
  • Различные драйверы устройств
  • Файловые системы
  • Базы данных
  • Встроенные системы
  • Криптография
  • Мультимедийные кодеки
  • Управление памятью
  • Сетевые технологии
  • Виртуализация
  • Игры
  • Продвинутые языки программирования

2. Поддерживаемость кода: Написание поддерживаемого кода следует четкой методологии, такой как наличие четкого архитектурного дизайна, использование шаблонов проектирования для обеспечения повторного использования кода, применение техник разработки через тестирование для написания достаточного количества модульных тестов и устранение избыточного кода путем продуманного рефакторинга.

3. Используемый язык программирования: Некоторые передовые языки программирования разработаны с особым упором на безопасность памяти и высокую конкурентоспособность. Компиляторы проверяют код на проблемы конкурентности или потенциальное доступ к недопустимым адресам памяти, что приводит к сбоям компиляции в случае обнаружения, таким образом, заставляя разработчиков писать надежный код.

Язык Rust в этом отношении примерен, поэтому мы видим, что большинство параллельных блокчейн-проектов разрабатываются на Rust. Некоторые проекты даже заимствуют дизайн Rust для реализации собственных языков смарт-контрактов, таких как язык Sway Fuel.

5. Целевая организация

5.1 Основано на оптимистичной модели параллелизации

5.1.1 От блокировки памяти к оптимистичному параллелизму

Sei - это универсальный общедоступный блокчейн на основе технологии с открытым исходным кодом, созданный в 2022 году. Основателями являются выпускники Университета Калифорнии в Беркли, а другие члены команды также имеют образование в престижных зарубежных университетах.

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

В августе 2023 года Sei запустился на своем основном сети, заявляя, что является самым быстрым общедоступным блокчейном L1, способным обрабатывать 12 500 транзакций в секунду, с окончательной реализацией достигнуто в 380 мс. В настоящее время у него рыночная капитализация почти 2,2 миллиарда долларов.

В настоящее время экосистема Sei включает в себя 118 проектов, в основном сосредоточенных на DeFi, инфраструктуре, NFT, играх и кошельках. В сообществе в настоящее время 650 000 участников в Twitter, 600 000 в Discord и 40 000 в Telegram.

В конце ноября 2023 года Sei объявил на своем официальном блоге, что начнет самое значительное обновление версии с момента запуска основной сети в первой половине 2024 года: Sei v2. Sei v2 заявляется первым параллельным блокчейном EVM. Это обновление версии внесет следующие новые функции:

  • Обратная совместимость для смарт-контрактов EVM: Разработчики могут переносить и развертывать смарт-контракты EVM без изменения кода.
  • Возможность повторного использования общих инструментов/приложений, таких как Metamask.
  • Оптимистическая параллелизация: Sei v2 откажется от механизма общего доступа через блокировку памяти в пользу оптимистической параллелизации.
  • SeiDB: Оптимизация уровня хранения.
  • Поддержка бесшовной совместимости между Ethereum и другими цепями.

Изначально параллельное выполнение транзакций в сети Sei основывалось на модели блокировки памяти. Перед выполнением все зависимости между ожидающими транзакциями были разрешены и был сгенерирован DAG, затем на основе DAG порядок выполнения транзакций был точно упорядочен. Этот метод увеличил умственную нагрузку на разработчиков контрактов, потому что им пришлось внедрить логику в код во время разработки.

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

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

5.1.2 Потенциальный дисруптор на треке L1: Монада

Если вы упустили развитие вышеперечисленных общедоступных блокчейнов, то определенно не стоит упускать Monad. Его называют потенциальным дисруптором на трассе L1.

Monad был основан двумя старшими инженерами из Jump Crypto в 2022 году. Проект завершил раунд затравочного финансирования в размере 19 миллионов долларов в феврале 2023 года. В марте 2024 года Paradigm возглавила переговоры по финансированию на сумму более 200 миллионов долларов для Monad. В случае успеха, это будет крупнейшее финансирование криптовалюты с начала года.

Проект уже достиг важного этапа запуска внутренней тестовой сети и работает над следующим шагом - открытием публичной тестовой сети.

Монада высоко ценится капиталом по двум основным причинам: одна из них - ее прочные технические основы, а другая - мастерство в маркетинговом хайпе. Основная команда лабораторий Монады состоит из 30 участников, все из которых имеют десятилетний опыт в высокочастотной торговле, ядерных драйверах и финансовых технологиях, а также обширный опыт разработки в распределенных системах.

Ежедневные операции проекта также очень 'закоренелы': постоянное участие в 'волшебном маркетинге' с его 200 000 подписчиками в Твиттере и 150 000 участниками в Дискорде. Например, проведение еженедельных конкурсов на мемы, сбор различных странных фиолетовых животных эмодзи или видео от сообщества, чтобы проводить 'духовное распространение'.

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

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

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

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

В настоящее время его производительность достигает 10 000 TPS, и он может создавать блоки за одну секунду. По мере развития проекта ядро команды будет продолжать исследовать более оптимизированные механизмы.

5.1.3 Высокодецентрализованный проект L1: Canto

Основанный в 2022 году, Canto - это высокодецентрализованный проект L1, построенный на Cosmos SDK. Он функционирует без официального фонда, не занимается предпродажами, не связан ни с какой организацией, не ищет финансирования и полностью управляется сообществом. Даже основная команда остается анонимной, работая в слабо организованном порядке.

Хотя он является совместимым с EVM общим блокчейном, основным видением Canto является стать доступной, прозрачной, децентрализованной и бесплатной платформой DeFi. Проведя обширные исследования сектора, было обнаружено, что любая здоровая экосистема DeFi включает три основных элемента:

  1. Децентрализованные биржи (DEX) типа Uniswap и Sushiswap;
  2. Платформы кредитования, такие как Compound и Aave;
  3. Децентрализованные токены, такие как DAI, USDC или USDT.

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

Канто выбирает другой подход: создать бесплатную общественную инфраструктуру для DeFi (бесплатная общественная инфраструктура), сделать себя бесплатной парковкой для своих экологических проектов.

Инфраструктура состоит из 3 протоколов: децентрализованная биржа Canto DEX, пуловая платформа для кредитования Canto Lending Market (CLM), форкнутая из Compound v2, и стабильная валюта NOTE, которую можно взять в кредит из CLM под залоговые активы.

Canto выбрал новаторский подход: создание бесплатной общественной инфраструктуры, ориентированной на DeFi, позиционируя себя как бесплатную парковку, доступную для использования своими проектами экосистемы без дополнительной платы.

Инфраструктура состоит из трех протоколов: децентрализованная биржа Canto DEX, пуловая платформа для кредитования Canto Lending Market (CLM) форкнутая из Compound v2, и стейблкоин NOTE, который можно занять из CLM, используя заложенные активы.

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

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

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

Различными способами Canto стимулирует разработчиков экосистемы и пользователей присоединяться и постоянно обогащать экосистему. Тщательно контролируя "права на чеканку", Canto создает возможности для кросс-приложенийной ликвидности между различными децентрализованными приложениями. По мере процветания экосистемы ее токены увеличиваются в цене. После того как предложение CSR было одобрено голосованием сообщества 26 января 2024 года, токен $CANTO пережил взлет цены.

В результате этой серии инноваций в бизнес-модели 18 марта 2024 года Canto объявила о своем последнем этапе технических итераций на своем официальном блоге.

Кроме того, помимо принятия новой версии Cosmos SDK и интеграции новых технологий для снижения узких мест доступа к хранилищу, Canto также обновит параллельные EVM: внедрение оптимистичной параллелизации через реализацию Cyclone EVM.

Космос SDK, используемый Canto, разделяет обработку транзакций на три этапа: Предложение, Голосование и Финализация. Подпроцесс ProcessProposal во время Голосования отвечает за параллельное выполнение транзакций. Движок параллельного выполнения обрабатывает выполнение, в то время как движок обнаружения конфликтов проверяет допустимость транзакций.

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

5.2 На основе строгих списков доступа к состоянию: Топливо

Топливо, состоящее из виртуальной машины FuelVM, языка разработки контрактов Sway, вдохновленного Rust, и связанного с ним инструментария, представляет собой настраиваемую модульную «операционную систему для роллапов Ethereum». Проект Fuel был создан в 2019 году, и в декабре 2020 года Fuel Labs запустила первый слой исполнения оптимистичного роллапа на Ethereum, Fuel v1. После более чем трех лет разработки проект наконец готовится к запуску своей основной сети в третьем квартале 2024 года.

Fuel завершил финансирование в размере $1.5 миллиона и $80 миллионов в 2021 и 2022 годах соответственно. Основная команда состоит из более чем 60 инженеров, основателем которой является Джон Адлер, также являющийся соучредителем решения по доступности данных Celestia Labs и одним из ранних сторонников оптимистичного подхода к rollup. В операционном плане у проекта 270 000 участников в Twitter и 390 000 на Discord.

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

Rollup - это масштабируемое решение, которое работает вне L1, выполняя транзакции пакетами вне цепи, а затем отправляя данные транзакции или доказательства выполнения на L1. Это обеспечивает безопасность через уровень DA и завершает транзакции. Существует два основных типа rollup: оптимистичный и нулевого знания (ZK).

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

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

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

5.3 Интеграция межцепочного взаимодействия цепочек L1 с решениями L2: Neno, Eclipse и Lumio

L2-решения имеют общую особенность: они объединяют возможности двух типов виртуальных машин для увеличения скорости выполнения транзакций. В частности, это включает использование параллельных L1 для выполнения транзакций с сохранением совместимости с другими цепочками (поддержка двойной виртуальной машины). Однако механизмы совместимости, выбранные различными проектами, различаются. В этом отношении Neon, Eclipse и Lumio особенно репрезентативны.

Neon утверждает, что является первым параллельным проектом EVM в экосистеме Solana, позволяя разработчикам без проблем мигрировать проекты экосистемы Ethereum в экосистему Solana. Eclipse - еще один протокол в экосистеме Solana, совместимый с EVM, построенный с модульной архитектурой. Из этих трех проектов только Neon выпустил собственный токен, достигнув рыночной капитализации более 78 миллионов.

Два других проекта все еще находятся на относительно ранних этапах. Lumio объединяет Aptos и Ethereum для создания оптимистичного протокола L2 rollup, эффективно выполняющего приложения Ethereum со скоростью Move VM.

В плане финансирования Neon завершил сбор средств в размере $40 миллионов в ноябре 2021 года и $5 миллионов в июне 2023 года, всего $45 миллионов. Eclipse завершил сбор средств в размере $6 миллионов в августе 2022 года, $9 миллионов в сентябре 2022 года и $50 миллионов в марте 2024 года, всего $65 миллионов. Lumio еще не привлек средства.

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

С механической точки зрения Neon - это эмулятор EVM в сети Solana, работающий как смарт-контракт. Разработчики могут использовать языки программирования, такие как Solidity и Vyper, для написания приложений dApp, а также могут использовать инструменты Ethereum и совместимые с Ethereum RPC API, учетные записи, подписи и стандарты токенов, такие как MetaMask, Hardhat и Remix. В то же время они могут наслаждаться преимуществами низких комиссий, высокой скоростью выполнения транзакций и возможностями параллельной обработки, предоставляемыми Solana.

Транзакции Ethereum, отправленные с фронтенда приложения Ethereum dApp, преобразуются прокси в транзакции Solana, а затем выполняются в эмуляторе, изменяя состояние цепи. Это похоже на игровые эмуляторы, которые мы часто используем на ПК, позволяя нам играть в эксклюзивные игры с консолей, таких как Switch и PlayStation, на настольных компьютерах. Neon позволяет разработчикам Ethereum запускать приложения Ethereum в сети Solana.

Eclipse принимает другой подход к реализации: выполнение транзакций через SVM и урегулирование транзакций через EVM. Eclipse использует модульную архитектуру блокчейна, где он занимается только выполнением транзакций и передает другие обязанности сторонним исполнителям, формируя единое решение путем модульных комбинаций.

Например, он использует Celestia для управления доступностью данных и Ethereum для выполнения и завершения транзакций. Eclipse обеспечивает скорость выполнения через SVM и безопасность через проверку и завершение Ethereum.

Lumio использует философию дизайна, независимую от уровней выполнения и урегулирования, поддерживая различные виртуальные машины и совместимую с несколькими L1/L2 сетями: Ethereum, Aptos, Optimism, Avalanche, zkSync и другими. Он выполняет транзакции через Move VM и урегулирует их через EVM, тем самым соединяя экосистемы Ethereum и Aptos.

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

Вышеуказанные проекты в настоящее время являются основными, связанными с параллельным повествованием EVM, как показано на следующей диаграмме.

6. Заключение и перспективы

Люди часто сравнивают биткоин с "распределенным реестром", а Ethereum с "распределенной системой состояний". Если мы рассматриваем все узлы, работающие в сети блокчейна, как один компьютер, то параллельные блокчейны фундаментально изучают, как максимизировать использование ресурсов обработки этого "компьютера" для достижения самых быстрых скоростей выполнения.

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

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

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

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

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

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

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

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

Параллельные EVM находятся еще на начальном этапе развития, и проекты, такие как Neon, Monad, Canto, Eclipse, Fuel и Lumio, находятся на этапе, когда их ценность еще не была полностью реализована. В частности, Monad, Canto и Fuel.

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

утверждение:

  1. Эта статья воспроизведена с Gryphsis Academy) оригинальное название - «Десять тысяч слов толкования параллельного EVM: Как преодолеть узкое место производительности блокчейна?», авторские права принадлежат оригинальному автору [@leesper6], если у вас есть возражения к повторной публикации, пожалуйста, свяжитесьКоманда Gate Learn, команда обработает это как можно скорее в соответствии с соответствующими процедурами.

  2. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, представляют только личные взгляды автора и не являются инвестиционными рекомендациями.

  3. Другие языковые версии статьи переведены командой Gate Learn и не упоминаются вGate.ioПереведенная статья не может быть воспроизведена, распространена или использована в качестве плагиата.

Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!