сменить язык

сменить язык

Язык 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 способен занять ключевые позиции в сферах с высокими требованиями к безопасности активов, таких как финансы и игровые приложения, ускоряя переход блокчейн-разработки к более надёжным и поддающимся аудиту решениям.

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

Сопутствующие глоссарии
эпоха
Эпоха — это временная единица, применяемая в блокчейн-сетях для структурирования и управления выпуском блоков. Как правило, она охватывает фиксированное количество блоков или заранее определённый период. Такой подход формирует чёткую операционную структуру сети, позволяя валидаторам согласованно участвовать в консенсусе в рамках выделенных временных интервалов, а также устанавливает прозрачные временные рамки для важных процессов: стейкинга, распределения вознаграждений и изменения параметров сети.
Что такое nonce
Нонс — уникальное значение, применяемое в майнинге блокчейна, прежде всего на основе алгоритма Proof of Work (PoW). Майнеры последовательно перебирают различные варианты нонса, чтобы получить хеш блока ниже целевого значения сложности. На уровне транзакций нонс также функционирует как счетчик, предотвращающий повторные атаки. Это обеспечивает уникальность и безопасность каждой операции.
Децентрализованный
Децентрализация — фундаментальный принцип в сфере блокчейн и криптовалют, подразумевающий работу систем без единого централизованного управляющего органа, а их поддержка обеспечивается множеством узлов, распределённых по сети. Такой подход исключает необходимость посредников, усиливает защиту от цензуры, повышает устойчивость к сбоям и расширяет возможности пользователей для самостоятельного управления.
Ориентированный ациклический граф
Ориентированный ациклический граф (DAG) — структура данных, в которой узлы связаны направленными рёбрами, не образующими циклов. В блокчейн-технологии DAG выступает альтернативной архитектурой распределённого реестра, позволяя повысить пропускную способность и снизить задержку за счёт параллельной проверки множества транзакций, в отличие от традиционной линейной структуры блоков.
Централизованный
Централизация — это организационная модель, в которой полномочия, принятие решений и контроль сосредоточены в руках одного субъекта или центрального органа. В индустрии криптовалют и блокчейн централизованные системы управляются центральными организациями: банками, государственными учреждениями или отдельными компаниями, обладающими исключительным контролем над работой системы, формированием правил и подтверждением транзакций. Такой подход прямо противоположен принципам децентрализации.

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

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

Что такое Telegram NFT?

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

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

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

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

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