O que é a Máquina Virtual TON (TVM)? Guia Completo (2026)

— By Tony Rabbit in Tutorials

O que é a Máquina Virtual TON (TVM)? Guia Completo (2026)

A TVM é o motor que executa cada contrato inteligente TON. Este guia explica o modelo de pilha, a passagem assíncrona de mensagens, o layout de dados baseado em células, a medição de gás e como a TVM se compara à EVM.

A TVM (Máquina Virtual TON) é o motor de execução que roda cada contrato inteligente na The Open Network. Ela é genuinamente diferente da EVM, da SVM e de outras máquinas virtuais principais, principalmente porque a filosofia de design da TON é assíncrona: os contratos passam mensagens em vez de fazer chamadas de função síncronas. Entender a TVM é a diferença entre tratar o desenvolvimento da TON como uma caixa preta e escrever contratos que funcionem bem com o paralelismo da rede.

Resposta rápida: A TVM é uma máquina virtual baseada em pilha que executa contratos inteligentes TON. Ela usa um layout de dados baseado em células onde tudo é armazenado como pequenos pedaços (até 1023 bits) com até quatro referências a outras células. A execução é assíncrona: um contrato recebe uma mensagem, executa até a conclusão e pode emitir novas mensagens. Não há chamadas síncronas entre contratos. A medição de gás é por contrato por mensagem, e o gás não utilizado é reembolsado.

  • Baseada em pilha. Operações empurram e retiram valores de uma pilha em vez de endereçar registradores.
  • Dados baseados em células. O armazenamento usa pequenos pedaços chamados células com até quatro referências cada.
  • Execução assíncrona. Os contratos se comunicam por meio de mensagens, não chamadas síncronas.
  • Medição de gás por mensagem. Cada mensagem carrega seu próprio orçamento de gás.
  • As linguagens se compilam para bytecode da TVM. FunC, Tact e outras todas visam a mesma camada de execução.

O que é a TVM e por que ela existe

A TVM é o tempo de execução que transforma o código do contrato inteligente em operações reais na blockchain. Cada nó na rede concorda com a especificação da TVM, então um contrato que roda em um nó roda de forma idêntica em todos os lugares. Esse determinismo é o que permite que a rede alcance consenso sobre os resultados dos contratos.

Por que uma VM personalizada

Os designers da TON construíram uma VM personalizada para se adequar à arquitetura shardada e assíncrona da rede. Tomar emprestado a EVM significaria aceitar o modelo de chamadas síncronas da EVM, que combate a execução paralela de shards da TON. A TVM dá à TON um modelo onde cada mensagem é uma unidade de trabalho que pode ser executada em qualquer shard a qualquer momento sem coordenar com outros shards.

Onde ela se encaixa na pilha

Abaixo da TVM estão as contas da rede, armazenamento e consenso. Acima da TVM estão as linguagens de contrato inteligente (FunC, Tact). A TVM é a interface universal: cada linguagem se compila para bytecode da TVM, e cada nó executa esse bytecode.

Diagrama do modelo de execução baseado em pilha da TVM com pilha, código do contrato e contador de gás
Visual inline 1: o modelo básico de execução da TVM.

Células e o layout de dados

Uma das escolhas de design características da TVM é a célula. Tudo armazenado na TON, desde o estado do contrato até os corpos das mensagens e os metadados de NFT, é organizado como uma árvore de células.

O que é uma célula

Uma célula contém até 1023 bits de dados brutos e até quatro referências a outras células. Objetos maiores (uma string longa, um grande array, um estado de contrato complexo) são representados como árvores de células. A estrutura é semelhante em espírito a uma árvore Merkle.

Por que as células são importantes

O layout de células suporta endereçamento de conteúdo (cada célula tem um hash), diffs eficientes (mudanças apenas modificam células afetadas) e cálculo de aluguel de armazenamento (a contagem de células e o tempo importam). Contratos de longa duração pagam um pequeno aluguel com base no número de células que mantêm ativas.

Aluguel de armazenamento

Diferente do armazenamento permanente do Ethereum, a TON cobra uma pequena taxa contínua para manter as células ativas. A intenção é desencorajar o inchaço indefinido. Contratos ativos pagam quase nada; contratos abandonados que mantêm um grande estado pagam mais, eventualmente sendo congelados se seu saldo atingir zero.

Execução assíncrona

A TVM não permite que o contrato A chame o contrato B de forma síncrona. Em vez disso, o contrato A envia uma mensagem ao contrato B, que é processada em um passo posterior.

Uma mensagem, uma execução

Cada interação na blockchain é acionada por uma mensagem. O contrato destinatário lê a mensagem, atualiza seu estado e pode emitir novas mensagens como um efeito colateral. Essas novas mensagens serão processadas em rodadas subsequentes da rede.

Implicações para desenvolvedores

Desenvolvedores acostumados a chamadas síncronas no estilo EVM têm que pensar de forma diferente na TON. Uma "transação" na TON é frequentemente uma cadeia de mensagens. O tratamento de falhas também é diferente: uma mensagem que retorna devolve fundos ao remetente, mas apenas se o remetente configurou a mensagem como retornável.

Implicações para paralelismo

O modelo assíncrono é o que permite que a TON execute shardchains em paralelo. Dois shards podem processar mensagens não relacionadas sem coordenar, e até mesmo mensagens entre shards são enfileiradas e resolvidas em rodadas posteriores.

Mockup de IDE mostrando código de contrato TON com instruções da TVM, instantâneo da pilha e painéis de fila de mensagens
Visual inline 2: uma visão típica de IDE ciente da TVM.

Medição de gás na TON

Cada operação da TVM tem um custo de gás. O sistema de custos é semelhante em espírito ao gás do Ethereum, com algumas diferenças importantes.

Gás por mensagem

Cada mensagem recebida carrega sua própria alocação de gás. Quando a mensagem é processada, o gás é consumido pelas operações executadas. O gás não utilizado é reembolsado ao remetente juntamente com qualquer saldo TON não utilizado.

Aluguel de armazenamento vs gás de computação

A TON cobra separadamente pelo aluguel de armazenamento (armazenamento de células a longo prazo) e gás de computação (trabalho realizado pela TVM). Ambos são pagos em TON. Para a maioria dos contratos voltados para o usuário, o gás de computação é o maior custo.

Por que as taxas permanecem baixas

As taxas permanecem baixas porque a rede pode escalar por meio de sharding quando a demanda aumenta. A maioria das execuções de contratos é barata, previsível e reembolsável quando superestimada.

Mockup de rastreamento de execução da TVM mostrando instruções executadas, mudanças na pilha e mensagens resultantes
Visual inline 3: uma visão típica de rastreamento de execução da TVM.

TVM vs EVM

Os dois motores resolvem o mesmo problema com mecânicas diferentes.

PropriedadeTVMEVM
ArquiteturaBaseada em pilhaBaseada em pilha
Layout de dadosCélulas (1023 bits + 4 refs)Armazenamento endereçado por palavra
Modelo de execuçãoMensagens assíncronasChamadas síncronas
Reembolso de gásSim, não utilizado reembolsadoSim, reembolso parcial
Custo de armazenamentoAluguel de armazenamentoCusto de armazenamento permanente pago antecipadamente
LinguagensFunC, TactSolidity, Vyper, Yul
Infográfico comparando TVM e EVM sobre modelo de execução, layout de dados, medição de gás e suporte a linguagem
Visual inline 4: como a TVM se compara à EVM.

O que isso significa para os desenvolvedores

Construir na TON requer um modelo mental diferente do que construir na Ethereum ou Solana.

Pense em mensagens, não em chamadas de função

Se você se pegar querendo "o resultado do contrato B" dentro do contrato A, geralmente está lutando contra o modelo. Reestruture o fluxo para que o contrato A envie uma mensagem para B e espere um retorno ou complete sua própria mudança de estado sem esperar.

Pense em células ao armazenar estado

Grandes arrays planos são desfavoráveis na TON. Estruturas de dados em forma de árvore funcionam melhor com o layout de células. Estados que crescem de forma ilimitada devem ser particionados entre várias células ou subcontratos.

Use Tact para uma sintaxe mais amigável

FunC é mais próximo da linguagem de montagem. Tact fornece uma sintaxe de nível mais alto que se compila para bytecode da TVM e é mais fácil de ler. A maioria dos novos projetos TON usa Tact, a menos que precisem de controle mais detalhado.

Ilustração em quatro painéis dos conceitos da TVM: estrutura de dados de células, mensagens assíncronas, medição de gás, reembolso de gás
Visual inline 5: os quatro conceitos principais da TVM que todo desenvolvedor deve internalizar.

Um caminho de aprendizado prático

  1. Comece com tutoriais de Tact. A sintaxe de nível mais alto ajuda você a entender o modelo de mensagens primeiro.
  2. Leia uma implementação de Jetton. Contratos de mestre e carteira ilustram claramente o modelo assíncrono.
  3. Construa um pequeno contrato na testnet. Envie mensagens, observe como elas se propagam.
  4. Desça para FunC quando precisar otimizar gás ou ajustar o layout de células.
  5. Use uma ferramenta de rastreamento de execução da TVM para inspecionar a pilha e as mensagens durante o desenvolvimento.

Perguntas frequentes

A TVM é compatível com a EVM?

Não. Os modelos de execução, layouts de dados e sistemas de gás são diferentes. Algumas camadas experimentais de compatibilidade com a EVM existem, mas não são o caminho de desenvolvimento padrão.

Posso escrever contratos TON em Solidity?

O desenvolvimento nativo da TON usa FunC ou Tact. Alguns adaptadores permitem sintaxe semelhante à Solidity, mas a maioria do código de produção usa as linguagens nativas da TON.

Por que a TVM é baseada em pilha?

VMs baseadas em pilha são mais simples de especificar e verificar do que VMs baseadas em registradores, e facilitam o design de modelos de gás determinísticos. A EVM também é baseada em pilha pelos mesmos motivos.

O que é uma célula na TON?

A unidade básica de dados na TON. Uma célula contém até 1023 bits e até quatro referências a outras células. Tudo armazenado na TON é organizado como uma árvore de células.

Eu pago aluguel para armazenar dados na TON?

Sim. O aluguel de armazenamento é uma pequena taxa contínua proporcional à contagem de células e ao tempo. Contratos ativos mal notam isso; contratos abandonados podem drenar até zero e congelar.

Conclusão final: A TVM é a peça mais distintiva do design da TON. Uma vez que você entenda o layout de células, o modelo de mensagens assíncronas e o sistema de gás por mensagem, as outras peculiaridades da rede (sharding, taxas baixas, finalização rápida) fazem sentido como consequências naturais. Construa com o modelo, não contra ele.

Isenção de responsabilidade: Este guia é apenas para fins educacionais e não constitui aconselhamento de investimento, financeiro, legal ou de negociação.