Introdвсасывание
В последнее время рынок значительно охладился, что заставило даже ветеранов индустрии усомниться в ее предназначении. Я хотел бы поделиться некоторыми своими личными соображениями: Я считаю, что многие великие видения прошлого были «опровергнуты», потому что они никогда не были логически последовательными с самого начала.
Нефинансовые Dapps часто пытались сделать акцент на децентрализации, чтобы скрыть тот факт, что сами продукты были недостаточно хороши. На самом деле они просят меня не доверять Google, Twitter и YouTube и вместо этого верить, что их кошельки с несколькими подписями и односерверные системы безопасны.
Многие видения не были опровергнуты, но так и не были по-настоящему проверены. Я по-прежнему считаю, что даже если большинство видений не являются грандиозными, они имеют смысл — возможно, им просто нужен прочный фундамент для поддержки. В конце концов, можно предложить хотя бы один из вариантов децентрализации или пользовательского опыта, сопоставимого с Web2.
Подобно тому, как TON и Solana когда-то были недооценены, сейчас они догоняют своих предшественников по многим параметрам. Публичные цепочки, поддерживающие приложения, нуждаются в инновациях, которые в каждом цикле определяют прогресс индустрии. Поэтому сегодня мы рассмотрим тип публичной цепи, который долгое время оставался без внимания, — экосистему Move.
1. Переместите
Язык программирования Move был изначально создан для заброшенного проекта компании Meta — Diem (первоначальное название Libra), целью которого была разработка более стабильного и регулируемого стейблкоина как основы для метавселенной.
Однако проект столкнулся с сильным противодействием и постоянным давлением со стороны мировых регулирующих органов. Они опасались, что масштаб Diem и огромная база пользователей Facebook могут угрожать финансовой стабильности, денежно-кредитной политике и конфиденциальности данных. Лидерство администрации Байдена в оказании давления в конечном итоге заставило Мета отказаться от проекта Diem.
К счастью, ядро Diem не было отброшено. Различные фракции, отделившиеся от первоначальной команды, продолжили исследовать и развивать Move, который превратился в известных нам сегодня близнецов Move -ui и Aptos. Кроме того, другие проекты, такие как Linera (блокчейн на основе Rust, вдохновленный Move) и недавно продвинутый Movement, все еще находятся в зачаточном состоянии.
Почему остаточное влияние прекращенного проекта оказалось столь значительным? Move, как язык программирования блокчейна, разработанный ведущей компанией Web2, имеет прочную основу. Он был разработан с упором на решение проблем производительности и безопасности, характерных для существующих блокчейн-языков, в частности Solidity. Его целью было создание системы типов, предназначенной для управления активами и контроля доступа. Я кратко излагаю ключевые моменты следующим образом:
- Безопасность: В дизайне Move приоритет отдан безопасности, используются статические проверки типов и управление ресурсами для предотвращения таких распространенных уязвимостей, как ошибки переполнения и атаки реентерабельности. По сравнению с другими языковыми виртуальными машинами Move поддерживает различные функции безопасности, как показано в приведенном ниже сравнении от Nansen.
- Составляемость: Move поддерживает модульность и композитность, позволяя разработчикам легко создавать и комбинировать различные смарт-контракты для построения более сложных приложений.
- Производительность: Виртуальная машина Move оптимизирована (поддерживает параллельную обработку, управление памятью, оптимизацию компилятора) для эффективного выполнения смарт-контрактов, что повышает скорость и пропускную способность транзакций.
На рынке, насыщенном модульными цепочками EVM, Move представляет собой смелую попытку сделать что-то другое. Вы могли встретить подобные заявления во вступлениях ко многим проектам публичных цепочек, но я предлагаю испытать это на собственном опыте, чтобы по-настоящему понять эти концепции.
2. Sui
2.1 Архитектура
Будучи одним из близнецов Move, Суй в самом начале столкнулся с критикой из-за проблем, связанных с механизмами выпуска эфириума и токенов. Однако, если отбросить эти проблемы и сосредоточиться исключительно на самом проекте, Суи продемонстрировал превосходные показатели производительности и удобства работы, особенно в игровом секторе.
Этот успех тесно связан с его архитектурой, которая была специально улучшена для массового применения. Вот краткий обзор архитектурных инноваций Sui:
- Модель хранения объектов: Этот компонент является ядром улучшений Move, реализованных в Sui. В объектной модели хранения данные хранятся в виде отдельных объектов, каждый из которых имеет уникальный идентификатор. В отличие от традиционных систем баз данных, объектная модель хранения не имеет фиксированной структуры данных и может хранить различные типы данных, такие как текст, изображения, видео и аудио. Эта модель допускает параллельное выполнение и горизонтальное масштабирование (добавление узлов для увеличения емкости хранилища). Дизайн Суи основан на этой модели.
- Причинное упорядочивание: Обеспечивает выполнение транзакций в порядке, учитывающем причинно-следственные связи, что позволяет избежать конфликтов и несогласованности данных. Это позволяет Sui обрабатывать большие объемы одновременных транзакций, сохраняя целостность данных.
- Системы консенсуса Narwhal и Bullshark: В качестве механизмов консенсуса в Sui используются Narwhal и Bullshark. Narwhal отвечает за упорядочивание и проверку транзакций, поддерживая локальный пул транзакций, сортируя транзакции на основе причинно-следственных связей и передавая их в эфир. Bullshark, получив от Narwhal отсортированный список транзакций, голосует по этому списку, используя византийский консенсус с отказоустойчивостью (BFT), чтобы убедиться, что все узлы согласны с порядком транзакций.
- Суй Ход: Sui расширяет язык Move, добавляя новые возможности, такие как поддержка NFT, управление активами и хранение данных.
- Рамка Суй: Sui предоставляет полную основу для быстрого создания и развертывания приложений, включая такие инструменты и библиотеки, как Sui Wallet, Sui SDK и Sui CLI.
Архитектура Sui позволяет обрабатывать большие объемы одновременных транзакций, сохраняя при этом высокую скорость, низкие комиссии и безопасность. Язык Move и фреймворк Sui также предоставляют разработчикам мощные инструменты для создания безопасных, масштабируемых и удобных приложений.
2.2 Консенсус
Блокчейн Sui использует механизм консенсуса под названием Mysticeti — византийский отказоустойчивый (BFT) консенсус, рассчитанный на низкую задержку и высокую пропускную способность.
Mysticeti позволяет нескольким валидаторам предлагать блоки параллельно, полностью используя пропускную способность сети и обеспечивая устойчивость к цензуре. Более того, протокол требует только три раунда сообщений для завершения блока из направленного ациклического графа (DAG), что соответствует теоретическому минимуму, как и pBFT.
Правила подачи позволяют проводить параллельное голосование и сертификацию лидеров блоков, что еще больше снижает медианную и хвостовую задержки. Правила подачи также допускают недоступность лидеров без существенного увеличения задержки.
Mysticeti работала в тестовой сети в течение трех месяцев до запуска основной сети Sui, показав значительные результаты, такие как снижение задержки на 80 %. Теперь сеть Sui может обрабатывать десятки тысяч транзакций в секунду, при этом задержка между транзакциями не превышает одной секунды.
В блокчейне Sui также используется особый тип консенсуса Proof-of-Stake (PoS), называемый Delegated Proof-of-Stake (DPoS). Когда происходят транзакции с общими объектами (так называемые сложные транзакции), Sui использует вышеупомянутые механизмы консенсуса Narwhal и Bullshark для упорядочивания транзакций. По сравнению с другими механизмами консенсуса BFT, преимущества и недостатки Sui можно свести к шести пунктам:
Преимущества:
- Низкая задержка и высокая пропускная способность: Протокол Mysticeti значительно снижает задержку консенсуса и увеличивает пропускную способность сети за счет параллельных предложений блоков и оптимизированного потока сообщений, что позволяет Sui обрабатывать десятки тысяч транзакций в секунду с задержкой от конца до конца значительно ниже одной секунды.
- Сопротивление цензуре: Протокол Mysticeti позволяет нескольким валидаторам предлагать блоки параллельно, что повышает устойчивость сети к цензуре.
- Толерантность к неудачам лидеров: Правила подчинения допускают отсутствие лидеров без существенного увеличения задержки, автоматически выбирая нового лидера, который берет на себя ответственность, когда лидерский узел выходит из строя.
Недостатки:
- Сложность: Конструкция протокола Mysticeti относительно сложна и требует более глубокого технического понимания, чтобы полностью понять механизмы его работы.
- Безопасность: Хотя протокол Mysticeti хорошо показал себя в тестовой сети, его безопасность все еще нуждается в дальнейшей проверке в реальных приложениях.
- Масштабируемость: Масштабируемость протокола Mysticeti нуждается в дальнейшем наблюдении, чтобы убедиться, что он может адаптироваться к будущему росту размера сети и объема транзакций.
2.3 Абстрактные счета
Абстрактная модель счетов Суи (Account Abstraction) — это механизм, который позволяет пользователям управлять своими счетами и транзакциями более просто и безопасно, абстрагируя логику счетов и транзакций от базового протокола блокчейна, достигая более высокого уровня управления счетами и обработки транзакций.
В абстрактной модели учетных записей Суи учетные записи — это уже не просто пары открытых и закрытых ключей, а объекты с более богатыми атрибутами и поведением. Каждый аккаунт имеет уникальный идентификатор, называемый ID аккаунта, который связан с парой открытого и закрытого ключей аккаунта.
Модель абстрактного счета Sui включает в себя следующие ключевые компоненты:
- Объект учета: основная единица учета в Sui. Каждый объект счета имеет уникальный идентификатор счета и содержит атрибуты и поведение счета.
- Данные учетной записи: основной компонент объекта учетной записи, содержащий основную информацию об учетной записи, такую как идентификатор учетной записи и пара открытых и закрытых ключей.
- Контекст транзакции: основная единица транзакций в Sui, содержащая информацию о транзакциях, такую как идентификатор транзакции, идентификатор счета и данные о транзакции.
- Логика счета: Совокупность поведения и правил учетных записей в Sui, определяющих, как учетные записи обрабатывают транзакции и управляют своим состоянием.
Процесс обработки транзакций в абстрактной модели счетов Sui включает следующие шаги:
- Создание транзакций: Пользователи создают транзакцию и отправляют ее в сеть Sui.
- Проверка достоверности транзакций: Сеть Sui проверяет действительность и целостность транзакции.
- Поиск счета: Сеть Sui находит соответствующий объект счета на основе идентификатора счета в транзакции.
- Выполнение логики счета: Сеть Sui выполняет логику счета для обработки транзакции и обновления состояния счета.
- Подтверждение транзакции: Сеть Sui подтверждает результат транзакции и записывает его в блокчейн.
Проще говоря, абстрактная модель счетов Sui — это инновационный механизм, который упрощает управление счетами и обработку транзакций, делая приложения более похожими на приложения.
2.4 Игры
Чтобы блокчейн выделялся на фоне других, он должен сначала построить прочный фундамент. Ранее я назвал экосистему Move смелым экспериментом по двум основным причинам.
Во-первых, в эпоху, когда концепция модульности становится все более распространенной, родные экосистемы Move (в частности, близнецы Move) представляют собой последнюю попытку решений первого уровня, идущую вразрез с текущей тенденцией.
Однако недавнее появление нескольких гетерогенных сетей, возможно, доказывает, что модульный подход — не единственный выход.
Во-вторых, создание блокчейна с использованием нового языка программирования сродни попытке создать новую операционную систему, чтобы бросить вызов iOS и Android на современном рынке смартфонов — путь, неизбежно полный трудностей.
Будет ли экосистема Move блистать в ближайшие годы, как Solana, во многом зависит от выбранного направления. Ответ Sui на этот вызов — игры.
Игры — один из ключевых путей в Web3, однако большинство блокчейнов не очень хорошо поддерживают игры. Это связано с тем, что технология блокчейн изначально разрабатывалась для финансовых приложений, а ее децентрализованная архитектура по своей природе обладает более низкой производительностью, что делает ее малопригодной для игр.
Однако компания Sui отличается от других. Его модель хорошо подходит как для DeFi приложений, так и для нефинансовых приложений, включая игры. Как уже говорилось ранее, в Sui все является объектом. В Sui объекты могут владеть другими объектами, что позволяет моделировать сложные иерархии активов, характерные для игр и приложений.
Представьте себе игру, в которой у персонажа-героя есть инвентарь, а в этом инвентаре хранятся другие цифровые активы, принадлежащие персонажу. Sui может моделировать эти иерархии данных так, как не могут другие блокчейны. Это дает разработчикам возможность создавать приложения без необходимости обходить ограничения, присущие цепочке.
Кроме того, Sui активно сотрудничает с традиционными гигантами Web2. В прошлом году Sui установила партнерские отношения с тремя из четырех крупнейших южнокорейских игровых гигантов (Netmarble, NHN и NCSoft). В этом году Sui заключила партнерство с TikTok для разработки игр на основе блокчейна и проектов SocialFi, привлекая традиционных гигантов в пространство Web3.
3. Aptos
Aptos, еще один блокчейн первого уровня, основанный на языке Move, также стремится к созданию высокопроизводительной и масштабируемой инфраструктуры Web3. Его архитектурный дизайн имеет много общего с Sui, но в нем есть и уникальные особенности.
3.1 Архитектура
- Модульная конструкция: Aptos использует модульную архитектуру, которая позволяет разработчикам независимо разрабатывать и обновлять различные модули, повышая скорость и гибкость разработки.
- Механизм параллельного выполнения (Block-STM): В отличие от других блокчейнов, требующих предварительного объявления зависимостей между данными, механизм параллельного выполнения Aptos может обрабатывать транзакции параллельно без предварительного знания местоположения данных, что повышает пропускную способность и снижает задержки.
- Конвейерная обработка транзакций: Aptos разделяет обработку транзакций на несколько этапов, таких как распространение, упорядочивание метаданных и пакетное хранение, выполняя эти этапы параллельно с помощью конвейеризации, чтобы максимизировать пропускную способность и минимизировать задержку.
- Язык программирования Move: Aptos использует язык программирования Move, при этом по сравнению с Sui в нем больше внимания уделяется усовершенствованиям, чем инновациям. Например, он стандартизирует язык, вводит более надежную поддержку функций и расширяет возможности настройки.
- Гибкая синхронизация состояний: Позволяет узлам выбирать различные стратегии синхронизации состояний, например, синхронизировать всю историю или только последнее состояние, что повышает гибкость узлов.
- Механизм консенсуса AptosBFT: AptosBFT — это механизм консенсуса Byzantine Fault Tolerance, используемый в Aptos. Он оптимизирует связь и синхронизацию между валидаторами для повышения пропускной способности и снижения задержек. По сравнению с Sui, который можно рассматривать как улучшенную версию DiemBFT, AptosBFT добился определенных успехов в эффективности и восстановлении после сбоев, поэтому он будет кратко упомянут здесь.
Архитектура Aptos позволяет обрабатывать большое количество одновременных транзакций, сохраняя при этом высокую скорость, низкие комиссии и безопасность. Кроме того, язык Move и фреймворк Aptos предоставляют разработчикам мощные инструменты для создания безопасных, масштабируемых и удобных приложений.
3.2 Блок-СТМ
Давайте углубимся в основную инновацию Aptos — механизм параллельного выполнения Block-STM:
Основные принципы блокчейна:
- Предопределенное последовательное выполнение: Блок-СТМ опирается на предопределенную последовательность транзакций внутри блока. Все транзакции должны выполняться в таком порядке, чтобы обеспечить согласованность конечного состояния.
- Оптимистическое управление параллелизмом: Блок-СТМ оптимистично выполняет транзакции параллельно, предполагая, что конфликтов не возникнет. Этот метод управления основан на предположении, что конфликты возникают редко, что позволяет транзакциям получать доступ к данным и изменять их без блокировки. Предполагается, что вероятность одновременных конфликтов мала, поэтому модификации могут продолжаться, с проверкой на наличие конфликтов перед окончательной фиксацией.
- Многоверсионная структура данных: Для поддержки оптимистичного управления параллелизмом блок-СТМ использует многоверсионную структуру данных для хранения данных. Каждая операция записи создает новую версию данных, а операции чтения обращаются к соответствующей версии данных.
- Проверка и повторная попытка: После выполнения транзакции блок-СТМ проверяет, действительны ли еще версии прочитанных данных. Если проверка не удается, что указывает на конфликт, транзакция помечается как недействительная и выполняется повторно.
- Совместное планирование: Блок-СТМ использует совместный планировщик для координации выполнения и проверки задач различных потоков, что позволяет добиться максимального параллелизма.
Рабочий процесс блок-СТМ:
- Группировка транзакций: Группируйте транзакции внутри блока и назначайте их разным потокам для параллельного выполнения.
- Оптимистичное исполнение: Каждый поток оптимистично выполняет назначенные ему транзакции и записывает набор чтения/записи каждой транзакции.
- Валидация: После того как поток завершает транзакцию, он проверяет, все ли версии данных в его наборе чтения еще действительны.
- Повторите попытку: Если проверка не прошла, что указывает на конфликт, транзакция помечается как недействительная и выполняется повторно.
- Обязанность: После того как все транзакции прошли проверку, их результаты записываются в состояние блокчейна, завершая фиксацию транзакции.
Преимущества блок-СТМ:
- Высокая пропускная способность: Благодаря оптимистичному управлению параллелизмом и совместному планированию Block-STM полностью использует многоядерные процессоры, достигая высокой пропускной способности.
- Низкая задержка: Поскольку транзакции могут выполняться параллельно, блокчейн-СТМ значительно сокращает время подтверждения транзакций.
- Безопасность: Механизмы предопределенного последовательного выполнения и проверки Block-STM обеспечивают согласованность и безопасность конечного состояния.
В итоге Block-STM — это эффективный механизм параллельного выполнения транзакций, который сочетает оптимистичный контроль параллелизма, многоверсионные структуры данных и совместное планирование для максимизации пропускной способности блокчейна при обеспечении безопасности и корректности.
3.3 Абстракция счета
В отличие от более прямого подхода Sui к абстрагированию счетов, Aptos поддерживает более ограниченное измерение абстракции и не имеет конкретных предопределенных стандартов. Его возможности абстрагирования счетов проявляются в основном в следующих областях:
- Модульное управление счетами: Использует модули Move для определения и управления учетными записями, позволяя разработчикам создавать собственные модули для различных типов учетных записей и функциональных возможностей.
- Гибкое управление ключами: Позволяет пользователям использовать разные ключи для различных операций с учетной записью, например, использовать один ключ для подписания транзакций, а другой — для управления учетной записью.
- Программируемая верификация транзакций: Разработчики могут определять пользовательскую логику проверки транзакций в модулях Move, таких как мультиподпись или лимиты, для удовлетворения различных сценариев применения.
3.4 Партнерство с Microsoft
По сравнению с Sui, которая больше сосредоточена на разработке игр, Aptos не имеет конкретной цели развития. Его девиз — стать блокчейном, наиболее подходящим для производства.
Одним из примечательных аспектов является сотрудничество Aptos с Microsoft, направленное на интеграцию технологий искусственного интеллекта Microsoft в блокчейн. Их первый совместный продукт, Aptos Assistant, генеративный ИИ-помощник, построенный на базе сети Aptos, уже представлен на официальном сайте. В ближайшие месяцы будут анонсированы дополнительные продукты с искусственным интеллектом.
4. Экосистема Move
Несмотря на то что Sui в последнее время демонстрирует хорошие результаты, экосистеме Move еще требуется время для становления по сравнению с цепочками на базе EVM, Solana, Ton и другими гетерогенными цепочками. Несмотря на то что Sui и Aptos находятся в центре внимания и совершают технологические прорывы, общий масштаб и активность экосистемы Move пока не дотягивают до уровня других зрелых экосистем.
Количество разработчиков, типы приложений и пользовательская база еще требуют времени для роста. Что касается внешнего сотрудничества и операций, то и Sui, и Aptos демонстрируют сильное мышление Web2, лишенное некоторой сущности Web3, благодаря чему их проекты остаются относительно скромными в отрасли.
Однако, учитывая потенциал экосистемы Move, можно сказать, что она многообещающая. Некоторые разработчики уже признают будущую ценность Move. Как уже упоминалось в предисловии, уже есть проекты, включающие Move в решения Ethereum Layer 2. В будущем экосистема Move может стать частью пространства ETH Layer 2. В настоящее время основное внимание уделяется дальнейшему продвижению экосистемы Move.