Nuestros contratos inteligentes: Rust + Wasm – The Power Official Blog

Este post tiene como objetivo resaltar nuestra visión y nuestro tipo de contrato inteligente. Por supuesto, para hacerlo, tendríamos que sacar algunas notas generales e importantes del camino.

Dicho esto, comencemos con la definición de un contrato inteligente. De hecho, sin embargo, podemos dividir fácilmente los contratos inteligentes en dos grupos separados. El primer tipo se definiría como un script que puede ejecutar ciertos tipos de interacciones. El segundo grupo define los contratos inteligentes como un programa completo que es capaz de ejecutar casi cualquier tipo de interacción, incluso si no se incluyera en la lógica del programa.

Además, todos los contratos inteligentes también podrían dividirse en dos grupos diferentes por la forma en que se guardan en la cadena de bloques. El primer tipo de contratos inteligentes se inserta en el código de la cadena de bloques (por ejemplo, Graphene), mientras que el segundo tipo se guarda en la cadena de bloques y se ejecuta por razones de seguridad dentro de una Máquina Virtual (VM).

Nosotros, desde The Power, decidimos romper las limitaciones del script. Como tales, nuestros contratos inteligentes son programas completos que se guardan en la cadena de bloques.

El ejemplo más popular de una máquina virtual en la comunidad de es EVM – Ethereum Virtual Machine. Por supuesto, podríamos elegir fácilmente la forma sencilla y utilizar EVM junto con contratos inteligentes creados con Solidity. Pero como ya puedes adivinar, elegimos otra manera. Y he aquí por qué.

Después de que exploramos EVM a fondo, decidimos construir nuestra propia VM basada en Wasm. El código EVM que está inextricablemente vinculado a la cadena de bloques de Ethereum tiene limitaciones críticas para su implementación en nuestra propia cadena de bloques. Además, decidimos que Wasm, en términos de tecnología, tiene más perspectiva que EVM. Como resultado, nuestra opinión fue respaldada por muchos proyectos populares de .

Según Wikipedia:

“WebAssembly (Wasm, WA) es un estándar web que define un formato binario y un formato de texto similar a un ensamblado para un código ejecutable en páginas web. Está destinado a permitir la ejecución de código casi tan rápido como ejecutar código de máquina nativo. Fue concebido para complementar JavaScript para acelerar partes de aplicaciones web críticas para el rendimiento y más adelante para permitir el desarrollo web en otros idiomas además de JavaScript ".

A pesar de que Wasm está desarrollado para uso en la Web, su plan de trabajo también menciona la implementación de IoT y el desarrollo de aplicaciones de subprocesos múltiples. Wasm es el resultado de largos años de trabajo conjunto de W3C, un consorcio de expertos en tecnología Microsoft, Google, Apple y Mozilla.

También es importante tener en cuenta que Wasm es compatible con una familia de programas de compilación como LLVM (Máquina virtual de bajo nivel). Si un dispositivo contiene tal programa de compilación, Wasm puede ejecutarse fácilmente en él. Por ejemplo, en un teléfono inteligente.

Puedes leer acerca de Wasm aquí y aquí.

Por cierto, Ethereum anunció que cambiarán a Wasm, mientras que EOS ya usa Wasm (con C ++).

Entre los idiomas que son compatibles con Wasm Rust se eligió por una variedad de razones diferentes, que incluyen pruebas integradas, refactorización simple, una universalidad del idioma y, por último, pero no menos importante, tiene una serie de limitaciones para que los desarrolladores prevengan errores en el proceso. de programas de escritura. En pocas palabras, escribir un programa con errores es mucho más difícil de lograr mientras se usa Rust. Además, observamos un creciente interés en Rust: la paridad, por ejemplo, se ha trasladado a Rust y Wasm.

Actualmente, hemos desarrollado la versión alfa de la Power_VM – un shell de programa que enlaza programas basados ​​en Wasm con la cadena de bloques The Power.

Ahora, nuestro contrato inteligente podría compilarse en código Wasm, insertarse en y ejecutarse dentro de The Power testnet. Ya probamos contratos inteligentes que son análogos del estándar ERC-20.

En el futuro, planeamos desarrollar un mercado con muestras de contratos inteligentes para brindar a los usuarios normales la oportunidad de usarlo para una variedad de propósitos.

Ahora, estamos desarrollando un nuevo tipo de contrato inteligente. Lo llamamos DApp 2.0 ya que es una aplicación descentralizada de pila completa. ¡Le rogamos que sea paciente y se divulgará en un futuro próximo!

Estamos esperando sus comentarios y pensamientos! Hemos dedicado el chat de Telegram para desarrolladores, ¡comparta sus ideas y haga preguntas!