A linguagem Move, como uma nova geração de linguagem de contratos inteligentes, possui um design de segurança notável. Este artigo analisará a segurança do Move em três dimensões: características da linguagem, mecanismo de execução e ferramentas de verificação.
1. Características de segurança da linguagem Move
A linguagem Move foi projetada para evitar lógica não linear, não suporta despacho dinâmico e chamadas externas recursivas, mas utiliza conceitos como genéricos, armazenamento global e recursos para implementar um modelo de programação alternativo. Essas características evitam efetivamente vulnerabilidades comuns como reentrância.
O mecanismo de segurança central do Move inclui:
Módulo: Cada módulo é composto por um tipo de estrutura e definição de processo, podendo importar definições de tipo de outros módulos.
Estrutura: pode ser definida como um tipo de recurso, armazenado no armazenamento de chave-valor global.
Armazenamento global: permite o armazenamento persistente de dados, que só pode ser lido e escrito de forma programática por quem possui o módulo.
Verificador de bytecode: impõe tipos de segurança e linearização, evitando operações ilegais nos valores dos tipos de recursos.
Invariante de redução: pode definir invariantes de verificação estática, garantindo a segurança do código.
2. Mecanismo de funcionamento do Move
O programa Move é executado na máquina virtual e não pode acessar diretamente a memória do sistema. Seu estado é composto pela pilha de chamadas, memória, variáveis globais e operações.
MoveVM separa o armazenamento de dados da pilha de chamadas, o que é uma grande diferença em relação ao EVM. Os recursos sob o endereço da conta de estado do usuário ( são armazenados de forma independente, e as chamadas de programa devem estar de acordo com as regras de permissão e recursos, aumentando a segurança e a eficiência de execução.
![Análise de Segurança do Move: A Revolução da Linguagem de Contratos Inteligentes])https://img-cdn.gateio.im/webp-social/moments-69101617731b12c40620802eecf76caf.webp(
3. Mover Prover
Move Prover é uma ferramenta de verificação formal que usa algoritmos de verificação dedutiva para validar se um programa atende às expectativas. O seu fluxo de trabalho é o seguinte:
Receber arquivos fonte Move como entrada, extrair normas
Compilar para bytecode, converter para o modelo de objeto do validador
Traduzir para a linguagem intermediária Boogie
Gerar condições de verificação
Usar o solucionador Z3 para validar fórmulas SMT
Gerar relatório de diagnóstico
A Move Specification Language é utilizada para descrever especificações, podendo ser escrita de forma independente sem afetar o código de produção.
![Análise de Segurança do Move: O Mudador de Jogo da Linguagem de Contrato Inteligente])https://img-cdn.gateio.im/webp-social/moments-372ff914a241634ca57784dc9685a03d.webp(
Resumo
Move considera amplamente as características da linguagem, a execução da máquina virtual e as ferramentas de segurança. Evita vulnerabilidades comuns, como reentrância e estouro, mas problemas como gestão de permissões e erros lógicos ainda precisam da atenção dos desenvolvedores. Recomenda-se o uso de auditorias de segurança de terceiros e a entrega do código de especificação de validação a uma equipe profissional.
![Análise de Segurança do Move: A Revolução da Linguagem de Contratos Inteligentes])https://img-cdn.gateio.im/webp-social/moments-f7cd11fef1c66709b219e1a1e8d2e4da.webp(
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
20 Curtidas
Recompensa
20
5
Repostar
Compartilhar
Comentário
0/400
MEVHunterZhang
· 07-13 14:53
Desde que a segurança seja forte o suficiente, o resto é tudo ilusão.
Ver originalResponder0
SolidityStruggler
· 07-11 20:18
mover mover anda
Ver originalResponder0
SilentObserver
· 07-11 00:25
move é tão incrível assim?
Ver originalResponder0
MeaninglessGwei
· 07-11 00:22
Seguro +1 Tem conteúdo
Ver originalResponder0
WenAirdrop
· 07-11 00:09
Muito rigoroso, gosto desse tipo de abordagem hardcore.
Análise abrangente da segurança da linguagem Move: características, mecanismos e ferramentas de verificação
Análise de segurança da linguagem Move
A linguagem Move, como uma nova geração de linguagem de contratos inteligentes, possui um design de segurança notável. Este artigo analisará a segurança do Move em três dimensões: características da linguagem, mecanismo de execução e ferramentas de verificação.
1. Características de segurança da linguagem Move
A linguagem Move foi projetada para evitar lógica não linear, não suporta despacho dinâmico e chamadas externas recursivas, mas utiliza conceitos como genéricos, armazenamento global e recursos para implementar um modelo de programação alternativo. Essas características evitam efetivamente vulnerabilidades comuns como reentrância.
O mecanismo de segurança central do Move inclui:
Módulo: Cada módulo é composto por um tipo de estrutura e definição de processo, podendo importar definições de tipo de outros módulos.
Estrutura: pode ser definida como um tipo de recurso, armazenado no armazenamento de chave-valor global.
Armazenamento global: permite o armazenamento persistente de dados, que só pode ser lido e escrito de forma programática por quem possui o módulo.
Verificador de bytecode: impõe tipos de segurança e linearização, evitando operações ilegais nos valores dos tipos de recursos.
Invariante de redução: pode definir invariantes de verificação estática, garantindo a segurança do código.
2. Mecanismo de funcionamento do Move
O programa Move é executado na máquina virtual e não pode acessar diretamente a memória do sistema. Seu estado é composto pela pilha de chamadas, memória, variáveis globais e operações.
MoveVM separa o armazenamento de dados da pilha de chamadas, o que é uma grande diferença em relação ao EVM. Os recursos sob o endereço da conta de estado do usuário ( são armazenados de forma independente, e as chamadas de programa devem estar de acordo com as regras de permissão e recursos, aumentando a segurança e a eficiência de execução.
![Análise de Segurança do Move: A Revolução da Linguagem de Contratos Inteligentes])https://img-cdn.gateio.im/webp-social/moments-69101617731b12c40620802eecf76caf.webp(
3. Mover Prover
Move Prover é uma ferramenta de verificação formal que usa algoritmos de verificação dedutiva para validar se um programa atende às expectativas. O seu fluxo de trabalho é o seguinte:
A Move Specification Language é utilizada para descrever especificações, podendo ser escrita de forma independente sem afetar o código de produção.
![Análise de Segurança do Move: O Mudador de Jogo da Linguagem de Contrato Inteligente])https://img-cdn.gateio.im/webp-social/moments-372ff914a241634ca57784dc9685a03d.webp(
Resumo
Move considera amplamente as características da linguagem, a execução da máquina virtual e as ferramentas de segurança. Evita vulnerabilidades comuns, como reentrância e estouro, mas problemas como gestão de permissões e erros lógicos ainda precisam da atenção dos desenvolvedores. Recomenda-se o uso de auditorias de segurança de terceiros e a entrega do código de especificação de validação a uma equipe profissional.
![Análise de Segurança do Move: A Revolução da Linguagem de Contratos Inteligentes])https://img-cdn.gateio.im/webp-social/moments-f7cd11fef1c66709b219e1a1e8d2e4da.webp(