Почему Move?
Язык программирования Move был изначально создан командой инженеров в Facebook для платежной сети Diem. Move разработан как платформо-агностичный язык для обеспечения общих библиотек, инструментов и сообществ разработчиков в различных блокчейнах с кардинально разными моделями данных и выполнения. В Aptos мы верим в построение сильного сообщества разработчиков в Move и приглашаем их строить на стеке Move on Aptos и вносить вклад в программное обеспечение с открытым исходным кодом.
Move построен на следующих принципах:
Принцип | Объяснение |
---|---|
Безопасен по умолчанию | Финансовые системы построены для обеспечения того, чтобы пользователи не теряли средства. Move был разработан для предотвращения целых классов атак и ошибок, таких как атаки реентерабельности, двойные расходы и арифметические переполнения. Безопасность типов и проверки времени компиляции находятся в авангарде безопасности. |
Верификация времени выполнения | Байт-код может быть проверен во время выполнения, чтобы убедиться, что ничего не пошло не так, обеспечивая дополнительную безопасность и предотвращая злонамеренных актеров. |
Формальная верификация | Move on Aptos предоставляет язык спецификации для формальной верификации контрактов. Это позволяет доказывать инварианты и помогает в аудите кода. |
Простота | Команды и байт-код намеренно просты. Это позволяет легкую декомпиляцию, верификацию времени выполнения и инспекцию кода. Использование обычных языков программирования для блокчейнов часто требует игнорирования большой части языка, чтобы сделать их подходящими для смарт-контрактов (например, Rust). |
Почему Move on Aptos?
Заголовок раздела «Почему Move on Aptos?»Move on Aptos поддерживает полный язык, построенный командой в Facebook, с дополнительными расширениями, построенными для улучшения безопасности и опыта разработчика.
Безопасность
Заголовок раздела «Безопасность»Преимущества | Объяснение |
---|---|
Формальная верификация | Фреймворк Aptos полностью специфицирован и формально проверен с помощью Move Prover. Это включает основные контракты, касающиеся управления, NFT и токенов. |
Покрытие газа | Move VM имеет 100% покрытие газа. Газ взимается на основе фактического использования в системе (CPU, память, хранилище, I/O). Другими словами, никаких эксплойтов газа. |
Избыточность безопасности | Избыточность безопасности обеспечивается проверками безопасности времени выполнения. |
Контроль разрешений | Контроль разрешений может быть гибко построен на различных уровнях. Например, контроль разрешений на уровне токенов существует по умолчанию для обеспечения токенизации RWA. |
Опыт разработчика
Заголовок раздела «Опыт разработчика»Преимущества | Объяснение |
---|---|
Инструменты разработки Move | - Модульное тестирование: Move имеет встроенное модульное тестирование для всех контрактов. Aptos дополнительно предоставляет функциональность тестирования во фреймворке для тестирования различных сценариев. - Покрытие: Инструменты покрытия позволяют отчеты о покрытии как на уровне исходного кода, так и на уровне байт-кода. - Декомпилятор: Для лучшей безопасности on-chain байт-код может быть дизассемблирован или декомпилирован для обеспечения видимости в фактические контракты. - IDE плагины: Aptos имеет поддержку для всех основных IDE: VSCode, Cursor и т.д. и IntelliJ. |
Модель данных | Aptos имеет доступную модель данных с определением данных, хранящимся on-chain. Объекты и аккаунты могут иметь несколько различных структур в легко парсируемом формате. |
Обновляемость | Обновляемость гарантирует, что интерфейсы приложений не могут быть сломаны и не требует явного принятия от нижестоящих приложений. Контракты могут быть просто обновлены на месте для исправления ошибок. |
Кросс-взаимодействие | Move позволяет взаимодействие между контрактами, используя типобезопасные структуры. |
Хранение кода | Aptos хранит исходный код on-chain, улучшая способность к аудиту и обеспечению корректности контракта к байт-коду. |
Спонсируемые транзакции | Нативная поддержка спонсируемых транзакций позволяет иметь транзакции, оплачиваемые другими пользователями, без необходимости в специальных сервисах или специфичном для контракта коде. |
Надежные стандарты токенов | Стандарты Digital Asset и Fungible Asset обеспечивают гибкость и единый стандарт для разнообразных типов токенов и цифровых активов on-chain. Они были вдохновлены существующими стандартами, такими как ERC-20, ERC-721, ERC-1155 и Token-2022. |
On-chain случайность | Нативная on-chain непредвзятая случайность обеспечивает безопасный и последовательный способ получения случайных чисел с дополнительными проверками безопасности во время компиляции. |