Блокчейны - это виртуальные машины, программно-аппаратная модель вычислений, которая работает поверх распределенной сети физических компьютеров, к которой может присоединиться любой, но контроль над которой крайне сложно осуществить для отдельной сущности. Понятие блокчейна впервые было описано в знаменитой белой книге Биткоина Сатоши Накамото в 2008 году, как основная инфраструктура, обеспечивающая криптографически защищенные платежи между равными участниками в Биткоине. Транзакции для блокчейнов - это то же самое, что логи для социальных медиа и интернет-компаний; они служат записями деятельности для этой конкретной сети, ключевое различие заключается в том, что транзакции на блокчейне неизменны и часто общедоступны.
Спасибо за прочтение Shoal Research! Подпишитесь бесплатно, чтобы получать новые сообщения и поддержать мою работу.
Подписаться
Но что такое точно транзакция?
Транзакции на блокчейнах включают передачу цифровых активов с одного адреса на распределенном реестре на другой, обеспеченные использованием криптографии открытого ключа. Транзакции могут использоваться для децентрализованных передач от одного участника к другому или для различных процессов аутентификации и верификации.
Пример транзакции, которую может наблюдать любой пользователь в обозревателе блокчейна, таком как SeiTrace
Когда инициируется транзакция, то есть Боб отправляет некоторые токены Элис, транзакция Боба транслируется в базовую сеть блокчейна. Впоследствии кластеры специализированных узлов в сети начинают проверять и подтверждать транзакцию как легитимную. Как только достаточное количество этих узлов подтвердят содержимое транзакции, транзакция добавляется в блок вместе с другими транзакциями пользователей. Как только блок заполнен, он добавляется в цепочку, отсюда и название 'блокчейн'. Транзакция Боба теперь является частью безопасного и прозрачного реестра, и он и Алиса могут проверить содержимое.
В общем, все транзакции блокчейна содержат метаданные, которые помогают узлам, работающим и обеспечивающим безопасность сети, идентифицировать и выполнить конкретный набор инструкций и параметров. У каждой транзакции будет высокоуровневые данные, введенные исходным отправителем, такие как сумма для передачи, адрес назначения и цифровая подпись для подтверждения транзакции, а также различные низкоуровневые данные, которые создаются и автоматически прикрепляются, хотя эти данные различаются в зависимости от сети и дизайна.
В конечном итоге, однако, процессы, заложенные за кулисами на сетевом уровне перед выполнением транзакции, различаются в зависимости от дизайна блокчейна.
Пул памяти, или mempool, является общей особенностью дизайна блокчейна, реализованной традиционными сетями блокчейна, такими как Биткойн и Эфириум. Mempool просто являются буферными зонами, или 'приемными', для ожидающих транзакций, которые еще не были добавлены в блок и выполнены.
Для лучшего понимания мы можем изложить жизненный цикл транзакции на блокчейне, использующем пул памяти;
Важно отметить, что некоторые блокчейны, такие как Solana, не используют пул памяти и могут вместо этого напрямую пересылать транзакции производителю блоков в качестве средства обеспечения высокой скорости и пропускной способности за счет непрерывного производства блоков.
Давайте пройдемся по жизненному циклу транзакции на блокчейне без пула транзакций:
Старые блокчейны, а именно Биткойн и Эфириум, используют последовательный механизм выполнения транзакций. Каждая транзакция, добавленная в блокчейн, вызывает изменение состояния сети, и ВМ спроектирована так, чтобы обрабатывать только одно изменение состояния за раз в целях безопасности.
Это привело к значительным узким местам для пропускной способности базовой сети, так как количество транзакций, которые можно добавить в блок, ограничено, что приводит к увеличению времени ожидания и небывалым всплескам затрат на транзакции, что иногда может сделать сеть непригодной к использованию. Кроме того, последовательные модели выполнения неэффективно используют аппаратные компоненты и, следовательно, не получают выгоды от прорывов в вычислениях, т.е. от многоядерных процессоров.
Параллельные вычисления являются ключевым компонентом архитектуры компьютера, чьи корни можно проследить до самых началконец 1950-х, хотя его идеи и теория были прослежены даже до 1837По определению, параллельные вычисления означают использование нескольких элементов обработки одновременно для решения операции, при этом более крупная и сложная задача разделяется на более мелкие, чтобы выполнить их более эффективно, чем в последовательном режиме.
Изначально реализованный только в системах высокопроизводительных вычислений, параллельные вычисления развились до доминирующей парадигмы в архитектуре компьютеров сегодня, поскольку спрос на вычисления экспоненциально возрос в интернет-эпоху, обостренную ограничениями масштабирования частоты в предыдущие десятилетия.
Этот архитектурный стандарт применяется к блокчейнам таким же образом, только что основная задача, которую решают компьютеры, - это обработка и выполнение транзакций, или передача стоимости от смарт-контракта A к смарт-контракту B, отсюда и термин параллельное выполнение.
Параллельное выполнение означает, что вместо последовательной обработки транзакций блокчейн может обрабатывать несколько не конфликтующих транзакций одновременно. Это может значительно увеличить пропускную способность сети блокчейн, сделав ее более масштабируемой и эффективной для обработки более высоких нагрузок активности и спроса на место в блоке.
Для более простой аналогии. рассмотрим эффективность продуктового магазина с несколькими кассами для покупателей по сравнению с одной для всех.
Параллельное выполнение в блокчейнах разработано для повышения эффективности скорости и производительности сети, особенно когда сеть испытывает высокий трафик и спрос на ресурсы. В контексте крипто-экосистем параллельное выполнение означает, что если Боб хочет выпустить последнюю популярную коллекцию NFT, а Алиса хочет купить свой любимый мемкоин, сеть будет обслуживать обоих пользователей, не ущемляя качество производительности и, таким образом, пользовательский опыт.
Хотя это может показаться просто интуитивной функцией повышения качества жизни, разблокировка производительности сети, обеспеченная параллельным выполнением, открывает путь к разработке новых и инновационных сценариев использования и приложений, которые могут использовать низкую задержку и высокие объемы, что само по себе заложит основу для привлечения следующей массовой группы пользователей в крипто-экосистемы.
Хотя предпосылка параллельного выполнения довольно проста, тонкости в конструкциях базовых блокчейнов влияют на то, как сам процесс параллельного выполнения происходит. Самой актуальной особенностью при проектировании блокчейнов с параллельным выполнением является возможность транзакций получать доступ к состоянию своей базовой сети, включая балансы счетов, хранилище и смарт-контракты.
Параллельное выполнение на блокчейнах может быть классифицировано как детерминированное или оптимистичное. Детерминированное параллельное выполнение, используемое блокчейнами, такими как Solana, неизбежно требует от транзакций заранее объявлять все зависимости памяти, т.е. какие части глобального состояния они хотят получить заранее. Хотя этот шаг создает дополнительные накладные расходы для разработчиков, более общим образом это позволяет сети сортировать и идентифицировать транзакции, не конфликтующие между собой, перед выполнением, создавая оптимизированную систему, которая является предсказуемой и эффективной. Напротив, оптимистичное параллельное выполнение структурировано для обработки всех транзакций параллельно, действуя на предположении, что конфликтов нет. Это позволяет базовому блокчейну обеспечивать более быстрое выполнение транзакций, хотя за счет потенциальной повторной обработки в случае конфликта. Если обнаруживаются две конфликтующие транзакции, система может затем повторно обрабатывать и выполнять их параллельно или последовательно.
Для лучшего понимания последствий этих тонких моментов дизайна может быть полезным проанализировать параллельное выполнение через призму команд, продвигающих границы параллельного выполнения сегодня.
Для лучшего понимания последствий этих тонкостей дизайна может быть полезным проанализировать параллельное выполнение через призму команд, продвигающих границы параллельного выполнения сегодня.
Solana была первой сетью блокчейнов, разработанной вокруг параллельного выполнения, вдохновленной опытом основателя Анатолия Яковенко в телекоммуникационной отрасли. Solana стремится предоставить платформу для разработчиков, которая работает так быстро, как позволяет физика, поэтому скорость и эффективность, обеспеченные параллельным вычислением, были простым и интуитивным выбором дизайна.
В средах на базе SM Sealevel использует многопоточную архитектуру, что означает, что она может обрабатывать несколько транзакций одновременно в пределах мощности ядра валидатора.
Ключ к возможности параллельного выполнения Соланы заключается в том, что когда транзакция активируется, сеть назначит список инструкций для выполнения этой транзакции, конкретно указывая, к каким учетным записям и состоянию обращаться и какие изменения вносить - это ключевой момент для определения того, какие транзакции не конфликтуют и могут выполняться одновременно, а также для возможности выполнения транзакций, которые пытаются получить доступ к одному и тому же состоянию, одновременно.
Рассмотрим эффективность, которую обеспечивают этикетки для системы регистрации багажа в аэропортах.
Solana также использует Cloudbreak, свою собственную пользовательскую accountsDB, для хранения и управления состоянием данных с целью обеспечить параллельное чтение и запись транзакций. Cloudbreak, оптимизированный для параллельного выполнения, горизонтально масштабируется для распределения и управления состоянием данных по нескольким узлам.
Благодаря своей параллельной архитектуре Солана может обрабатывать большое количество транзакций и при этом быстро выполнять их, обеспечивая почти мгновенную окончательность транзакций. Солана в настоящее время обрабатывает от 2 000 до 10 000 транзакций в секунду (TPS) в среднем. Более того, сферы применения SVM медленно, но верно расширяются, поскольку команды, такие как Eclipse, начинают внедрять инфраструктуру уровня 2, которая стремится использовать SVM в качестве среды выполнения.
Параллельная EVM описывает новую среду выполнения для блокчейнов, которая стремится принести «лучшее из обоих миров» дизайнов Solana и Ethereum, со скоростью и производительностью Solana, а также безопасностью и ликвидностью Ethereum. За счет обработки транзакций параллельно, а не последовательно, как в традиционном дизайне EVM, параллельные EVM позволяют разработчикам создавать приложения в высокопроизводительной сети, сохраняя возможность использовать связи с ликвидностью EVM и инструментами разработчика.
Сеть Sei - это совместимый с EVM, открытый исходный код блокчейна уровня 1, в котором размещается множество децентрализованных приложений, построенных вокруг высокой производительности. Sei был создан для обеспечения быстрой скорости при низких затратах для пользователей и разработчиков, и параллельное выполнение является ключевым компонентом обеспечения этой производительности и UX. В настоящее время Sei обеспечивает время подтверждения блока 390 мс и обработал более 1,9 млрд транзакций на своей основной сети pacific.
Изначально Sei использовал детерминированную параллельную модель выполнения, в которой умные контракты заранее объявляют свой необходимый доступ к состоянию, чтобы система могла одновременно выполнять не конфликтующие транзакции. С началом их обновления до V2 Sei переходит к оптимистичной параллельной модели, что означает, что все транзакции будут обрабатываться параллельно после их отправки в сеть (стадия выполнения), а затем будут проверяться на наличие конфликтующей информации с предыдущими транзакциями (стадия валидации). В случае двух или более конфликтующих транзакций, т.е. транзакций, пытающихся получить доступ к одному и тому же состоянию сети, Sei определяет эту точку конфликта, а затем повторно выполняет транзакции параллельно или последовательно в зависимости от характера конфликта.
Для хранения и обслуживания данных транзакций Sei также представит SeiDB, специальную базу данных, которая стремится улучшить недостатки v1 путем оптимизации параллельного выполнения. SeiDB нацелена на снижение накладных расходов по хранению избыточных данных и поддержанию эффективного использования диска для улучшения сетевой производительности. V2 сокращает объем метаданных, необходимых для отслеживания и хранения, и позволяет использовать журнал предварительной записи для помощи в восстановлении данных в случае сбоя.
Наконец, Sei также недавно объявила о запуске своего Parallel Stack, открытой платформы для обеспечения масштабируемых решений Layer 2, т. е. rollups, с возможностью использования и получения выгоды от параллельного выполнения.
Monad - это грядущий параллельный блокчейн уровня 1 EVM, обеспечивающий полную совместимость с байткодом и RPC для приложений и инфраструктуры Ethereum. Через ряд инновационных технических реализаций Monad стремится обеспечить более интерактивные впечатления, чем существующие блокчейны, сохраняя при этом более низкие транзакционные издержки за счет оптимизации производительности и переносимости, с временем блока 1 секунда и окончательностью до 10 000 TPS.
Monad реализует параллельное выполнение и суперскалярное конвейерное выполнение для оптимизации скорости и пропускной способности транзакций. Подобно Sei v2, Monad будет использовать оптимистичную модель выполнения, что означает, что сеть начинает выполнять все входящие транзакции одновременно, а затем анализирует и проверяет транзакции на наличие конфликтов и перезапускает их соответственно, с конечной целью, чтобы результат был идентичен, если бы транзакции были выполнены последовательно.
Важно отметить, что для поддержания синхронизации с Ethereum заказы Monad транзакций в блоке выполняются последовательно, с обновлением каждой транзакции по порядку.
Для более эффективного обслуживания и доступа к данным блокчейна, чем это предлагают текущие состояния клиентов Ethereum, Monad создал свою собственную собственную MonadDB, созданную нативно для блокчейнов. Monad DB использует передовые функции ядра Linux для эффективных асинхронных операций с диском, устраняя ограничения синхронного доступа к вводу/выводу. MonadDB предлагает асинхронный доступ к вводу/выводу (async I/O), ключевая функция для обеспечения параллельного выполнения, при которой система может начать обработку следующей транзакции, ожидая чтения состояния предыдущей транзакции.
Для простой аналогии можно рассмотреть приготовление многофункционального блюда (спагетти с фрикадельками). Включенные шаги: 1) приготовление соуса, 2) приготовление фрикаделек и 3) приготовление пасты. Эффективный повар начал бы с кипячения воды для пасты, затем приготовил бы ингредиенты для соуса, затем бросил бы пасту в уже кипящую воду, затем приготовил бы соус, и, наконец, фрикадельки, в отличие от выполнения каждого шага поочередно, завершения каждой задачи полностью перед переходом к следующей.
Move - это язык программирования, изначально разработанный командой Facebook в 2019 году для своего теперь несуществующего проекта Diem. Move был разработан для обработки данных смарт-контрактов и транзакций безопасным образом, устраняя встроенные в другие языки уязвимости, такие как атаки на повторный вход в систему.
MoveVM служит в качестве среды выполнения для блокчейнов, основанных на Move, используя параллелизацию для обеспечения более быстрой скорости выполнения транзакций и общей эффективности.
Aptos - это блокчейн на основе Move, разработанный участниками бывшего проекта Diem, который реализует параллельное выполнение для создания высокопроизводительной среды для разработчиков приложений. Aptos использует Block-STM, модифицированную реализацию механизма контроля одновременности программного транзакционного памяти (STM).
Блок-STM - это многопоточный параллельный исполнительный механизм, который позволяет оптимистично выполнять параллельные операции. Транзакции предварительно упорядочены и стратегически упорядочены внутри блоков, что является ключом к эффективному разрешению конфликтов и повторному выполнению этих транзакций. Исследование, проведенное Aptos, показало, что с помощью параллелизации Block-STM теоретически можно поддерживать до 160 тыс. транзакций в секунду.
Подобно Aptos, Sui - это блокчейн уровня 1, разработанный бывшими участниками проекта Diem, который использует язык Move. Однако Sui использует настраиваемую реализацию Move, которая изменяет модель хранения и разрешения на активы из оригинального дизайна Diem. В частности, это позволяет Sui использовать модель хранения состояния для представления независимых транзакций в виде объектов. Каждый объект имеет уникальный идентификатор в рабочей среде Sui, и благодаря этому система легко определяет не конфликтующие транзакции и обрабатывает их параллельно.
Подобно Solana, Sui реализует детерминированное параллельное выполнение, которое требует, чтобы транзакции заранее указывали, к каким счетам им нужно получить доступ.
Что такое Движение?
Movement создает набор инструментов для разработчиков и сервисов инфраструктуры блокчейна, позволяющих разработчикам легко получить преимущества разработки на Move. Действуя как поставщик услуг выполнения как сервиса, сходного с AWS, для разработчиков Move, Movement реализует параллелизацию как основную концепцию проектирования для обеспечения более высокой производительности и общей эффективности сети. MoveVM - модульная среда выполнения, которая позволяет блокчейн-сетям расширять и настраивать свои возможности обработки транзакций по мере необходимости для поддержки увеличивающегося объема транзакций, укрепляя их способности обрабатывать и выполнять транзакции параллельно.
Архитектура MoveVM
Движение также запустит M2, ZK-rollup, который будет совместим с клиентами EVM и Move. M2 унаследует движок параллелизации Block-STM и, как ожидается, обеспечит десятки тысяч TPS в результате.
Несколько важных вопросов и соображений, над которыми следует задуматься относительно развития параллельных блокчейнов;
На высоком уровне параллельные блокчейны сталкиваются с риском несоответствий в учете, т.е. двойным расходованием и изменениями порядка транзакций (в самом деле, это ключевая выгода последовательного выполнения). Детерминированная параллелизация решает эту проблему путем создания внутренней системы маркировки транзакций на базовом блокчейне. Блокчейны, реализующие оптимистичную обработку, должны обеспечить, что механизмы, которые они используют для проверки и повторного выполнения транзакций, являются безопасными и функциональными, и уступки, сделанные в пользу производительности, могут быть разумно реализованы.
История компьютеров показала, что параллельные системы со временем обычно становятся более эффективными и масштабируемыми, чем последовательные системы. Возникновение параллельных блокчейнов после Solana подчеркивает, что эта концепция применима также к криптоинфраструктуре. Даже Виталик намекнул на это параллелизациякак одно из потенциальных ключевых решений для улучшения масштабируемости EVM rollups в последнее время. В целом рост принятия крипто/блокчейна требует систем, которые более оптимальны, чем то, что доступно сегодня, включая параллельные блокчейны. Недавние проблемы сети Solana подчеркнули, что есть много места для улучшения в развитии параллельных блокчейнов. Поскольку все больше команд стремятся выйти за границы ончейн-фронтира и привлечь следующую массовую когорту пользователей и принятие к блокчейн-ориентированным приложениям и экосистемам, параллельные модели выполнения предоставляют интуитивную основу для создания систем, которые могут эффективно обрабатывать масштабы сетевой активности на уровне, соответствующему уровню компаний Web2 с легкостью.
Не является финансовыми или налоговыми консультациями. Цель этого информационного бюллетеня чисто образовательная и не должна рассматриваться как инвестиционный совет, юридический совет, запрос на покупку или продажу каких-либо активов или предложение принять какие-либо финансовые решения. Это не заменяет налоговый совет. Пожалуйста, проконсультируйтесь со своим бухгалтером и проведите собственное исследование.
Раскрытия. Все сообщения являются собственностью авторов, а не точкой зрения их работодателя. Этот пост был спонсирован Aster Foundation. Хотя Shoal Research получила финансирование для этой инициативы, спонсоры не влияют на аналитический контент. В Shoal Research мы стремимся обеспечить объективность и независимость всего контента. Наши внутренние процессы рецензирования поддерживают высочайшие стандарты целостности, и все потенциальные конфликты интересов раскрываются и строго управляются для поддержания достоверности и беспристрастности наших исследований.
Блокчейны - это виртуальные машины, программно-аппаратная модель вычислений, которая работает поверх распределенной сети физических компьютеров, к которой может присоединиться любой, но контроль над которой крайне сложно осуществить для отдельной сущности. Понятие блокчейна впервые было описано в знаменитой белой книге Биткоина Сатоши Накамото в 2008 году, как основная инфраструктура, обеспечивающая криптографически защищенные платежи между равными участниками в Биткоине. Транзакции для блокчейнов - это то же самое, что логи для социальных медиа и интернет-компаний; они служат записями деятельности для этой конкретной сети, ключевое различие заключается в том, что транзакции на блокчейне неизменны и часто общедоступны.
Спасибо за прочтение Shoal Research! Подпишитесь бесплатно, чтобы получать новые сообщения и поддержать мою работу.
Подписаться
Но что такое точно транзакция?
Транзакции на блокчейнах включают передачу цифровых активов с одного адреса на распределенном реестре на другой, обеспеченные использованием криптографии открытого ключа. Транзакции могут использоваться для децентрализованных передач от одного участника к другому или для различных процессов аутентификации и верификации.
Пример транзакции, которую может наблюдать любой пользователь в обозревателе блокчейна, таком как SeiTrace
Когда инициируется транзакция, то есть Боб отправляет некоторые токены Элис, транзакция Боба транслируется в базовую сеть блокчейна. Впоследствии кластеры специализированных узлов в сети начинают проверять и подтверждать транзакцию как легитимную. Как только достаточное количество этих узлов подтвердят содержимое транзакции, транзакция добавляется в блок вместе с другими транзакциями пользователей. Как только блок заполнен, он добавляется в цепочку, отсюда и название 'блокчейн'. Транзакция Боба теперь является частью безопасного и прозрачного реестра, и он и Алиса могут проверить содержимое.
В общем, все транзакции блокчейна содержат метаданные, которые помогают узлам, работающим и обеспечивающим безопасность сети, идентифицировать и выполнить конкретный набор инструкций и параметров. У каждой транзакции будет высокоуровневые данные, введенные исходным отправителем, такие как сумма для передачи, адрес назначения и цифровая подпись для подтверждения транзакции, а также различные низкоуровневые данные, которые создаются и автоматически прикрепляются, хотя эти данные различаются в зависимости от сети и дизайна.
В конечном итоге, однако, процессы, заложенные за кулисами на сетевом уровне перед выполнением транзакции, различаются в зависимости от дизайна блокчейна.
Пул памяти, или mempool, является общей особенностью дизайна блокчейна, реализованной традиционными сетями блокчейна, такими как Биткойн и Эфириум. Mempool просто являются буферными зонами, или 'приемными', для ожидающих транзакций, которые еще не были добавлены в блок и выполнены.
Для лучшего понимания мы можем изложить жизненный цикл транзакции на блокчейне, использующем пул памяти;
Важно отметить, что некоторые блокчейны, такие как Solana, не используют пул памяти и могут вместо этого напрямую пересылать транзакции производителю блоков в качестве средства обеспечения высокой скорости и пропускной способности за счет непрерывного производства блоков.
Давайте пройдемся по жизненному циклу транзакции на блокчейне без пула транзакций:
Старые блокчейны, а именно Биткойн и Эфириум, используют последовательный механизм выполнения транзакций. Каждая транзакция, добавленная в блокчейн, вызывает изменение состояния сети, и ВМ спроектирована так, чтобы обрабатывать только одно изменение состояния за раз в целях безопасности.
Это привело к значительным узким местам для пропускной способности базовой сети, так как количество транзакций, которые можно добавить в блок, ограничено, что приводит к увеличению времени ожидания и небывалым всплескам затрат на транзакции, что иногда может сделать сеть непригодной к использованию. Кроме того, последовательные модели выполнения неэффективно используют аппаратные компоненты и, следовательно, не получают выгоды от прорывов в вычислениях, т.е. от многоядерных процессоров.
Параллельные вычисления являются ключевым компонентом архитектуры компьютера, чьи корни можно проследить до самых началконец 1950-х, хотя его идеи и теория были прослежены даже до 1837По определению, параллельные вычисления означают использование нескольких элементов обработки одновременно для решения операции, при этом более крупная и сложная задача разделяется на более мелкие, чтобы выполнить их более эффективно, чем в последовательном режиме.
Изначально реализованный только в системах высокопроизводительных вычислений, параллельные вычисления развились до доминирующей парадигмы в архитектуре компьютеров сегодня, поскольку спрос на вычисления экспоненциально возрос в интернет-эпоху, обостренную ограничениями масштабирования частоты в предыдущие десятилетия.
Этот архитектурный стандарт применяется к блокчейнам таким же образом, только что основная задача, которую решают компьютеры, - это обработка и выполнение транзакций, или передача стоимости от смарт-контракта A к смарт-контракту B, отсюда и термин параллельное выполнение.
Параллельное выполнение означает, что вместо последовательной обработки транзакций блокчейн может обрабатывать несколько не конфликтующих транзакций одновременно. Это может значительно увеличить пропускную способность сети блокчейн, сделав ее более масштабируемой и эффективной для обработки более высоких нагрузок активности и спроса на место в блоке.
Для более простой аналогии. рассмотрим эффективность продуктового магазина с несколькими кассами для покупателей по сравнению с одной для всех.
Параллельное выполнение в блокчейнах разработано для повышения эффективности скорости и производительности сети, особенно когда сеть испытывает высокий трафик и спрос на ресурсы. В контексте крипто-экосистем параллельное выполнение означает, что если Боб хочет выпустить последнюю популярную коллекцию NFT, а Алиса хочет купить свой любимый мемкоин, сеть будет обслуживать обоих пользователей, не ущемляя качество производительности и, таким образом, пользовательский опыт.
Хотя это может показаться просто интуитивной функцией повышения качества жизни, разблокировка производительности сети, обеспеченная параллельным выполнением, открывает путь к разработке новых и инновационных сценариев использования и приложений, которые могут использовать низкую задержку и высокие объемы, что само по себе заложит основу для привлечения следующей массовой группы пользователей в крипто-экосистемы.
Хотя предпосылка параллельного выполнения довольно проста, тонкости в конструкциях базовых блокчейнов влияют на то, как сам процесс параллельного выполнения происходит. Самой актуальной особенностью при проектировании блокчейнов с параллельным выполнением является возможность транзакций получать доступ к состоянию своей базовой сети, включая балансы счетов, хранилище и смарт-контракты.
Параллельное выполнение на блокчейнах может быть классифицировано как детерминированное или оптимистичное. Детерминированное параллельное выполнение, используемое блокчейнами, такими как Solana, неизбежно требует от транзакций заранее объявлять все зависимости памяти, т.е. какие части глобального состояния они хотят получить заранее. Хотя этот шаг создает дополнительные накладные расходы для разработчиков, более общим образом это позволяет сети сортировать и идентифицировать транзакции, не конфликтующие между собой, перед выполнением, создавая оптимизированную систему, которая является предсказуемой и эффективной. Напротив, оптимистичное параллельное выполнение структурировано для обработки всех транзакций параллельно, действуя на предположении, что конфликтов нет. Это позволяет базовому блокчейну обеспечивать более быстрое выполнение транзакций, хотя за счет потенциальной повторной обработки в случае конфликта. Если обнаруживаются две конфликтующие транзакции, система может затем повторно обрабатывать и выполнять их параллельно или последовательно.
Для лучшего понимания последствий этих тонких моментов дизайна может быть полезным проанализировать параллельное выполнение через призму команд, продвигающих границы параллельного выполнения сегодня.
Для лучшего понимания последствий этих тонкостей дизайна может быть полезным проанализировать параллельное выполнение через призму команд, продвигающих границы параллельного выполнения сегодня.
Solana была первой сетью блокчейнов, разработанной вокруг параллельного выполнения, вдохновленной опытом основателя Анатолия Яковенко в телекоммуникационной отрасли. Solana стремится предоставить платформу для разработчиков, которая работает так быстро, как позволяет физика, поэтому скорость и эффективность, обеспеченные параллельным вычислением, были простым и интуитивным выбором дизайна.
В средах на базе SM Sealevel использует многопоточную архитектуру, что означает, что она может обрабатывать несколько транзакций одновременно в пределах мощности ядра валидатора.
Ключ к возможности параллельного выполнения Соланы заключается в том, что когда транзакция активируется, сеть назначит список инструкций для выполнения этой транзакции, конкретно указывая, к каким учетным записям и состоянию обращаться и какие изменения вносить - это ключевой момент для определения того, какие транзакции не конфликтуют и могут выполняться одновременно, а также для возможности выполнения транзакций, которые пытаются получить доступ к одному и тому же состоянию, одновременно.
Рассмотрим эффективность, которую обеспечивают этикетки для системы регистрации багажа в аэропортах.
Solana также использует Cloudbreak, свою собственную пользовательскую accountsDB, для хранения и управления состоянием данных с целью обеспечить параллельное чтение и запись транзакций. Cloudbreak, оптимизированный для параллельного выполнения, горизонтально масштабируется для распределения и управления состоянием данных по нескольким узлам.
Благодаря своей параллельной архитектуре Солана может обрабатывать большое количество транзакций и при этом быстро выполнять их, обеспечивая почти мгновенную окончательность транзакций. Солана в настоящее время обрабатывает от 2 000 до 10 000 транзакций в секунду (TPS) в среднем. Более того, сферы применения SVM медленно, но верно расширяются, поскольку команды, такие как Eclipse, начинают внедрять инфраструктуру уровня 2, которая стремится использовать SVM в качестве среды выполнения.
Параллельная EVM описывает новую среду выполнения для блокчейнов, которая стремится принести «лучшее из обоих миров» дизайнов Solana и Ethereum, со скоростью и производительностью Solana, а также безопасностью и ликвидностью Ethereum. За счет обработки транзакций параллельно, а не последовательно, как в традиционном дизайне EVM, параллельные EVM позволяют разработчикам создавать приложения в высокопроизводительной сети, сохраняя возможность использовать связи с ликвидностью EVM и инструментами разработчика.
Сеть Sei - это совместимый с EVM, открытый исходный код блокчейна уровня 1, в котором размещается множество децентрализованных приложений, построенных вокруг высокой производительности. Sei был создан для обеспечения быстрой скорости при низких затратах для пользователей и разработчиков, и параллельное выполнение является ключевым компонентом обеспечения этой производительности и UX. В настоящее время Sei обеспечивает время подтверждения блока 390 мс и обработал более 1,9 млрд транзакций на своей основной сети pacific.
Изначально Sei использовал детерминированную параллельную модель выполнения, в которой умные контракты заранее объявляют свой необходимый доступ к состоянию, чтобы система могла одновременно выполнять не конфликтующие транзакции. С началом их обновления до V2 Sei переходит к оптимистичной параллельной модели, что означает, что все транзакции будут обрабатываться параллельно после их отправки в сеть (стадия выполнения), а затем будут проверяться на наличие конфликтующей информации с предыдущими транзакциями (стадия валидации). В случае двух или более конфликтующих транзакций, т.е. транзакций, пытающихся получить доступ к одному и тому же состоянию сети, Sei определяет эту точку конфликта, а затем повторно выполняет транзакции параллельно или последовательно в зависимости от характера конфликта.
Для хранения и обслуживания данных транзакций Sei также представит SeiDB, специальную базу данных, которая стремится улучшить недостатки v1 путем оптимизации параллельного выполнения. SeiDB нацелена на снижение накладных расходов по хранению избыточных данных и поддержанию эффективного использования диска для улучшения сетевой производительности. V2 сокращает объем метаданных, необходимых для отслеживания и хранения, и позволяет использовать журнал предварительной записи для помощи в восстановлении данных в случае сбоя.
Наконец, Sei также недавно объявила о запуске своего Parallel Stack, открытой платформы для обеспечения масштабируемых решений Layer 2, т. е. rollups, с возможностью использования и получения выгоды от параллельного выполнения.
Monad - это грядущий параллельный блокчейн уровня 1 EVM, обеспечивающий полную совместимость с байткодом и RPC для приложений и инфраструктуры Ethereum. Через ряд инновационных технических реализаций Monad стремится обеспечить более интерактивные впечатления, чем существующие блокчейны, сохраняя при этом более низкие транзакционные издержки за счет оптимизации производительности и переносимости, с временем блока 1 секунда и окончательностью до 10 000 TPS.
Monad реализует параллельное выполнение и суперскалярное конвейерное выполнение для оптимизации скорости и пропускной способности транзакций. Подобно Sei v2, Monad будет использовать оптимистичную модель выполнения, что означает, что сеть начинает выполнять все входящие транзакции одновременно, а затем анализирует и проверяет транзакции на наличие конфликтов и перезапускает их соответственно, с конечной целью, чтобы результат был идентичен, если бы транзакции были выполнены последовательно.
Важно отметить, что для поддержания синхронизации с Ethereum заказы Monad транзакций в блоке выполняются последовательно, с обновлением каждой транзакции по порядку.
Для более эффективного обслуживания и доступа к данным блокчейна, чем это предлагают текущие состояния клиентов Ethereum, Monad создал свою собственную собственную MonadDB, созданную нативно для блокчейнов. Monad DB использует передовые функции ядра Linux для эффективных асинхронных операций с диском, устраняя ограничения синхронного доступа к вводу/выводу. MonadDB предлагает асинхронный доступ к вводу/выводу (async I/O), ключевая функция для обеспечения параллельного выполнения, при которой система может начать обработку следующей транзакции, ожидая чтения состояния предыдущей транзакции.
Для простой аналогии можно рассмотреть приготовление многофункционального блюда (спагетти с фрикадельками). Включенные шаги: 1) приготовление соуса, 2) приготовление фрикаделек и 3) приготовление пасты. Эффективный повар начал бы с кипячения воды для пасты, затем приготовил бы ингредиенты для соуса, затем бросил бы пасту в уже кипящую воду, затем приготовил бы соус, и, наконец, фрикадельки, в отличие от выполнения каждого шага поочередно, завершения каждой задачи полностью перед переходом к следующей.
Move - это язык программирования, изначально разработанный командой Facebook в 2019 году для своего теперь несуществующего проекта Diem. Move был разработан для обработки данных смарт-контрактов и транзакций безопасным образом, устраняя встроенные в другие языки уязвимости, такие как атаки на повторный вход в систему.
MoveVM служит в качестве среды выполнения для блокчейнов, основанных на Move, используя параллелизацию для обеспечения более быстрой скорости выполнения транзакций и общей эффективности.
Aptos - это блокчейн на основе Move, разработанный участниками бывшего проекта Diem, который реализует параллельное выполнение для создания высокопроизводительной среды для разработчиков приложений. Aptos использует Block-STM, модифицированную реализацию механизма контроля одновременности программного транзакционного памяти (STM).
Блок-STM - это многопоточный параллельный исполнительный механизм, который позволяет оптимистично выполнять параллельные операции. Транзакции предварительно упорядочены и стратегически упорядочены внутри блоков, что является ключом к эффективному разрешению конфликтов и повторному выполнению этих транзакций. Исследование, проведенное Aptos, показало, что с помощью параллелизации Block-STM теоретически можно поддерживать до 160 тыс. транзакций в секунду.
Подобно Aptos, Sui - это блокчейн уровня 1, разработанный бывшими участниками проекта Diem, который использует язык Move. Однако Sui использует настраиваемую реализацию Move, которая изменяет модель хранения и разрешения на активы из оригинального дизайна Diem. В частности, это позволяет Sui использовать модель хранения состояния для представления независимых транзакций в виде объектов. Каждый объект имеет уникальный идентификатор в рабочей среде Sui, и благодаря этому система легко определяет не конфликтующие транзакции и обрабатывает их параллельно.
Подобно Solana, Sui реализует детерминированное параллельное выполнение, которое требует, чтобы транзакции заранее указывали, к каким счетам им нужно получить доступ.
Что такое Движение?
Movement создает набор инструментов для разработчиков и сервисов инфраструктуры блокчейна, позволяющих разработчикам легко получить преимущества разработки на Move. Действуя как поставщик услуг выполнения как сервиса, сходного с AWS, для разработчиков Move, Movement реализует параллелизацию как основную концепцию проектирования для обеспечения более высокой производительности и общей эффективности сети. MoveVM - модульная среда выполнения, которая позволяет блокчейн-сетям расширять и настраивать свои возможности обработки транзакций по мере необходимости для поддержки увеличивающегося объема транзакций, укрепляя их способности обрабатывать и выполнять транзакции параллельно.
Архитектура MoveVM
Движение также запустит M2, ZK-rollup, который будет совместим с клиентами EVM и Move. M2 унаследует движок параллелизации Block-STM и, как ожидается, обеспечит десятки тысяч TPS в результате.
Несколько важных вопросов и соображений, над которыми следует задуматься относительно развития параллельных блокчейнов;
На высоком уровне параллельные блокчейны сталкиваются с риском несоответствий в учете, т.е. двойным расходованием и изменениями порядка транзакций (в самом деле, это ключевая выгода последовательного выполнения). Детерминированная параллелизация решает эту проблему путем создания внутренней системы маркировки транзакций на базовом блокчейне. Блокчейны, реализующие оптимистичную обработку, должны обеспечить, что механизмы, которые они используют для проверки и повторного выполнения транзакций, являются безопасными и функциональными, и уступки, сделанные в пользу производительности, могут быть разумно реализованы.
История компьютеров показала, что параллельные системы со временем обычно становятся более эффективными и масштабируемыми, чем последовательные системы. Возникновение параллельных блокчейнов после Solana подчеркивает, что эта концепция применима также к криптоинфраструктуре. Даже Виталик намекнул на это параллелизациякак одно из потенциальных ключевых решений для улучшения масштабируемости EVM rollups в последнее время. В целом рост принятия крипто/блокчейна требует систем, которые более оптимальны, чем то, что доступно сегодня, включая параллельные блокчейны. Недавние проблемы сети Solana подчеркнули, что есть много места для улучшения в развитии параллельных блокчейнов. Поскольку все больше команд стремятся выйти за границы ончейн-фронтира и привлечь следующую массовую когорту пользователей и принятие к блокчейн-ориентированным приложениям и экосистемам, параллельные модели выполнения предоставляют интуитивную основу для создания систем, которые могут эффективно обрабатывать масштабы сетевой активности на уровне, соответствующему уровню компаний Web2 с легкостью.
Не является финансовыми или налоговыми консультациями. Цель этого информационного бюллетеня чисто образовательная и не должна рассматриваться как инвестиционный совет, юридический совет, запрос на покупку или продажу каких-либо активов или предложение принять какие-либо финансовые решения. Это не заменяет налоговый совет. Пожалуйста, проконсультируйтесь со своим бухгалтером и проведите собственное исследование.
Раскрытия. Все сообщения являются собственностью авторов, а не точкой зрения их работодателя. Этот пост был спонсирован Aster Foundation. Хотя Shoal Research получила финансирование для этой инициативы, спонсоры не влияют на аналитический контент. В Shoal Research мы стремимся обеспечить объективность и независимость всего контента. Наши внутренние процессы рецензирования поддерживают высочайшие стандарты целостности, и все потенциальные конфликты интересов раскрываются и строго управляются для поддержания достоверности и беспристрастности наших исследований.