Saltearse al contenido

¿Por qué Move?

El lenguaje de programación Move fue originalmente creado por un equipo de ingenieros en Facebook para la Red de Pagos Diem. Move está diseñado para ser un lenguaje independiente de plataforma para habilitar bibliotecas comunes, herramientas y comunidades de desarrolladores a través de diversas blockchains con modelos de datos y ejecución muy diferentes. En Aptos, creemos en construir una comunidad de desarrolladores fuerte en Move e invitamos a construir sobre la pila de Move en Aptos y contribuir al software de código abierto.

Move está construido sobre los siguientes principios:

PrincipioExplicación
Seguro por defectoLos sistemas financieros están construidos para asegurar que los usuarios no pierdan fondos. Move fue diseñado para prevenir clases enteras de ataques y bugs como ataques de reentrancy, doble gasto, y desbordamiento aritmético. La seguridad de tipos y verificaciones en tiempo de compilación están al frente de la seguridad.
Verificación en Tiempo de EjecuciónEl bytecode puede ser verificado en tiempo de ejecución para verificar que nada ha salido mal, proporcionando seguridad extra y previniendo actores maliciosos.
Verificación FormalMove en Aptos proporciona un lenguaje de especificación para proporcionar verificación formal de contratos. Esto permite probar invariantes y ayuda con la auditoría de código.
SimplicidadLos comandos y bytecode son intencionalmente simples. Esto permite fácil descompilación, verificación en tiempo de ejecución, e inspección de código. Usar lenguajes de programación regulares para blockchains a menudo requiere ignorar gran parte del lenguaje para hacerlos adecuados para contratos inteligentes (ej. Rust).

Move en Aptos soporta el lenguaje completo construido por el equipo en Facebook, con extensiones adicionales construidas para mejorar la seguridad y la experiencia del desarrollador.

VentajasExplicación
Verificación FormalEl framework de Aptos está completamente especificado y formalmente verificado con el Move Prover. Esto incluye los contratos core involucrando gobernanza, NFTs, y Tokens.
Cobertura de GasMove VM tiene 100% de cobertura de gas. El gas se cobra basado en el uso real en el sistema (CPU, memoria, almacenamiento, I/O). En otras palabras, no hay exploits de gas.
Redundancia de SeguridadRedundancia de seguridad proporcionada por verificaciones de seguridad en tiempo de ejecución.
Controles de PermisosLos controles de permisos pueden ser construidos flexiblemente en varios niveles. Por ejemplo, controles de permisos a nivel de token existen por defecto para habilitar tokenización RWA.
VentajasExplicación
Herramientas de Desarrollo Move- Pruebas unitarias: Move tiene pruebas unitarias integradas para todos los contratos. Aptos adicionalmente proporciona funcionalidad de prueba en el framework para probar diferentes escenarios.
- Cobertura: Las herramientas de cobertura permiten reportes de cobertura tanto a nivel de código fuente como de bytecode.
- Descompilador: Para mejor seguridad, el bytecode en la cadena puede ser desensamblado o descompilado para proporcionar visibilidad en los contratos reales.
- Plugins de IDE: Aptos tiene soporte para dos IDEs principales: Visual Studio Code e IntelliJ.
Modelo de DatosAptos tiene un modelo de datos accesible con la definición de datos almacenada en la cadena. Los objetos y cuentas pueden tener múltiples estructuras distintas en un formato fácil de analizar.
ActualizabilidadLa actualizabilidad asegura que las interfaces de aplicación no pueden ser rotas y no requiere adopción explícita de aplicaciones aguas abajo. Los contratos pueden simplemente ser actualizados en su lugar para arreglar bugs.
Interacción CruzadaMove permite interacción entre contratos usando structs con seguridad de tipos.
Almacenamiento de CódigoAptos almacena código fuente en la cadena mejorando la capacidad de auditar y asegurar la corrección de contrato a bytecode.
Transacciones PatrocinadasEl soporte nativo de transacciones patrocinadas permite que las transacciones sean pagadas por otros usuarios sin servicios especiales o código específico de contrato requerido.
Estándares de Token RobustoLos estándares de Activo Digital y Activo Fungible proporcionan flexibilidad y un estándar unificado para diversos tipos de tokens y activos digitales en la cadena. Estos fueron influenciados por estándares existentes como ERC-20, ERC-721, ERC-1155 y Token-2022.
Aleatoriedad en la CadenaLa aleatoriedad nativa en la cadena sin sesgo proporciona una forma segura y consistente de obtener números aleatorios, con verificaciones de seguridad extra en tiempo de compilación.