сменить язык

Move — это язык программирования, ориентированный на ресурсы, созданный для разработки блокчейн-решений. Изначально Meta разработала его для проекта Diem, сейчас язык в основном используют блокчейны Aptos и Sui. В Move реализована уникальная система типов ресурсов, при которой цифровые активы становятся полноценными объектами, которые нельзя копировать или удалять неявно. Такой подход предотвращает двойное расходование и уязвимости повторного входа на уровне языка. Move сочетает статическую типизацию, форма
сменить язык

Язык Move был создан в 2018 году командой по исследованию блокчейна компании Meta (тогда Facebook). Изначально он предназначался для глобального цифрового валютного проекта Diem (ранее Libra). Инициаторы проекта считали, что существующие языки программирования для блокчейна, такие как Solidity, имеют недостатки в управлении ресурсами и часто сталкиваются с проблемами безопасности, не соответствуя строгим требованиям финансовых приложений к надёжности и безопасности. Поэтому команда решила создать новый язык с нуля, встроив свойства безопасности цифровых активов непосредственно в языковую основу.

В архитектуре Move были использованы идеи линейной типизации и модели владения Rust, что позволило творчески определить ресурсы как типы с «семантикой перемещения», а не «семантикой копирования». Это означает, что переменные-ресурсы могут только перемещаться или уничтожаться, их нельзя копировать или случайно терять, что исключает появление или исчезновение активов на уровне языка. В 2020 году проект Diem начал сокращаться из-за регуляторного давления и изменений стратегии, но техническая ценность Move получила признание в отрасли. После 2021 года бывшие участники команды Diem создали две крупные публичные блокчейн-проекты — Aptos и Sui, выбрав Move в качестве основного языка разработки и адаптировав его под свои архитектурные задачи.

Язык Move был создан в 2018 году командой по исследованию блокчейна компании Meta (тогда Facebook). Изначально он предназначался для глобального цифрового валютного проекта Diem (ранее Libra). Инициаторы проекта считали, что существующие языки программирования для блокчейна, такие как Solidity, имеют недостатки в управлении ресурсами и часто сталкиваются с проблемами безопасности, не соответствуя строгим требованиям финансовых приложений к надёжности и безопасности. Поэтому команда решила создать новый язык с нуля, встроив свойства безопасности цифровых активов непосредственно в языковую основу.

В архитектуре Move были использованы идеи линейной типизации (Linear Type Theory) и модели владения Rust, что позволило творчески определить ресурсы как типы с «семантикой перемещения», а не «семантикой копирования». Это означает, что переменные-ресурсы могут только перемещаться или уничтожаться, их нельзя копировать или случайно терять, что исключает появление или исчезновение активов на уровне языка. В 2020 году проект Diem начал сокращаться из-за регуляторного давления и изменений стратегии, но техническая ценность Move получила признание в отрасли. После 2021 года бывшие участники команды Diem создали две крупные публичные блокчейн-проекты — Aptos и Sui, выбрав Move в качестве основного языка разработки и адаптировав его под свои архитектурные задачи.

+++

  1. Система типов ресурсов: В Move основным механизмом является тип ресурса, который реализует правила владения через ограничения компилятора. Переменные ресурсного типа должны явно перемещаться или уничтожаться, операции копирования и удаления запрещены. Это обеспечивает уникальность и отслеживаемость цифровых активов, таких как токены и NFT, при исполнении смарт-контракта и предотвращает двойное расходование и утечку активов.

  2. Модульность и система обобщений: Move использует модули как единицы организации кода, в каждом модуле можно определять структуры, ресурсы и публичные функции. Система обобщённости позволяет писать абстрактный многократно используемый код с сохранением типовой безопасности. Например, можно создать универсальный модуль токена, который адаптируется к разным типам активов без переписывания логики.

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

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

  5. Среда исполнения: Код Move работает в специализированной виртуальной машине (Move VM), оптимизированной для блокчейнов, поддерживающей детерминированное исполнение и учёт Gas. Реализации Move на разных публичных блокчейнах имеют особенности: Move VM в Aptos оптимизирован для параллельного исполнения, а версия Move в Sui включает объектную модель для поддержки более сложного управления состоянием.

  6. Система типов ресурсов: В Move основным механизмом является тип ресурса (Resource Type), который реализует правила владения через ограничения компилятора. Переменные ресурсного типа должны явно перемещаться (move) или уничтожаться (destroy), операции копирования и удаления запрещены. Это обеспечивает уникальность и отслеживаемость цифровых активов, таких как токены и NFT, при исполнении смарт-контракта и предотвращает двойное расходование и утечку активов.

  7. Модульность и система обобщений: Move использует модули (Module) как единицы организации кода, в каждом модуле можно определять структуры, ресурсы и публичные функции. Система обобщённости позволяет писать абстрактный многократно используемый код с сохранением типовой безопасности. Например, можно создать универсальный модуль токена, который адаптируется к разным типам активов без переписывания логики.

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

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

  10. Среда исполнения: Код Move работает в специализированной виртуальной машине (Move VM), оптимизированной для блокчейнов, поддерживающей детерминированное исполнение и учёт Gas. Реализации Move на разных публичных блокчейнах имеют особенности: Move VM в Aptos оптимизирован для параллельного исполнения, а версия Move в Sui включает объектную модель для поддержки более сложного управления состоянием.

+++

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

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

  3. Ограниченная совместимость между сетями: В настоящее время Move применяется в основном в отдельных публичных блокчейнах, таких как Aptos и Sui, и не имеет нативной интеграции с основными экосистемами, например Ethereum и Solana. Теоретически перенос активов возможен через кроссчейн-мосты, однако различия в архитектуре виртуальных машин и моделях ресурсов значительно усложняют вызовы контрактов между сетями, ограничивая гибкость разработки мультисетевых решений.

  4. Компромиссы при оптимизации производительности: Несмотря на акцент на безопасность, строгая проверка типов и механизмы верификации Move могут снизить эффективность исполнения. В условиях высокой нагрузки вычислительные затраты на формальную верификацию способны стать узким местом по производительности. Кроме того, индивидуальные модификации Move на разных публичных блокчейнах (например, объектная модель в Sui) могут привести к фрагментации языка и усложнить поддержку нескольких версий кода.

  5. Регуляторные и комплаенс-риски: Язык Move был создан для проекта Diem, который был закрыт из-за регуляторных ограничений. Этот исторический контекст может привести к дополнительному вниманию со стороны комплаенс-служб для новых проектов на Move. Особенно в финансовых приложениях регуляторы могут проявлять осторожность к происхождению и техническим особенностям языка, требуя более строгих аудитов безопасности и прозрачности.

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

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

  8. Ограниченная совместимость между сетями: В настоящее время Move применяется в основном в отдельных публичных блокчейнах, таких как Aptos и Sui, и не имеет нативной интеграции с основными экосистемами, например Ethereum и Solana. Теоретически перенос активов возможен через кроссчейн-мосты, однако различия в архитектуре виртуальных машин и моделях ресурсов значительно усложняют вызовы контрактов между сетями, ограничивая гибкость разработки мультисетевых решений.

  9. Компромиссы при оптимизации производительности: Несмотря на акцент на безопасность, строгая проверка типов и механизмы верификации Move могут снизить эффективность исполнения. В условиях высокой нагрузки вычислительные затраты на формальную верификацию способны стать узким местом по производительности. Кроме того, индивидуальные модификации Move на разных публичных блокчейнах (например, объектная модель в Sui) могут привести к фрагментации языка и усложнить поддержку нескольких версий кода.

  10. Регуляторные и комплаенс-риски: Язык Move был создан для проекта Diem, который был закрыт из-за регуляторных ограничений. Этот исторический контекст может привести к дополнительному вниманию со стороны комплаенс-служб для новых проектов на Move. Особенно в финансовых приложениях регуляторы могут проявлять осторожность к происхождению и техническим особенностям языка, требуя более строгих аудитов безопасности и прозрачности.

+++

Move — это значимое инновационное направление в развитии языков программирования для блокчейна. Система типов ресурсов и возможности формальной верификации обеспечивают фундаментальные гарантии безопасности цифровых активов на уровне языка. Применение Move в новых публичных блокчейнах, таких как Aptos и Sui, подтверждает его практическую ценность для задач с высокими требованиями к производительности и безопасности. Однако такие проблемы, как отставание экосистемы, высокий порог обучения и ограниченная совместимость между сетями, сдерживают массовое распространение Move. Для разработчиков понимание философии Move и его технических особенностей позволяет взвешивать вопросы безопасности и зрелости экосистемы при выборе технологий для проектов. Для отраслевых аналитиков эволюция Move отражает переход блокчейн-технологий от парадигмы «быстрого прототипирования» к модели «приоритет безопасности». По мере развития инструментов и роста профессиональных сообществ Move способен занять ключевые позиции в сферах с высокими требованиями к безопасности активов, таких как финансы и игровые приложения, ускоряя переход блокчейн-разработки к более надёжным и поддающимся аудиту решениям.

Move — это значимое инновационное направление в развитии языков программирования для блокчейна. Система типов ресурсов и возможности формальной верификации обеспечивают фундаментальные гарантии безопасности цифровых активов на уровне языка. Применение Move в новых публичных блокчейнах, таких как Aptos и Sui, подтверждает его практическую ценность для задач с высокими требованиями к производительности и безопасности. Однако такие проблемы, как отставание экосистемы, высокий порог обучения и ограниченная совместимость между сетями, сдерживают массовое распространение Move. Для разработчиков понимание философии Move и его технических особенностей позволяет взвешивать вопросы безопасности и зрелости экосистемы при выборе технологий для проектов. Для отраслевых аналитиков эволюция Move отражает переход блокчейн-технологий от парадигмы «быстрого прототипирования» к модели «приоритет безопасности». По мере развития инструментов и роста профессиональных сообществ Move способен занять ключевые позиции в сферах с высокими требованиями к безопасности активов, таких как финансы и игровые приложения, ускоряя переход блокчейн-разработки к более надёжным и поддающимся аудиту решениям.

Простой лайк имеет большое значение

Пригласить больше голосов

Сопутствующие глоссарии
эпоха
В Web3 термин «цикл» означает повторяющиеся процессы или временные окна в протоколах и приложениях блокчейна, которые происходят через определённые интервалы времени или блоков. К таким примерам относятся халвинг в сети Bitcoin, раунды консенсуса Ethereum, графики вестинга токенов, периоды оспаривания вывода средств на Layer 2, расчёты funding rate и доходности, обновления oracle, а также периоды голосования в системе управления. В разных системах продолжительность, условия запуска и гибкость этих циклов отличаются. Понимание этих циклов позволяет эффективнее управлять ликвидностью, выбирать оптимальное время для действий и определять границы риска.
Что такое nonce
Nonce — это «число, используемое один раз». Его применяют, чтобы операция выполнялась только один раз или строго по порядку. В блокчейне и криптографии nonce встречается в трёх основных случаях: transaction nonce гарантирует последовательную обработку транзакций аккаунта и исключает их повторение; mining nonce нужен для поиска хэша, соответствующего необходимой сложности; signature или login nonce защищает сообщения от повторного использования при replay-атаках. С этим понятием вы сталкиваетесь при on-chain-транзакциях, мониторинге майнинга или авторизации на сайтах через криптокошелёк.
Децентрализованный
Децентрализация — это архитектура системы, при которой управление и принятие решений распределены между многими участниками. Этот принцип лежит в основе технологий блокчейн, цифровых активов и децентрализованных моделей управления сообществом. В таких системах консенсус достигается между многочисленными узлами сети, что позволяет им работать независимо от единого управляющего органа. Это обеспечивает высокий уровень безопасности, защищенность от цензуры и прозрачность. В криптовалютной отрасли децентрализация реализована через глобальное сотрудничество узлов Bitcoin и Ethereum, работу децентрализованных бирж, некостодиальные кошельки, а также в системах управления, где держатели токенов принимают решения о правилах протокола путем голосования.
Ориентированный ациклический граф
Ориентированный ациклический граф (DAG) представляет собой сетевую структуру, где объекты и их направленные связи формируют систему с односторонним, нециклическим движением. Такой тип структуры данных широко применяется для отображения зависимостей транзакций, построения бизнес-процессов и отслеживания истории версий. В криптовалютных сетях DAG обеспечивает параллельную обработку транзакций и обмен информацией для достижения консенсуса, что увеличивает пропускную способность и ускоряет подтверждение операций. Также DAG устанавливает прозрачный порядок событий и причинно-следственные связи, что повышает надежность и открытость работы блокчейн-систем.
Централизованный
Централизация — это модель работы, при которой ресурсы и полномочия для принятия решений сконцентрированы у ограниченного круга организаций или платформ. В криптоиндустрии централизация характерна для хранения активов на биржах, выпуска стейблкоинов, управления узлами и контроля разрешений на кросс-чейн мостах. Централизация может повысить эффективность и улучшить пользовательский опыт, но при этом возникают риски: единая точка отказа, возможность цензуры и недостаточная прозрачность. Понимание принципов централизации необходимо для выбора между CEX и DEX, анализа архитектуры проектов и построения надежных стратегий управления рисками.

Похожие статьи

Что такое Telegram NFT?
Средний

Что такое Telegram NFT?

В этой статье обсуждается превращение Telegram в приложение, работающее на основе NFT, интегрирующее технологию блокчейна для революционизации цифрового дарения и владения. Узнайте основные возможности, возможности для художников и создателей, и будущее цифровых взаимодействий с NFT от Telegram.
2025-01-10 01:41:40
Nexus: Как это работает? Как участвовать?
Средний

Nexus: Как это работает? Как участвовать?

Nexus - это проект, направленный на создание интернет-суперкомпьютера на основе проверяемых вычислений. В этой статье рассматриваются вдохновение за Nexus, его основная команда, технические особенности, меры безопасности и способы участия в сети Nexus через веб-интерфейсы или инструменты командной строки.
2024-12-23 07:06:35
Как определить и отслеживать умные деньги в криптовалюте
Новичок

Как определить и отслеживать умные деньги в криптовалюте

Эта статья исследует, как инвестировать, отслеживая умные деньги на рынке криптовалют. Умные деньги обычно относятся к участникам рынка с выдающимися результатами, такими как китовые кошельки, обычные кошельки с высокими победными ставками в транзакциях и т. д. В этой статье предоставляются несколько шагов для идентификации и отслеживания этих кошельков.
2024-07-24 08:49:42