¿Qué es SputnikVM? El futuro de Ethereum Classic y el IoT

SputnikVM es una de las grandes innovaciones que nacen del arduo trabajo del equipo de desarrollo de Ethereum Classic y su ETC Labs Core.

La finalidad del desarrollo de SputnikVM es crear una nueva EVM (Ethereum Virtual Machine) para Ethereum Classic.

Para lograr esto, SputnikVM implementa las funcionalidades de la EVM original de Ethereum manteniendo la compatibilidad. Sin embargo, su diseño y codificación ha cambiado para adaptarse a los objetivos de sus desarrolladores: eficiencia, portabilidad y un bajo consumo de recursos computacionales. Gracias a esto, los desarrolladores apuntan a crear una VM capaz de adaptarse y desarrollar nuevos dispositivos IoT habilitados con la tecnología blockchain.

Otro punto adicional entre las funcionalidades de SputnikVM, es su compatibilidad con otras cadenas de bloques. Ciertamente, el proyecto está bajo la tutela de Ethereum Classic, pero sus desarrolladores han tomado la decisión de hacerla compatible también con Ethereum y otros proyectos basados ​​en su código. Con ello se abre la posibilidad de usar un SputnikVM en otras cadenas de bloques, como por ejemplo, PoA Network.

Sin duda, un grandioso desarrollo con enormes posibilidades, especialmente en casos industriales, empresariales y del hogar.

Características de SputnikVM

Entre las características más relevantes de este proyecto, se puede destacar:

  • Arquitectura de ejecución independiente. Esto significa que se puede iniciar como un proceso independiente o integrarse en otras aplicaciones, a diferencia de EVM que es monolítica. Esto permite la capacidad de ejecutar un SputnikVM de forma más modular.
  • Un desarrollo universal. SputnikVM tiene la capacidad de funcionar en diferentes blockchain compatibles con las selecciones de la EVM de Ethereum. Esto brinda la posibilidad de usar SputnikVM en otras cadenas de bloques compatibles. También significa que su portabilidad a otros proyectos compatibles con Ethereum es muy sencillo, como ocurre en el caso de PoA Network.
  • Pensada para ser veloz y eficiente. SputnikVM está pensando en ser una implementación eficiente de EVM. Con esto se busca minimizar el impacto en el uso desmesurado de recursos computacionales y garantizar una ejecución apropiada y respuesta a los contratos inteligentes en todo momento.
  • Compatible con IoT. Esto significa que SputnikVM puede estar integrado en dispositivos de muy baja potencia computacional. Con ello se busca diversificar y expandir el alcance de Ethereum Classic en distintos dispositivos, especialmente aquellos dirigidos al IoT.
  • Escrita en Rust. Rust es un lenguaje de programación centrado en la seguridad y el rendimiento. Debido a ello, SputnikVM puede disfrutar de ambas características de forma nativa.

¿Cómo funciona SputnikVM?

SputnikVM como toda maquina virtual, busca crear un nivel de abstracción entre el código escrito y la ejecución de dicho código. Asegurándose que bajo cualquier concepto, el código escrito siempre realice las mismas acciones bajo cualquier escenario de ejecución. Es decir, las máquinas virtuales buscan estandarizar y asegurar el procesamiento y ejecución del código que se les provee. Todo ello, de forma independiente a otros elementos que forman parte de la plataforma sobre la que se ejecuta.

Esto es muy importante en la tecnología blockchain. Pues con ello se garantiza una alta modularidad y resiliencia de todas las partes involucradas en la ejecución de contratos inteligentes y DApps.

En este punto, el funcionamiento de SputnikVM no se diferencia en absoluto al de Ethereum Virtual Machine (EVM). Ambas máquinas virtuales tienen el mismo objetivo: ejecutar el código de los contratos inteligentes de forma segura. Pero para lograr esto, ambas usan aproximaciones distintas a la solución. En este punto, no queda duda de que EVM es un desarrollo excelente pero su estructura le hacen poco apropiado para su uso en IoT. Para solventar esas fallas, se han creado distintas implementaciones, siendo SputnikVM una de las más prometedoras.

Pero para entender un poco más el funcionamiento de SputnikVM lo mejor es revisar algunas de las partes más importantes de la misma.

Lenguaje de programacion

En primer lugar, SputnikVM puede hacer uso del lenguaje de programación Solidity o Rust para sus contratos inteligentes. Con ello buscan mantener la compatibilidad con los contratos inteligentes ya creados. Por otro lado, la nueva interfaz en Rust mejoró en gran medida la eficiencia y seguridad de los mismos.

Soporte de códigos de operación

Los opcodes o códigos de operación, son un conjunto de instrucciones que sirven para ejecutar tareas específicas. EVM cuenta con una amplia variedad de códigos de operación. Estos le permiten computar casi cualquier cosa, contando con suficientes recursos. En este punto, la aproximación de SputnikVM es distinta. Para ello ofrece un soporte más reducido con 75 códigos de operación de momento. La finalidad tras esto es, ofrecer un soporte más reducido pero suficiente para ejecutar contratos inteligentes en dispositivos IoT.

Esta aproximación tiene dos puntos positivos:

  1. Hace más sencilla y pequeña la base de código de SputnikVM frente a EVM. Esto permite que las revisiones de seguridad y portabilidad de la misma sean más sencillas de realizar.
  2. Minimiza el uso de recursos por parte de la máquina virtual, haciendo posible usarla en dispositivos con muy poca potencia.

Capacidad para ejecución en sistemas embebidos

Esta es una de las mayores características de funcionamiento de SputnikVM. La capacidad de ejecutarse como parte de un sistema embebido es algo único de este desarrollo. Esto por ejemplo, le permitiría a SputnikVM ser parte integral de un conjunto sensor en una línea de producción. Desde allí, la máquina virtual puede estar en ejecución constante de su contrato inteligente. Revisando que se respete su programación en todo momento. Además de generar las acciones correspondientes que luego son guardadas en la cadena de bloques de la empresa para su revisión y auditoría.

certeza EVM tiene capacidades parecidas, pero su coste computacional es mucho mayor debido a la complejidad del mismo.

Un claro ejemplo de esta utilidad, es el proyecto SputnikVM sobre Rux. Rux es un microkernel pensado para sistemas IoT y que tiene la calidad de ser altamente modular y de código abierto.

Ejecución paralela

Otra gran diferencia en la forma de trabajo de SputnikVM es su capacidad de ejecutar tareas de forma paralela. Esto brinda un salto cualitativo a la hora de ejecutar el código de los smart contracts acelerando el proceso. Esto teniendo en cuenta que EVM realiza este proceso de forma secuencial, lo que obviamente tiene un impacto negativo en el rendimiento.

A pesar de esto, la paralelización en SputnikVM evita crear riesgos de seguridad en el tratamiento de los estados de las transacciones. Asegurándose en todo momento que las mismas serán tratadas de forma efectiva y sin contratiempos.

Ejemplo de uso para SputnikVM

Los principales casos de uso de SputnikVM están sobre todos centrados en dispositivos embebidos. Un buen ejemplo de la utilidad de este desarrollo puede ser el siguiente:

Limitaciones de SputnikVM

Pese a los grandes avances que SputnikVM representa a la hora de llevar la tecnología blockchain al IoT, este desarrollo en la actualidad presenta varias limitaciones, entre ellas:

  1. Se encuentra en un estado temprano de desarrollo. Muchas de sus capacidades aún no están del todo probadas y pulidas.
  2. De momento ofrece un soporte incompleto de los opcodes de EVM. Esta situación puede llevar a muchos desarrolladores a pensar que SputnikVM no es adecuado para sus proyectos. Sin embargo, el estado de desarrollo de SputnikVM puede cambiar esto a medida que el proyecto madure, tan solo para ofrecer 100% de compatibilidad y soporte.
  3. Su capacidad de paralelización está solo disponible bajo programación en Rust. Una situación que limita el desarrollo de smart contracts con capacidad de paralelización a este lenguaje. Solidity y EVM de momento, no ofrecen soporte para esta característica.
CriptoMundo

CriptoMundo.com es un medio digital independiente que difunde noticias y contenido sobre criptomonedas y tendencias emergentes de tecnologías financieras. Ofrece noticias, guías, artículos de opinión y gráficos en tiempo real.

Monedas

Bitcoin

Ethereum