¿Por qué Gear utiliza WebAssembly?

Descripción

WebAssembly (WASM) es un estándar desarrollado por el W3C Community Group, que define un formato de código binario de bajo nivel para programas ejecutables que corren en los navegadores. Aunque fue desarrollado para permitir que las aplicaciones de alto rendimiento se ejecuten en los navegadores, también puede funcionar como una máquina virtual independiente.

Los ejecutables de WebAssembly están precompilados, lo que permite utilizar una gran variedad de lenguajes de programación para crear y ejecutar aplicaciones en los navegadores. No hay preferencias para los lenguajes y actualmente docenas de ellos pueden compilar, o tener sus VM, en WASM. Además, WASM es independiente del hardware y puede compilarse en cualquier arquitectura moderna, en ordenadores de sobremesa e incluso en dispositivos móviles, aunque con algunas limitaciones.

Rápido y seguro

El objetivo principal de WebAssembly es proporcionar código ejecutable en los navegadores con un rendimiento casi nativo. Los formatos binarios se utilizan porque se transmiten más rápido al ser más pequeños que los formatos típicos de texto y código nativo. Esto significa que los programas pueden transmitirse, cobrarse y consumirse por separado, ya que se dividen en partes más pequeñas y ejecutan tareas paralelas independientes. El código también se valida y se ejecuta en un entorno seguro para la memoria y en un ambiente de prueba que evita la corrupción de los datos y las violaciones de la seguridad.

WASM para blockchains

No es ningún secreto que una de las claves para una mayor adopción de cualquier red blockchain es maximizar la escalabilidad. Esto se debe a que el aumento de la velocidad y el rendimiento de las transacciones se traducirá en una reducción de los costos de las mismas. Los blockchains heredadas tienen serios problemas de escalabilidad y, por ello, tienen costos de transacción crecientes. Las tecnologías anteriores que se encargaban de la ejecución del bytecode de los contratos inteligentes ya no son lo suficientemente rápidas, y demuestran una baja eficiencia al compilar una gran cantidad de código. Esto significa que hay un importante margen de mejora.

WASM aumenta significativamente la velocidad de las transacciones, lo que contribuirá a mejorar la eficiencia. Además, WASM admite contratos inteligentes escritos en diferentes lenguajes, lo que significa que cualquiera puede tomar un programa existente o escribir uno nuevo en un lenguaje conveniente y compilarlo para su ejecución en la máquina virtual WebAssembly. Esto aumenta significativamente la inclusividad de las aplicaciones en comparación con las soluciones basadas en lenguajes específicos del dominio.

Consideraciones de seguridad

WebAssembly por sí mismo no proporciona acceso al entorno informático en el que se ejecuta el código. Cualquier interacción con el entorno, como la Entradas/Salidas, el acceso a recursos o las llamadas al sistema operativo, sólo puede realizarse invocando funciones proporcionadas por la implementación de WebAssembly incrustada en un entorno de servidor e importada en un módulo de WebAssembly.

Dicha implementación define cómo se inicia la carga de los módulos, cómo se proporcionan las importaciones y cómo se puede acceder a las exportaciones. Asume la responsabilidad de las políticas de seguridad adecuadas para un entorno respectivo, controlando o limitando qué capacidades funcionales pone a disposición para la importación.

Dado que WebAssembly está diseñado para ser traducido a código máquina que se ejecuta directamente en el hardware del equipo, es potencialmente vulnerable a los ataques de canal lateral a nivel de hardware. Cuando esto es una preocupación, una implementación de WASM integrado puede tener que realizar las mitigaciones adecuadas para aislar los cálculos de WebAssembly.

Los investigadores han informado previamente de posibles vulnerabilidades relacionadas con hilos con memoria compartida. Gear, que utiliza WebAssembly como parte de su tecnología, no está sujeto a estas preocupaciones por diseño. Cualquier contrato inteligente de Gear es un programa de WebAssembly. Como sistema de computación concurrente, Gear utiliza la comunicación de paso de mensajes (el Modelo de Actor) en lugar del modelo de comunicación de memoria compartida. Esto reduce los problemas de seguridad.

Para estar al día de las últimas noticias y actualizaciones, consulta:

Página Web: www.gear-tech.io

Twitter: https://twitter.com/gear_techs

Telegram: https://t.me/gearcanalhispano

GitHub: https://github.com/gear-tech

Discord (general-es): https://discord.gg/9gfuJJVX

¡El equipo de Gear!

Materiales utilizados:

0
3pRHS4…ag9T9xPost author

Official Gear Protocol Subsocial account (Spanish)

0 comments

Official Gear Protocol Subsocial account (Spanish)