TONboard

Máquina Virtual TON

2 min readupdated 2026-06-03✏️ Suggest an edit🕑 History
🌐 Машинный перевод. Возможны неточности.
On this page (13)

La Máquina Virtual de The Open Network (TVM) es la infraestructura que ejecuta contratos inteligentes y procesa mensajes dentro de la red TON, garantizando determinismo y compatibilidad retroactiva.

Descripción general#

TVM actúa como una máquina de pila que recibe mensajes, actualiza datos persistentes y genera nuevos mensajes. Sus requisitos incluyen soporte para extensiones futuras, alta densidad de código y ejecución determinista.

Historia y evolución#

  • La primera versión de TVM fue desarrollada por el equipo de Telegram en 2018 y lanzada junto a la testnet de TON.
  • En marzo de 2020 se publicó una documentación técnica detallada que describía el soporte de tipos de datos y optimizaciones.
  • La red principal se activó en 2020, momento en que TVM ya soportaba operaciones más complejas y ejecución totalmente determinista.

Componentes básicos#

Notaciones y serialización

TVM representa datos en notaciones hexadecimales y en secuencias de octetos, ajustando la longitud para que sea múltiplo de 4 o 8 bits según corresponda.

Modelo de pila

Como máquina de pila, TVM almacena valores en una estructura LIFO; las operaciones aritméticas y de manipulación de datos operan directamente sobre esta pila.

Tipos de valores

  • Integer: enteros con signo de 257 bits.
  • Cell: contenedores de hasta 1023 bits y 4 referencias.
  • Tuple, Slice, Builder, Continuation, Null: tipos auxiliares para estructurar y ejecutar código.

Instrucciones

Las instrucciones se agrupan en primitivas de pila y tuplas, constantes, aritméticas, de celdas, de control de flujo y personalizadas, permitiendo construir lógica compleja dentro de la VM.

Celdas de TVM#

Las celdas son unidades de almacenamiento persistente; cada una puede contener datos y referencias, formando un grafo acíclico dirigido (DAG). Existen celdas normales y celdas exóticas con tipos especiales.

Continuaciones y control de flujo#

Las continuaciones almacenan el estado de ejecución y permiten llamadas a subrutinas, bucles y manejo de excepciones mediante instrucciones como JMP y RET. Existen continuaciones normales, simples y actuales, cada una con diferentes niveles de información almacenada.

Páginas de código#

Cada continuación incluye un campo de 16 bits que indica la página de código a usar, facilitando la compatibilidad entre distintas versiones de TVM y permitiendo cambios automáticos de codificación según la operación.

Comparación con la EVM#

  • Estructura de datos: TVM usa celdas (hasta 128 bytes) y grafos DAG, mientras que la EVM emplea Merkle Patricia Trie y enteros de 256 bits.
  • Seguridad aritmética: TVM verifica automáticamente desbordamientos; en la EVM esta verificación debe implementarse manualmente.
  • Criptografía: TVM soporta Curve25519, emparejamientos Weil y SHA‑256; la EVM utiliza secp256k1 y Keccak‑256.
  • Lenguaje: TVM se programa principalmente con FunC, a diferencia de Solidity en la EVM.

Enlaces externos#

  1. Máquina virtual de TON
  2. Instrucciones TVM
  3. Visión general de TVM
  4. TVM vs EVM

Véase también#

ℹ️ Información verificada: 2025

Necesita actualización (3)
  • VERIFY 2025– versión inicial de TVM.
  • VERIFY 2025– documentación técnica detallada.
  • VERIFY 2025– puesta en marcha de la red principal.

Prepared by

TONboard

Support the project with a TON tip.

Comments

Posting a comment costs a small on-chain fee that keeps spam out.
  • No comments yet — be the first.