Pular para o conteúdo

Por que Move?

A linguagem de programação Move foi originalmente criada por uma equipe de engenheiros no Facebook para a Rede de Pagamentos Diem. Move é projetada para ser uma linguagem agnóstica de plataforma para permitir bibliotecas comuns, ferramentas e comunidades de desenvolvedores em blockchains diversos com modelos de dados e execução vastamente diferentes. Na Aptos, acreditamos em construir uma forte comunidade de desenvolvedores em Move e os convidamos a construir sobre a pilha Move on Aptos e contribuir para o software de código aberto.

Move é construída sobre os seguintes princípios:

PrincípioExplicação
Seguro por padrãoSistemas financeiros são construídos para garantir que os usuários não percam fundos. Move foi projetada para prevenir classes inteiras de ataques e bugs como ataques de reentrância, gastos duplos e overflow aritmético. Segurança de tipos e verificações em tempo de compilação estão na vanguarda da segurança.
Verificação de Tempo de ExecuçãoO bytecode pode ser verificado em tempo de execução para verificar que nada deu errado, fornecendo segurança extra e prevenindo atores maliciosos.
Verificação FormalMove on Aptos fornece uma linguagem de especificação para fornecer verificação formal de contratos. Isso permite provar invariantes e auxilia na auditoria de código.
SimplicidadeOs comandos e bytecode são propositalmente simples. Isso permite descompilação fácil, verificação de tempo de execução e inspeção de código. Usar linguagens de programação regulares para blockchains frequentemente requer ignorar grande parte da linguagem para torná-las adequadas para contratos inteligentes (ex: Rust).

Move on Aptos suporta a linguagem completa construída pela equipe no Facebook, com extensões adicionais construídas para melhorar a segurança e a experiência do desenvolvedor.

VantagensExplicação
Verificação FormalO framework Aptos é totalmente especificado e formalmente verificado com o Move Prover. Isso inclui os contratos centrais envolvendo governança, NFTs e Tokens.
Cobertura de GasMove VM tem 100% de cobertura de gas. Gas é cobrado baseado no uso real no sistema (CPU, memória, armazenamento, I/O). Em outras palavras, sem exploits de gas.
Redundância de SegurançaRedundância de segurança fornecida por verificações de segurança de tempo de execução.
Controles de PermissãoControles de permissão podem ser flexivelmente construídos em vários níveis. Por exemplo, controles de permissão de nível de token existem por padrão para permitir tokenização RWA.
VantagensExplicação
Ferramentas de Desenvolvimento Move- Testes unitários: Move tem testes unitários integrados para todos os contratos. Aptos adicionalmente fornece funcionalidade de teste no framework para testar diferentes cenários.
- Cobertura: Ferramentas de cobertura permitem relatórios de cobertura tanto em nível de código fonte quanto de bytecode.
- Descompilador: Para melhor segurança, bytecode on-chain pode ser desmontado ou descompilado para fornecer visibilidade nos contratos reais.
- Plugins IDE: Aptos tem suporte para todas as principais IDEs: VSCode, Cursor etc. e IntelliJ.
Modelo de DadosAptos tem um modelo de dados acessível com a definição de dados armazenada on-chain. Objetos e contas podem ter múltiplas estruturas distintas em um formato fácil de analisar.
Capacidade de UpgradeA capacidade de upgrade garante que interfaces de aplicação não possam ser quebradas e não requer adoção explícita de aplicações downstream. Contratos podem simplesmente ser atualizados no local para corrigir bugs.
Interação CruzadaMove permite interação entre contratos usando structs type-safe.
Armazenamento de CódigoAptos armazena código fonte on-chain melhorando a capacidade de auditar e garantir correção de contrato para bytecode.
Transações PatrocinadasSuporte nativo a transações patrocinadas permite que transações sejam pagas por outros usuários sem necessidade de serviços especiais ou código específico de contrato.
Padrões Robustos de TokenOs padrões de Ativo Digital e Ativo Fungível fornecem flexibilidade e um padrão unificado para diversos tipos de tokens e ativos digitais on-chain. Estes foram influenciados por padrões existentes como ERC-20, ERC-721, ERC-1155 e Token-2022.
Aleatoriedade On-chainAleatoriedade nativa on-chain sem viés fornece uma maneira segura e consistente de obter números aleatórios, com verificações de segurança extras em tempo de compilação.