¿Qué es la TRON Virtual Machine (TVM)?

TronWallet Support
4 min readSep 17, 2019

--

Introducción a la máquina virtual TRON (TVM)

TRON Virtual Machine (TVM) es una máquina virtual completa ligera de Turing desarrollada para el ecosistema TRON. Su objetivo es proporcionar a millones de desarrolladores globales un sistema blockchain personalizado que sea eficiente, conveniente, estable, seguro y escalable.
TVM se puede conectar sin problemas con el ecosistema de desarrollo existente y es compatible con DPOS. TVM puede ser compatible con el entorno EVM al principio, por lo que, en lugar de aprender un nuevo lenguaje de programación, los desarrolladores pueden desarrollar, depurar y compilar contratos inteligentes en un entorno Remix con Solidity y otros idiomas. Una vez que haya construido y cargado su contrato inteligente en el mainnet de TRON, se ejecutará en el TVM del nodo SR para aislarlo de las conexiones externas.
Además, TVM emplea el concepto de ancho de banda. A diferencia del mecanismo de gas en EVM de Ethereum, las operaciones de transacciones o contratos inteligentes en TVM son gratuitas, sin tokens consumidos. Técnicamente, la capacidad de cálculo ejecutable en TVM no está restringida por la retención total de tokens.

Características de TVM

  1. TVM adopta una arquitectura liviana con el objetivo de reducir el consumo de recursos para garantizar el rendimiento del sistema.

2. Estabilidad y seguridad con un paradigma de diseño minucioso y un código de operación subyacente detallado, TVM puede garantizar la precisión de cada paso de un cálculo, disminuyendo la ambigüedad en la mayor medida posible. Por razones de seguridad, las transferencias y el contrato inteligente cuestan solo puntos de ancho de banda, no TRX, lo que exime a TRON de ser atacado de manera similar a Ethereum por su modo de consumo de gas. La estabilidad del consumo de ancho de banda se logra mientras que el costo de cada paso computacional es fijo.
3. Compatibilidad Actualmente, TVM es compatible con EVM y estará con más VM principales en el futuro. De este modo, todos los contratos inteligentes en EVM son ejecutables en TVM. Al conectarse sin problemas con el ecosistema de desarrollo existente, los desarrolladores pueden lograr una mayor eficiencia. No es necesario aprender un nuevo lenguaje de programación, pueden usar lenguajes de programación convencionales para contratos inteligentes como Solidity para desarrollar, depurar y compilar contratos inteligentes en el entorno Remix, lo que reduce en gran medida los costos de desarrollo.
4. Fácil para el desarrollador Gracias a la configuración de ancho de banda de TVM, los costos de desarrollo se reducen y los desarrolladores pueden enfocarse en la lógica de su código de contrato. TVM también ofrece interfaces todo en uno para la implementación, activación y visualización de contratos, para comodidad de los desarrolladores. Las siguientes interfaces están disponibles en Tron Wallet-CLI:

• deploycontract (password, contractAddress, ABI, código, datos, valor)
• triggercontract (password, contractAddress, selector, data, value)
• getcontract (contractAddress) Los desarrolladores pueden llamar a estas interfaces para implementar, activar o verificar contratos inteligentes.

Cómo funciona TVM

El diagrama de flujo anterior muestra cómo funciona TVM:
Compilación del contrato inteligente Tron → ejecución y motores de computación de VM → Capa de servicio de interoperación para interfaces externas

En pocas palabras, el flujo es el siguiente:

Actualmente, TVM es compatible principalmente con Solidity. El compilador traduce el contrato inteligente Solidity en bytecode legible y ejecutable en TVM.
Una máquina virtual procesa datos a través de código de operación, que es equivalente a operar una lógica de una máquina de estado finito basada en pila.
TVM accede a los datos de la cadena de bloques e invoca la interfaz de datos externos a través de la capa Interoperación.

Desarrollo futuro de TVM

Más herramientas de depuración amigables para desarrolladores de Tron se comprometerá con el desarrollo de herramientas de depuración optimizadas y el establecimiento de símbolos y formatos de datos estandarizados, para una mejor eficiencia del desarrollador.
Cumplimiento de demandas de procesamiento diversificadas. Diferente del mecanismo de consumo de gas para cada transacción en EVM, no hay ningún cargo en TVM. Cada operación solo ocupa ancho de banda, que se liberará dentro de un cierto período de tiempo después de la finalización de la transacción. A los desarrolladores les cuesta muy poco desarrollar contratos inteligentes con una lógica más compleja. Creemos que, además de utilizarse para transacciones de activos digitales, los contratos inteligentes también podrían aplicarse de manera adecuada a áreas como el desarrollo de juegos, el modelado de riesgos financieros y la informática científica. El diseño de TVM admite inherentemente tareas de varios escenarios y optimizaciones adicionales de velocidad de procesamiento, tiempo de respuesta y compatibilidad de coma flotante.
Mejora de la velocidad de compilación Just-In-Time (JIT) e integración de WebAssembly

La mejora de la velocidad de compilación de JIT permite una interpretación más rápida y una compilación optimizada del código local.
Mientras tanto, Tron planea optimizar aún más su TVM basado en WebAssembly (WASM). WebAssembly, encabezado por Apple, Google, Microsoft y Mozilla, está diseñado para romper cuellos de botella de los navegadores web actuales y se puede generar mediante la compilación de C / C ++ y otros lenguajes de programación.
Integrando WASM, TVM podrá proporcionar alto rendimiento y alto rendimiento para blockchain para hacer frente a escenarios complejos.

Reference: https://github.com/tronprotocol/Documentation/blob/master/English_Documentation/TRON_Virtual_Machine/Virtual_Machine_Introduction.md

--

--