cambiar idioma

cambiar idioma

Move es un lenguaje de programación creado específicamente para blockchain, desarrollado en origen por el equipo de Meta (antes Facebook) para el proyecto Diem. Su filosofía de diseño se centra en garantizar la seguridad y verificabilidad de los activos digitales desde la base, mediante un paradigma de programación orientado a recursos y un sistema de tipos sólido. Move incorpora el concepto exclusivo de "Resources", tratando los activos digitales como elementos fundamentales que no pueden copiarse ni descartarse de forma implícita, lo que previene de raíz problemas frecuentes de seguridad en contratos inteligentes, como los ataques de doble gasto y las vulnerabilidades de reentrancia. Tras la finalización del proyecto Diem, Move fue adoptado y evolucionado por nuevas cadenas públicas como Aptos y Sui, consolidándose como una tecnología clave para la infraestructura blockchain de nueva generación. Sus mecanismos de comprobación de tipos estática, verificación formal y arquitectura modular permiten a los desarrolladores crear aplicaciones descentralizadas más seguras y auditables, ofreciendo al sector blockchain una solución de programación que equilibra rendimiento y seguridad.


El origen de Move language

El lenguaje Move nació en 2018, liderado por el equipo de investigación blockchain de Meta (entonces Facebook), con el objetivo inicial de servir al ambicioso proyecto global de moneda digital Diem (antes Libra). Los impulsores del proyecto consideraban que los lenguajes de programación blockchain existentes, como Solidity, presentaban defectos en la gestión de recursos y vulnerabilidades de seguridad frecuentes, lo que impedía cumplir los estrictos requisitos de seguridad y fiabilidad de aplicaciones de nivel financiero. Por ello, el equipo decidió diseñar un nuevo lenguaje desde cero, integrando las propiedades de seguridad de los activos digitales directamente en la capa del lenguaje.

El diseño de Move se inspiró en la teoría de tipos lineales y el modelo de propiedad de Rust, definiendo de forma innovadora los recursos como tipos con "move semantics" en lugar de "copy semantics". Esto implica que las variables de recursos solo pueden moverse o destruirse en el código, no copiarse ni perderse accidentalmente, eliminando la posibilidad de que los activos aparezcan o desaparezcan de forma arbitraria a nivel de lenguaje. En 2020, el proyecto Diem se fue reduciendo por la presión regulatoria y ajustes estratégicos, pero el valor técnico de Move obtuvo reconocimiento en la industria. A partir de 2021, miembros originales del equipo Diem fundaron dos proyectos principales de cadenas públicas, Aptos y Sui, ambos adoptando Move como lenguaje de desarrollo central y realizando mejoras personalizadas según sus necesidades arquitectónicas.

Move 语言诞生于 2018 年,由 Meta 公司(当时称为 Facebook)的区块链研究团队主导开发,最初服务于其雄心勃勃的全球数字货币项目 Diem(前身为 Libra)。项目发起人认为,现有区块链编程语言如 Solidity 存在资源管理缺陷和安全漏洞频发问题,无法满足金融级应用对安全性和可靠性的严苛要求。因此,团队决定从零开始设计一种新语言,将数字资产的安全属性直接嵌入语言层面。

Move 的设计吸收了线性类型理论(Linear Type Theory)和 Rust 语言的所有权模型,创造性地将资源定义为具备"移动语义"而非"复制语义"的类型。这意味着资源变量在代码中只能被移动或销毁,不能被复制或意外丢失,从语言层面杜绝了资产凭空产生或消失的可能性。2020 年,Diem 项目因监管压力和战略调整逐步收缩,但 Move 语言的技术价值得到行业认可。2021 年后,原 Diem 团队成员分别创建 Aptos 和 Sui 两大公链项目,均将 Move 作为核心开发语言,并根据各自架构需求进行定制化改进。

+++

Origen del lenguaje Move

El lenguaje Move surgió en 2018, bajo el liderazgo del equipo de investigación blockchain de Meta (entonces Facebook), para servir inicialmente al ambicioso proyecto global de moneda digital Diem (anteriormente Libra). Los responsables del proyecto consideraban que los lenguajes de programación blockchain existentes, como Solidity, presentaban fallos en la gestión de recursos y vulnerabilidades de seguridad recurrentes, lo que impedía satisfacer los rigurosos requisitos de seguridad y fiabilidad de las aplicaciones financieras. Por ello, el equipo optó por diseñar un nuevo lenguaje desde cero, incorporando directamente las propiedades de seguridad de los activos digitales en la propia capa del lenguaje.

El diseño de Move tomó como referencia la teoría de tipos lineales y el modelo de propiedad de Rust, definiendo de manera innovadora los recursos como tipos con "move semantics" en lugar de "copy semantics". Esto significa que las variables de recursos solo pueden moverse o destruirse en el código, pero nunca copiarse ni perderse accidentalmente, eliminando a nivel de lenguaje la posibilidad de que los activos se generen o desaparezcan de forma arbitraria. En 2020, el proyecto Diem se contrajo gradualmente por la presión regulatoria y ajustes estratégicos, aunque el valor técnico de Move fue reconocido por la industria. Tras 2021, antiguos miembros del equipo Diem fundaron dos grandes proyectos de cadenas públicas, Aptos y Sui, ambos adoptando Move como lenguaje principal de desarrollo y realizando mejoras personalizadas según sus propias arquitecturas.


Funcionamiento de Move language

  1. Sistema de Tipos de Recursos: El mecanismo central de Move es el Resource Type, que aplica reglas de propiedad mediante restricciones del compilador. Las variables de tipo recurso deben moverse o destruirse explícitamente, quedando prohibidas las operaciones de copia o descarte. Esto garantiza la unicidad y trazabilidad de activos digitales como tokens y NFT durante la ejecución de contratos inteligentes, previniendo de forma fundamental problemas como el doble gasto y la fuga de activos.

  2. Modularidad y Sistema Genérico: Move utiliza módulos como unidades de organización del código, cada uno definiendo structs, recursos y funciones públicas. El sistema genérico permite a los desarrolladores escribir código abstracto reutilizable manteniendo la seguridad de tipos. Por ejemplo, se puede crear un módulo de token genérico que se adapte a distintos tipos de activos sin reescribir la lógica.

  3. Verificación de Bytecode y Verificación Formal: Una vez compilado el código Move a bytecode, la máquina virtual realiza una estricta verificación estática antes de la ejecución, incluyendo comprobación de tipos, análisis de flujo de recursos y verificación de seguridad de referencias. Además, Move permite integrar herramientas de verificación formal (como Move Prover), posibilitando que los desarrolladores prueben matemáticamente la corrección de la lógica del contrato, algo especialmente relevante en aplicaciones financieras.

  4. Modelo de Cuenta y Almacenamiento Global: Move adopta un modelo de almacenamiento basado en cuentas, donde cada dirección de cuenta corresponde a un espacio de almacenamiento y los datos de recursos se almacenan dentro de las cuentas, no en direcciones de contrato. Este diseño clarifica la propiedad de los activos, permitiendo a los usuarios controlar directamente los recursos en sus cuentas sin depender del estado de contratos externos.

  5. Entorno de Ejecución: El código Move se ejecuta en una máquina virtual dedicada (Move VM), optimizada para entornos blockchain, que soporta ejecución determinista y medición de Gas. Las distintas cadenas públicas implementan Move con ligeras diferencias: la Move VM de Aptos está optimizada para ejecución paralela, mientras que la variante de Move en Sui introduce un modelo de objetos para gestionar estados más complejos.

  6. 资源类型系统:Move 的核心机制是资源类型(Resource Type),通过编译器强制执行所有权规则。资源类型变量必须显式移动(move)或销毁(destroy),禁止复制或丢弃操作。这确保了代币、NFT 等数字资产在智能合约执行过程中的唯一性和可追溯性,从根本上防止双花和资产泄漏问题。

  7. 模块化与泛型系统:Move 采用模块(Module)作为代码组织单位,每个模块可定义结构体、资源和公共函数。泛型系统允许开发者编写可重用的抽象代码,同时保持类型安全。例如,开发者可以创建一个泛型代币模块,适配不同资产类型而无需重复编写逻辑。

  8. 字节码验证与形式化验证:Move 代码编译为字节码后,虚拟机在执行前会进行严格的静态验证,包括类型检查、资源流分析和引用安全验证。此外,Move 支持集成形式化验证工具(如 Move Prover),开发者可通过数学证明确保合约逻辑的正确性,这在金融应用中尤为关键。

  9. 账户模型与全局存储:Move 采用基于账户的存储模型,每个账户地址对应一个存储空间,资源数据存储在账户内而非合约地址。这种设计使资产所有权更加清晰,用户可直接控制自己账户中的资源,而不依赖外部合约状态。

  10. 执行环境:Move 代码运行在专用虚拟机(Move VM)中,该虚拟机针对区块链环境优化,支持确定性执行和 Gas 计量。不同公链的 Move 实现略有差异:Aptos 的 Move VM 优化了并行执行能力,Sui 的 Move 变体则引入对象模型以支持更复杂的状态管理。

+++

Funcionamiento del lenguaje Move

  1. Sistema de tipos de recursos: El mecanismo central de Move es el Resource Type, que impone reglas de propiedad a través de restricciones del compilador. Las variables de tipo recurso deben moverse o destruirse explícitamente, y está prohibido copiarlas o descartarlas. Esto asegura la unicidad y trazabilidad de activos digitales como tokens y NFT durante la ejecución de contratos inteligentes, previniendo de forma fundamental problemas como el doble gasto y la fuga de activos.

  2. Modularidad y sistema genérico: Move utiliza módulos como unidades de organización del código, donde cada módulo puede definir structs, recursos y funciones públicas. El sistema genérico permite a los desarrolladores escribir código abstracto reutilizable manteniendo la seguridad de tipos. Por ejemplo, es posible crear un módulo de token genérico que se adapte a distintos tipos de activos sin necesidad de reescribir la lógica.

  3. Verificación de bytecode y verificación formal: Tras compilar el código Move a bytecode, la máquina virtual realiza una estricta verificación estática antes de la ejecución, que incluye comprobación de tipos, análisis de flujo de recursos y verificación de la seguridad de referencias. Además, Move admite la integración de herramientas de verificación formal (como Move Prover), permitiendo a los desarrolladores probar matemáticamente la corrección de la lógica de los contratos, algo especialmente relevante en aplicaciones financieras.

  4. Modelo de cuenta y almacenamiento global: Move emplea un modelo de almacenamiento basado en cuentas, donde cada dirección de cuenta corresponde a un espacio de almacenamiento y los datos de recursos se guardan dentro de las cuentas, no en direcciones de contrato. Este diseño clarifica la propiedad de los activos, permitiendo a los usuarios controlar directamente los recursos en sus cuentas sin depender del estado de contratos externos.

  5. Entorno de ejecución: El código Move se ejecuta en una máquina virtual dedicada (Move VM), optimizada para entornos blockchain, que soporta ejecución determinista y medición de Gas. Las implementaciones de Move en distintas cadenas públicas presentan ligeras diferencias: la Move VM de Aptos está optimizada para la ejecución paralela, mientras que la variante de Move en Sui introduce un modelo de objetos para gestionar estados más complejos.


Riesgos y desafíos de Move language

  1. Madurez insuficiente del ecosistema: En comparación con el ecosistema Solidity de Ethereum, las herramientas de desarrollo, librerías y recursos comunitarios de Move aún están en fases iniciales. Los desarrolladores deben aprender un paradigma de programación completamente nuevo, con altos costes de migración, y carecen de servicios de auditoría externos y cadenas de herramientas de seguridad maduras, lo que dificulta la evaluación de riesgos antes del lanzamiento de proyectos.

  2. Curva de aprendizaje pronunciada: La programación orientada a recursos y el modelo de propiedad de Move suponen un reto cognitivo para los desarrolladores tradicionales de contratos inteligentes. Es necesario replantear la lógica de gestión de activos y dominar las restricciones de tipos lineales y los métodos de verificación formal, lo que prolonga el ciclo de adaptación técnica del equipo y puede afectar la eficiencia en el desarrollo de proyectos.

  3. Compatibilidad limitada entre cadenas: Actualmente, Move se aplica principalmente en cadenas públicas específicas como Aptos y Sui, sin interoperabilidad nativa con ecosistemas principales como Ethereum y Solana. Aunque teóricamente es posible transferir activos mediante puentes entre cadenas, las diferencias en las arquitecturas de máquinas virtuales y modelos de recursos incrementan notablemente la complejidad de las llamadas entre contratos cross-chain, limitando la flexibilidad en el desarrollo de aplicaciones multichain.

  4. Compromisos en la optimización del rendimiento: Aunque Move prioriza la seguridad, sus estrictos mecanismos de comprobación de tipos y verificación pueden afectar la eficiencia de ejecución. En escenarios de alta concurrencia, el coste computacional de la verificación formal puede convertirse en un cuello de botella para el rendimiento. Además, las modificaciones personalizadas de Move en distintas cadenas públicas (como el modelo de objetos de Sui) pueden provocar fragmentación del lenguaje, aumentando la carga de mantenimiento de múltiples versiones de código para los desarrolladores.

  5. Incertidumbre regulatoria y de cumplimiento: Move nació del proyecto Diem, que fue cancelado por resistencia regulatoria. Esta circunstancia histórica puede someter a los nuevos proyectos que adopten Move a una presión adicional de revisión de cumplimiento. Especialmente en aplicaciones de servicios financieros, los organismos reguladores pueden mostrarse cautelosos respecto al origen y las características técnicas del lenguaje, exigiendo auditorías de seguridad más estrictas y mayores niveles de transparencia.

  6. 生态系统成熟度不足:相比以太坊的 Solidity 生态,Move 语言的开发工具、库和社区资源仍处于早期阶段。开发者需要学习全新的编程范式,迁移成本较高,且缺乏成熟的第三方审计服务和安全工具链,增加了项目上线前的风险评估难度。

  7. 学习曲线陡峭:Move 的资源导向编程和所有权模型对传统智能合约开发者构成认知挑战。开发者需要重新理解资产管理逻辑,掌握线性类型约束和形式化验证方法,这延长了团队的技术适应周期,可能影响项目开发效率。

  8. 跨链兼容性受限:Move 语言目前主要应用于 Aptos 和 Sui 等特定公链,与以太坊、Solana 等主流生态缺乏原生互操作性。虽然理论上可通过跨链桥实现资产转移,但不同虚拟机架构和资源模型的差异使得跨链合约调用复杂度大幅提升,限制了多链应用的开发灵活性。

  9. 性能优化与权衡:尽管 Move 强调安全性,但其严格的类型检查和验证机制可能影响执行效率。在高并发场景下,形式化验证的计算开销可能成为性能瓶颈。此外,不同公链对 Move 的定制化改动(如 Sui 的对象模型)可能导致语言碎片化,增加开发者维护多版本代码的负担。

  10. 监管与合规不确定性:Move 语言诞生于 Diem 项目,该项目因监管阻力夭折,这一历史背景可能使采用 Move 的新项目面临额外的合规审查压力。尤其在涉及金融服务的应用中,监管机构可能对该语言的起源和技术特性保持谨慎态度,要求更严格的安全审计和透明度披露。

+++

Riesgos y desafíos del lenguaje Move

  1. Madurez insuficiente del ecosistema: Frente al ecosistema de Solidity en Ethereum, las herramientas de desarrollo, librerías y recursos comunitarios de Move siguen en fases tempranas. Los desarrolladores deben aprender un paradigma de programación completamente nuevo, con costes de migración elevados, y carecen de servicios de auditoría externos y cadenas de herramientas de seguridad maduras, lo que dificulta la evaluación de riesgos previa al lanzamiento de proyectos.

  2. Curva de aprendizaje pronunciada: La programación orientada a recursos y el modelo de propiedad de Move suponen un reto cognitivo para los desarrolladores tradicionales de contratos inteligentes. Es necesario replantear la lógica de gestión de activos y dominar las restricciones de tipos lineales y los métodos de verificación formal, lo que prolonga el ciclo de adaptación técnica del equipo y puede afectar la eficiencia en el desarrollo de proyectos.

  3. Compatibilidad limitada entre cadenas: Actualmente, Move se utiliza principalmente en cadenas públicas específicas como Aptos y Sui, y carece de interoperabilidad nativa con ecosistemas principales como Ethereum y Solana. Aunque es posible transferir activos mediante puentes entre cadenas, las diferencias en las arquitecturas de máquinas virtuales y modelos de recursos incrementan notablemente la complejidad de las llamadas entre contratos cross-chain, limitando la flexibilidad en el desarrollo de aplicaciones multichain.

  4. Compromisos en la optimización del rendimiento: Aunque Move prioriza la seguridad, sus estrictos mecanismos de comprobación de tipos y verificación pueden afectar la eficiencia de ejecución. En escenarios de alta concurrencia, el coste computacional de la verificación formal puede convertirse en un cuello de botella para el rendimiento. Además, las modificaciones personalizadas de Move en distintas cadenas públicas (como el modelo de objetos de Sui) pueden provocar fragmentación del lenguaje, aumentando la carga de mantenimiento de múltiples versiones de código para los desarrolladores.

  5. Incertidumbre regulatoria y de cumplimiento: Move nació del proyecto Diem, que fue cancelado por resistencia regulatoria. Esta circunstancia histórica puede someter a los nuevos proyectos que adopten Move a una presión adicional de revisión de cumplimiento. Especialmente en aplicaciones de servicios financieros, los organismos reguladores pueden mostrarse cautelosos respecto al origen y las características técnicas del lenguaje, exigiendo auditorías de seguridad más estrictas y mayores niveles de transparencia.


Move language represents an important innovation direction in blockchain programming language design, providing fundamental language-level guarantees for digital asset security through its resource type system and formal verification capabilities. Its application in emerging public chains such as Aptos and Sui has validated the practical value of this language in high-performance, high-security scenarios. However, issues such as lagging ecosystem development, high learning barriers, and insufficient cross-chain interoperability still constrain Move's large-scale adoption. For blockchain developers, understanding Move's design philosophy and technical characteristics helps weigh security against ecosystem maturity when selecting project technologies; for industry observers, Move language's evolutionary path reflects blockchain technology's paradigm shift from "rapid iteration" to "security-first." As more toolchains are refined and developer communities grow, Move is expected to play a key role in domains with extremely high asset security requirements such as finance and gaming, driving blockchain applications toward more reliable and auditable development.

Move 语言代表了区块链编程语言设计的重要创新方向,通过资源类型系统和形式化验证能力,为数字资产安全提供了语言层面的根本性保障。其在 Aptos 和 Sui 等新兴公链中的应用,验证了该语言在高性能、高安全场景下的实用价值。然而,生态建设滞后、学习门槛较高以及跨链互操作性不足等问题,仍制约着 Move 的大规模普及。对于区块链开发者而言,理解 Move 的设计哲学和技术特性,有助于在项目选型时权衡安全性与生态成熟度;对于行业观察者,Move 语言的演进路径反映了区块链技术从"快速迭代"向"安全优先"的范式转变。随着更多工具链的完善和开发者社区的壮大,Move 有望在金融、游戏等对资产安全要求极高的领域发挥关键作用,推动区块链应用向更可靠、可审计的方向发展。

+++

Move representa una dirección innovadora clave en el diseño de lenguajes de programación para blockchain, aportando garantías fundamentales para la seguridad de los activos digitales a nivel de lenguaje gracias a su sistema de tipos de recursos y capacidades de verificación formal. Su aplicación en cadenas públicas emergentes como Aptos y Sui ha demostrado el valor práctico de este lenguaje en escenarios de alto rendimiento y máxima seguridad. Sin embargo, el desarrollo rezagado del ecosistema, las elevadas barreras de aprendizaje y la insuficiente interoperabilidad entre cadenas siguen limitando la adopción masiva de Move. Para los desarrolladores blockchain, comprender la filosofía y las características técnicas de Move ayuda a equilibrar la seguridad frente a la madurez del ecosistema al elegir tecnologías para sus proyectos; para los observadores del sector, la evolución de Move refleja el cambio de paradigma tecnológico en blockchain, pasando de la "iteración rápida" al enfoque "seguridad primero". A medida que se perfeccionan las cadenas de herramientas y crecen las comunidades de desarrolladores, Move está llamado a desempeñar un papel clave en sectores con requisitos extremos de seguridad de activos, como finanzas y gaming, impulsando el desarrollo de aplicaciones blockchain hacia modelos más fiables y auditables.

Compartir

Glosarios relacionados
época
Epoch es una unidad temporal que emplean las redes blockchain para estructurar y controlar la generación de bloques, normalmente conformada por una cantidad fija de bloques o por un intervalo de tiempo previamente determinado. Este sistema proporciona una estructura operativa, permitiendo a los validadores realizar actividades de consenso de manera ordenada dentro de intervalos de tiempo definidos, y establece límites claros para operaciones esenciales como el staking, la distribución de recompensas y el aj
¿Qué es un Nonce?
El nonce (número utilizado una sola vez) es un valor único empleado en los procesos de minería de blockchain, especialmente en los mecanismos de consenso Proof of Work (PoW). En este contexto, los mineros prueban sucesivos valores de nonce hasta encontrar uno que genera un hash de bloque menor que el objetivo de dificultad. A nivel de transacción, el nonce también actúa como contador, evitando ataques de repetición y garantizando el carácter único y la seguridad de cada operación.
Descentralizado
La descentralización constituye un principio clave en blockchain y criptomonedas, ya que define sistemas que funcionan sin estar sujetos a una autoridad central única, sino que se sustentan mediante la colaboración de diversos nodos dentro de una red distribuida. Este enfoque arquitectónico elimina la necesidad de intermediarios y refuerza la resistencia a la censura, la tolerancia ante posibles fallos y la autonomía de los usuarios.
cifra
El cifrado es una técnica de seguridad que, mediante operaciones matemáticas, convierte el texto plano en texto cifrado. Se emplea en blockchain y criptomonedas para garantizar la seguridad de los datos, verificar transacciones y crear mecanismos de confianza en sistemas descentralizados. Entre los tipos más comunes se encuentran las funciones de hash como SHA-256, la criptografía asimétrica como la criptografía de curva elíptica y los esquemas de firma digital como ECDSA.
Grafo Acíclico Dirigido
Un Grafo Acíclico Dirigido (DAG) es una estructura de datos donde los nodos se conectan a través de aristas direccionales, sin que se formen ciclos. En el ámbito de blockchain, DAG constituye una arquitectura alternativa de libro mayor distribuido, que facilita un mayor rendimiento y reduce la latencia. Esto se logra mediante la validación simultánea de varias transacciones, en vez de emplear una estructura lineal de bloques.

Artículos relacionados

¿Qué es una valoración completamente diluida (FDV) en criptomonedas?
Intermedio

¿Qué es una valoración completamente diluida (FDV) en criptomonedas?

Este artículo explica qué significa capitalización de mercado totalmente diluida en cripto y analiza los pasos para calcular la valoración totalmente diluida, la importancia de la FDV y los riesgos de depender de la FDV en cripto.
10-25-2024, 1:37:13 AM
Conceptos de Smart Money y Comercio de TIC
Intermedio

Conceptos de Smart Money y Comercio de TIC

Este artículo analiza principalmente la efectividad real y las limitaciones de las estrategias de dinero inteligente, aclara la dinámica del mercado y los malentendidos comunes, y señala que las transacciones del mercado no están completamente controladas por el "dinero inteligente" como dicen algunas teorías populares de negociación, sino que se basan en la interacción entre la profundidad del mercado y el flujo de órdenes, lo que sugiere que los operadores se centren en una gestión de riesgos sólida en lugar de en la búsqueda excesiva de operaciones de alto rendimiento.
12-10-2024, 5:53:27 AM
El futuro de KAIA después de la reorganización de la marca: una comparación del diseño y las oportunidades del ecosistema TON
Intermedio

El futuro de KAIA después de la reorganización de la marca: una comparación del diseño y las oportunidades del ecosistema TON

Este artículo ofrece un análisis en profundidad de la dirección de desarrollo del proyecto emergente de Web3 del este asiático KAIA después de su cambio de marca, centrándose en su posicionamiento diferenciado y potencial competitivo en comparación con el ecosistema TON. A través de una comparación multidimensional de la posición en el mercado, la base de usuarios y la arquitectura tecnológica, el artículo ofrece a los lectores una comprensión integral tanto de KAIA como del ecosistema TON, proporcionando ideas sobre las oportunidades futuras de desarrollo del ecosistema Web3.
11-19-2024, 3:29:52 AM