alterar idioma

alterar idioma

A linguagem Move é uma linguagem de programação criada especificamente para blockchain, inicialmente desenvolvida pela equipe da Meta (antiga Facebook) para o projeto Diem. Seu principal objetivo é garantir, desde a base, a segurança e a verificabilidade dos ativos digitais, utilizando um paradigma de programação orientado a recursos e um sistema de tipos robusto. Move apresenta o conceito exclusivo de "Resources", tratando ativos digitais como componentes essenciais que não podem ser copiados nem descartados implicitamente, impedindo estruturalmente problemas recorrentes de segurança em smart contracts, como ataques de double-spending e vulnerabilidades de reentrância. Após o encerramento do projeto Diem, Move foi adotada e aprimorada por blockchains públicas emergentes, como Aptos e Sui, consolidando-se como uma tecnologia fundamental para a infraestrutura blockchain de nova geração. Com verificação estática de tipos, capacidades de validação formal e arquitetura modular, Move permite que desenvolvedores criem aplicações descentralizadas mais seguras e auditáveis, proporcionando ao setor uma solução de programação que combina desempenho e segurança.


A origem da linguagem Move?

A linguagem Move surgiu em 2018, liderada pela equipe de pesquisa em blockchain da Meta (então Facebook), inicialmente para atender ao ambicioso projeto global de moeda digital Diem (anteriormente Libra). Os idealizadores do projeto avaliavam que as linguagens de programação blockchain existentes, como Solidity, apresentavam falhas na gestão de recursos e vulnerabilidades frequentes de segurança, incapazes de atender aos rigorosos requisitos de segurança e confiabilidade de aplicações de nível financeiro. Por isso, a equipe optou por criar uma nova linguagem do zero, incorporando diretamente as propriedades de segurança dos ativos digitais ao nível da linguagem.

O design da Move incorporou a teoria de tipos lineares e o modelo de propriedade do Rust, definindo recursos como tipos com "semântica de movimento" em vez de "semântica de cópia". Isso significa que variáveis de recursos só podem ser movidas ou destruídas no código, não copiadas nem perdidas acidentalmente, eliminando a possibilidade de ativos surgirem ou desaparecerem sem controle no nível da linguagem. Em 2020, o projeto Diem foi gradualmente reduzido devido à pressão regulatória e ajustes estratégicos, mas o valor técnico da Move ganhou reconhecimento no setor. Após 2021, membros da equipe original do Diem fundaram separadamente os projetos Aptos e Sui, ambos adotando Move como linguagem central de desenvolvimento e realizando adaptações conforme as necessidades arquiteturais de cada blockchain.

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

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

+++

Origem da linguagem Move

A linguagem Move foi criada em 2018, sob liderança da equipe de pesquisa em blockchain da Meta (então chamada Facebook), inicialmente para o projeto global de moeda digital Diem (antes Libra). Os fundadores do projeto identificaram que linguagens de programação blockchain existentes, como Solidity, apresentavam deficiências na gestão de recursos e vulnerabilidades de segurança frequentes, inadequadas para aplicações financeiras que exigem altos padrões de segurança e confiabilidade. Por isso, decidiram projetar uma nova linguagem do zero, incorporando as propriedades de segurança dos ativos digitais diretamente na camada da linguagem.

O desenvolvimento da Move absorveu conceitos da teoria de tipos lineares e do modelo de propriedade do Rust, definindo recursos como tipos com "semântica de movimento" — e não de cópia. Assim, variáveis de recursos só podem ser movidas ou destruídas no código, nunca copiadas ou perdidas acidentalmente, eliminando a possibilidade de ativos surgirem ou desaparecerem de forma não controlada no nível da linguagem. Em 2020, o projeto Diem foi reduzido devido à pressão regulatória e mudanças estratégicas, mas o valor técnico da Move passou a ser reconhecido pelo setor. Após 2021, membros da equipe original do Diem fundaram os projetos Aptos e Sui, ambos adotando Move como linguagem central de desenvolvimento e realizando adaptações específicas conforme suas arquiteturas.


Como funciona a linguagem Move?

  1. Sistema de Tipos de Recursos: O mecanismo central do Move é o Resource Type, que impõe regras de propriedade por meio de restrições do compilador. Variáveis de tipo recurso devem ser explicitamente movidas ou destruídas, sendo proibidas operações de cópia ou descarte. Isso garante a unicidade e rastreabilidade de ativos digitais, como tokens e NFTs, durante a execução de smart contracts, prevenindo de forma estrutural problemas como double-spending e vazamento de ativos.

  2. Modularidade e Sistema Genérico: Move utiliza módulos como unidades de organização do código, cada módulo podendo definir structs, recursos e funções públicas. O sistema genérico permite que desenvolvedores escrevam código abstrato reutilizável, mantendo a segurança de tipos. Por exemplo, é possível criar um módulo genérico de tokens que se adapta a diferentes tipos de ativos sem reescrever a lógica.

  3. Verificação de Bytecode e Verificação Formal: Após a compilação do código Move em bytecode, a máquina virtual realiza uma verificação estática rigorosa antes da execução, incluindo checagem de tipos, análise de fluxo de recursos e validação de segurança de referências. Além disso, Move suporta integração com ferramentas de verificação formal (como Move Prover), permitindo que desenvolvedores comprovem matematicamente a correção da lógica dos contratos, algo essencial em aplicações financeiras.

  4. Modelo de Conta e Armazenamento Global: Move adota um modelo de armazenamento baseado em contas, onde cada endereço de conta corresponde a um espaço de armazenamento, e os dados de recursos são armazenados dentro das contas, não em endereços de contrato. Essa abordagem torna a propriedade dos ativos mais transparente, permitindo que usuários controlem diretamente os recursos em suas contas, sem depender do estado de contratos externos.

  5. Ambiente de Execução: O código Move roda em uma máquina virtual dedicada (Move VM), otimizada para ambientes blockchain, suportando execução determinística e medição de Gas. Diferentes blockchains públicas têm implementações distintas de Move: a Move VM do Aptos é otimizada para execução paralela, enquanto a variante do Move em Sui introduz um modelo de objetos para suportar gestão de estados mais complexa.

  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 变体则引入对象模型以支持更复杂的状态管理。

+++

Como funciona a linguagem Move?

  1. Sistema de Tipos de Recursos: O principal mecanismo do Move é o Resource Type, que aplica regras de propriedade por meio de restrições impostas pelo compilador. Variáveis de tipo recurso devem ser explicitamente movidas ou destruídas, sendo proibidas operações de cópia ou descarte. Isso garante a unicidade e rastreabilidade de ativos digitais como tokens e NFTs durante a execução de smart contracts, prevenindo problemas como double-spending e vazamento de ativos.

  2. Modularidade e Sistema Genérico: Move utiliza módulos como unidades de organização do código, permitindo que cada módulo defina estruturas, recursos e funções públicas. O sistema genérico possibilita a criação de código abstrato reutilizável, mantendo a segurança de tipos. Por exemplo, desenvolvedores podem criar módulos de token genéricos que se adaptam a diferentes tipos de ativos sem a necessidade de reescrever a lógica.

  3. Verificação de Bytecode e Formalização: Após a compilação do código Move em bytecode, a máquina virtual realiza uma verificação estática rigorosa antes da execução, incluindo checagem de tipos, análise de fluxo de recursos e validação de segurança de referências. Move também suporta integração com ferramentas de verificação formal (como Move Prover), permitindo a comprovação matemática da correção da lógica dos contratos, fundamental para aplicações financeiras.

  4. Modelo de Conta e Armazenamento Global: Move adota um modelo de armazenamento baseado em contas, onde cada endereço de conta corresponde a um espaço de armazenamento, e os dados de recursos ficam armazenados dentro das contas, não em endereços de contrato. Esse design torna a propriedade dos ativos mais clara, permitindo que os usuários controlem diretamente os recursos em suas contas, sem depender do estado de contratos externos.

  5. Ambiente de Execução: O código Move é executado em uma máquina virtual dedicada (Move VM), otimizada para ambientes blockchain, suportando execução determinística e medição de Gas. As diferentes blockchains públicas têm implementações distintas do Move: a Move VM do Aptos é otimizada para execução paralela, enquanto a variante do Move em Sui introduz um modelo de objetos para gestão de estados mais complexos.


Quais são os riscos e desafios da linguagem Move?

  1. Maturidade insuficiente do ecossistema: Em comparação ao ecossistema do Solidity no Ethereum, as ferramentas de desenvolvimento, bibliotecas e recursos comunitários do Move ainda estão em fase inicial. Os desenvolvedores precisam aprender um novo paradigma de programação, enfrentando altos custos de migração, além da ausência de serviços de auditoria terceirizados maduros e ferramentas de segurança, o que dificulta a avaliação de riscos antes do lançamento de projetos.

  2. Curva de aprendizado acentuada: A programação orientada a recursos e o modelo de propriedade do Move representam desafios cognitivos para desenvolvedores tradicionais de smart contracts. É necessário repensar a lógica de gestão de ativos, dominar restrições de tipos lineares e métodos de verificação formal, o que prolonga o ciclo de adaptação técnica das equipes e pode impactar a eficiência do desenvolvimento.

  3. Compatibilidade limitada entre blockchains: Atualmente, Move é utilizado principalmente em blockchains públicas específicas como Aptos e Sui, sem interoperabilidade nativa com ecossistemas mainstream como Ethereum e Solana. Embora seja possível realizar transferências de ativos por meio de pontes cross-chain, diferenças nas arquiteturas de máquinas virtuais e modelos de recursos aumentam significativamente a complexidade das chamadas de contratos entre blockchains, limitando a flexibilidade do desenvolvimento de aplicações multichain.

  4. Compromissos de otimização de desempenho: Apesar do foco em segurança, os mecanismos rigorosos de verificação e checagem de tipos do Move podem impactar a eficiência de execução. Em cenários de alta concorrência, o custo computacional da verificação formal pode se tornar um gargalo de desempenho. Além disso, modificações personalizadas do Move em diferentes blockchains (como o modelo de objetos do Sui) podem levar à fragmentação da linguagem, aumentando o esforço dos desenvolvedores para manter múltiplas versões de código.

  5. Incertezas regulatórias e de conformidade: A linguagem Move tem origem no projeto Diem, que foi encerrado devido à resistência regulatória. Esse histórico pode fazer com que novos projetos baseados em Move enfrentem pressão adicional em revisões de conformidade. Especialmente em aplicações financeiras, órgãos reguladores podem manter cautela quanto à origem e às características técnicas da linguagem, exigindo auditorias de segurança mais rigorosas e maior transparência.

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

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

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

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

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

+++

Quais são os riscos e desafios da linguagem Move?

  1. Maturidade insuficiente do ecossistema: Em comparação ao ecossistema do Solidity no Ethereum, as ferramentas de desenvolvimento, bibliotecas e recursos comunitários do Move ainda são incipientes. Desenvolvedores precisam dominar um paradigma de programação totalmente novo, enfrentando altos custos de migração, além da ausência de serviços maduros de auditoria terceirizada e ferramentas de segurança, o que dificulta a avaliação de riscos antes do lançamento de projetos.

  2. Curva de aprendizado acentuada: A programação orientada a recursos e o modelo de propriedade do Move representam desafios significativos para desenvolvedores tradicionais de smart contracts. É necessário repensar a lógica de gestão de ativos, dominar restrições de tipos lineares e métodos de verificação formal, prolongando o ciclo de adaptação técnica das equipes e podendo impactar a eficiência do desenvolvimento.

  3. Compatibilidade limitada entre blockchains: Atualmente, o Move é aplicado principalmente em blockchains públicas específicas como Aptos e Sui, sem interoperabilidade nativa com ecossistemas mainstream como Ethereum e Solana. Embora a transferência de ativos possa ser realizada por pontes cross-chain, as diferenças nas arquiteturas das máquinas virtuais e modelos de recursos aumentam significativamente a complexidade das chamadas de contratos entre blockchains, limitando a flexibilidade do desenvolvimento multichain.

  4. Compromissos de otimização de desempenho: Embora o Move priorize a segurança, seus mecanismos rigorosos de verificação e checagem de tipos podem impactar a eficiência de execução. Em cenários de alta concorrência, o custo computacional da verificação formal pode se tornar um gargalo de desempenho. Além disso, modificações personalizadas do Move em diferentes blockchains (como o modelo de objetos do Sui) podem levar à fragmentação da linguagem, aumentando o esforço dos desenvolvedores para manter múltiplas versões de código.

  5. Incertezas regulatórias e de conformidade: O Move tem origem no projeto Diem, encerrado devido à resistência regulatória. Esse histórico pode fazer com que novos projetos baseados em Move enfrentem pressão adicional em revisões de conformidade. Especialmente em aplicações financeiras, órgãos reguladores podem permanecer cautelosos quanto à origem e características técnicas da linguagem, exigindo auditorias de segurança mais rigorosas e maior transparência.


A linguagem Move representa uma direção inovadora no design de linguagens de programação para blockchain, oferecendo garantias fundamentais de segurança para ativos digitais por meio de seu sistema de tipos de recursos e capacidades de verificação formal. Sua aplicação em blockchains emergentes como Aptos e Sui comprovou o valor prático da linguagem em cenários de alta performance e segurança. No entanto, questões como desenvolvimento lento do ecossistema, barreiras de aprendizado e interoperabilidade limitada ainda restringem a adoção em larga escala do Move. Para desenvolvedores blockchain, compreender a filosofia de design e as características técnicas do Move auxilia na avaliação entre segurança e maturidade do ecossistema ao escolher tecnologias para projetos; para observadores do setor, o caminho evolutivo do Move reflete a transição do paradigma de "iteração rápida" para "segurança em primeiro lugar" na tecnologia blockchain. Com o avanço das ferramentas e o crescimento das comunidades de desenvolvedores, Move tende a desempenhar papel estratégico em áreas que exigem segurança máxima de ativos, como finanças e jogos, impulsionando o desenvolvimento de aplicações blockchain mais confiáveis e auditáveis.

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

+++

A linguagem Move representa uma inovação relevante no desenvolvimento de linguagens para blockchain, fornecendo garantias fundamentais de segurança para ativos digitais por meio de seu sistema de tipos de recursos e capacidades de verificação formal. Sua adoção por blockchains emergentes como Aptos e Sui valida o valor prático da linguagem em cenários que demandam alta performance e segurança. Contudo, desafios como a maturidade limitada do ecossistema, barreiras de aprendizado e falta de interoperabilidade entre blockchains ainda restringem o avanço do Move em larga escala. Para desenvolvedores, entender a filosofia e os recursos técnicos da Move é essencial para equilibrar segurança e maturidade do ecossistema na escolha de tecnologias de projeto; para analistas do setor, a trajetória evolutiva da Move reflete a mudança de paradigma na blockchain, do "desenvolvimento rápido" para o "foco em segurança". Com a evolução das ferramentas e o fortalecimento das comunidades de desenvolvedores, Move tende a ocupar papel estratégico em setores que exigem máxima segurança de ativos, como finanças e games, impulsionando aplicações blockchain em direção a padrões mais confiáveis e auditáveis.

Compartilhar

Glossários relacionados
Descentralizado
A descentralização representa um princípio fundamental no universo de blockchain e criptomoedas, caracterizando sistemas que funcionam independentemente de uma autoridade central, sustentados por diversos nós ativos em uma rede distribuída. Essa estrutura elimina a necessidade de intermediários, fortalecendo a resistência à censura, a tolerância a falhas e a autonomia dos usuários.
época
Epoch é uma unidade de tempo empregada em redes blockchain para estruturar e administrar a geração de blocos. Geralmente, ela consiste em uma quantidade fixa de blocos ou em um intervalo de tempo estabelecido. Essa abordagem proporciona um ambiente operacional organizado para a rede, permitindo que os validadores executem processos de consenso de maneira sistemática dentro de períodos determinados. Além disso, delimita com precisão os intervalos para operações essenciais como staking, distribuição de recomp
O que é um Nonce
Nonce (número usado uma vez) é um valor exclusivo utilizado na mineração de blockchain, principalmente nos mecanismos de consenso Proof of Work (PoW). Nesses sistemas, mineradores testam continuamente diferentes nonces até identificar um que produza um hash de bloco inferior ao nível de dificuldade definido. No contexto das transações, o nonce também serve como contador para evitar ataques de repetição, assegurando que cada transação seja única e protegida.
cifra
A criptografia é uma técnica de segurança que utiliza operações matemáticas para transformar texto simples em texto criptografado. Blockchain e criptomoedas aplicam a criptografia para garantir a proteção dos dados, validar transações e estruturar mecanismos descentralizados de confiança. Entre os principais tipos, destacam-se as funções de hash, como SHA-256. Outro exemplo é a criptografia de chave pública (assimétrica), por exemplo, criptografia de curva elíptica. Também há o algoritmo de assinatura digit
Imutável
A imutabilidade é um princípio essencial da tecnologia blockchain, impedindo que informações sejam modificadas ou removidas após seu registro e a obtenção das confirmações necessárias. Essa característica, viabilizada pelo encadeamento de funções hash criptográficas e mecanismos de consenso, assegura a integridade e autenticidade do histórico de transações, estabelecendo uma base confiável para ecossistemas descentralizados.

Artigos Relacionados

15 Principais Indicadores de Mercado do Bitcoin
intermediário

15 Principais Indicadores de Mercado do Bitcoin

Este artigo compartilha 15 indicadores de referência de fuga do Bitcoin, incluindo gráficos de preços arco-íris, preços finais, modelos de estoque-fluxo, etc., para ajudar os investidores a identificar oportunidades de venda.
11-22-2024, 12:12:16 PM
O que é uma avaliação totalmente diluída (FDV) em criptomoedas?
intermediário

O que é uma avaliação totalmente diluída (FDV) em criptomoedas?

Este artigo explica o que significa capitalização de mercado totalmente diluída em criptomoedas e discute os passos de cálculo da valuation totalmente diluída, a importância do FDV e os riscos de depender do FDV em criptomoedas.
10-25-2024, 1:37:13 AM
O que são tokens resistentes a quântica e por que eles são importantes para a cripto?
intermediário

O que são tokens resistentes a quântica e por que eles são importantes para a cripto?

Este artigo explora o papel essencial dos tokens resistentes a quântica na proteção de ativos digitais contra possíveis ameaças apresentadas pela computação quântica. Ao empregar tecnologias avançadas de criptografia anti-quântica, como criptografia baseada em redes e assinaturas baseadas em hash, o artigo destaca como esses tokens são essenciais para aprimorar os padrões de segurança de blockchain e proteger algoritmos criptográficos contra futuros ataques quânticos. Ele aborda a importância dessas tecnologias na manutenção da integridade da rede e no avanço das medidas de segurança de blockchain.
1-15-2025, 3:09:06 PM