Assembly series n° 1 – Smart Contracts

486

En esta serie de blogs vamos a familiarizarnos con Assembly, estudiando qué es esta nueva red, qué ofrece y cómo podemos utilizarla para construir proyectos que seguramente vendrán a revolucionar el espacio cripto con sus contratos inteligentes.

Nos basaremos en el material de la wiki de Assembly para esta y las siguientes entradas.

Qué es Assembly

Resumiendo, Assembly es una red multicadena escalable para contratos inteligentes que funcionará sobre IOTA. Esta red ofrecerá seguridad y permitirá realizar transacciones de cadenas cruzadas sin fees.

Assembly también será totalmente compatible con la Ethereum Virtual Machine (EVM), lo que quiere decir que se podrá programar utilizando Rust y lenguajes como Rust, TiniGo o TyoeScript. Esto permitirá a los desarrolladores aprovechar al máximo las caraterísticas flexibles para personalizar ciertas cosas como los requisitos del validador, el lenguaje que poseerá el Smart Contract y otorgarle una estructura de tarifas o fees.

Assembly también tendrá su propio token nativo llamado $ASMB. La manera de obtener este token es haciendo staking de tus tokens IOTA en la billetera de Firefly (si no comenzaste aún quedan algunos días hasta que finalice). Con este método de distribución inicial, aproximadamente el 70% de los tokens se distribuirán a la comunidad.

Smart Contracts hoy

No hay magia en un contrato inteligente. Piensa en lo que es un blockchain: es sólo una bola de datos sobre transacciones que tiene reglas estrictas sobre cómo añadir nuevas transacciones. Añade unos cuantos gigabytes de espacio vacío y las reglas para editar este espacio, y obtienes una blockchain capaz de realizar contratos inteligentes: una cadena de contratos inteligentes.

Como su nombre indica, las cadenas de bloques funcionan en bloques. Los bloques tardan en calcularse y sólo pueden caber tantas transacciones en un solo bloque. Cuando hay demasiadas transacciones, los mineros tienen que elegir qué procesar primero, y naturalmente escogerán las transacciones que ofrezcan el mayor soborno. Otras tendrán que esperar hasta que haya una pausa en las solicitudes. Las cadenas de bloques funcionan muy bien a pequeña escala, pero la mayoría de ellas se tambalean cuando se trata de la economía mundial.

Una solución común es dividir la red en dos capas: una única criptomoneda popular como Ethereum en la capa 1, y cientos de cadenas de contratos inteligentes relativamente impopulares en la capa 2. La capa 2 realiza la mayor parte del trabajo y utiliza la capa 1 para la comunicación y la protección.

Este modelo de dos capas amplía la capacidad de la red, pero sigue habiendo un límite. En algún momento podrías tener tantas cadenas de Capa 2 que empezarían a congestionar la Capa 1. Te encontrarás con el mismo problema, pero a una escala diferente.

IOTA Smart Contracts, el protocolo subyacente de Assembly, también utiliza el modelo de dos capas, con IOTA Tangle como primera capa. Tangle no es una cadena de bloques, por lo que se comporta de forma diferente. Funciona más rápido a medida que se hace más grande y no cobra comisiones por sus transacciones, lo que lo convierte en una capa 1 perfecta.

El Mercado Mundial

Aunque el modelo de dos capas es técnicamente sólido, introduce otro problema. En un sistema de una sola capa, los validadores ejecutan los contratos inteligentes mientras mantienen la red (calculando los bloques). Hay una forma sencilla de convencer a un validador para que procese tu solicitud de contrato inteligente: sólo tienes que pagar un extra en tu tarifa de transacción.

Con el modelo de dos capas, tienes que crear tu propia cadena de contratos inteligentes y tu propio comité de validadores. Tienes que buscar candidatos, decidir si puedes confiar en ellos y convencerlos de que trabajen para ti. No puedes pagarles con los tokens de tu cadena porque no tienen valor, así que necesitas alguna moneda externa y una forma de transferirla entre tus usuarios, tu cadena y tus validadores. Esta dinámica es compleja, pero crea un mercado diverso y vibrante.

Esto es lo que es Assembly: un mercado abierto en el que se reúnen propietarios de cadenas, validadores y usuarios. Su base técnica es lo suficientemente grande como para albergar toda la economía del mundo, lo suficientemente segura como para que puedas vender casas y lo suficientemente barata como para que puedas utilizarla para comprar una botella de cerveza… o un trozo de rascacielos.

Contratos Inteligentes – Maquina Virtual

Todos los contratos inteligentes son deterministas, lo que significa que con la misma entrada siempre se obtendrá la misma salida. Puedes demostrar trivialmente que alguien hace trampa ejecutando tú mismo el contrato inteligente y comparando los resultados.

Los contratos inteligentes se ejecutan en una máquina virtual de contratos inteligentes. Ésta controla totalmente lo que los contratos pueden hacer y los datos que pueden leer. Un contrato inteligente no tiene acceso al exterior de la máquina, por lo que no puede distorsionar sus resultados basándose en datos como la hora local o la dirección IP.

Una máquina virtual posee estados. Los contratos inteligentes cambian ese estado para registrar su salida, y el nuevo estado se propaga entonces a través de la red. La máquina necesita una forma segura de almacenar y compartir su estado, por lo que lo escribe en una cadena de bloques, que llamamos cadena de contratos inteligentes.

Algunas soluciones de contratos inteligentes, como Ethereum, escriben el estado directamente en la cadena de bloques principal. Otras (como Polkadot) separan las cadenas de contratos inteligentes de la red principal.

Protocolo de Contratos Inteligentes IOTA

Las cadenas de contratos inteligentes separadas son más baratas, pero son más susceptibles a los ataques ya que son más pequeñas que la red principal. Una forma de proteger una cadena es hacer que comprometa su estado a una red mayor.

Para confirmar el estado, la cadena realiza una transacción en la red principal que contiene un hash de su estado actual. Cualquiera que tenga una copia del estado del contrato inteligente puede calcular su hash y compararlo con el valor comprometido. Si los hash coinciden, la copia es válida.

Para identificar el último mensaje de compromiso en la Tangle, hay que reservar un único token al crear una nueva cadena. La cadena entonces mueve este token con cada transacción – lo que significa que la última transacción con ese token contiene el estado de la última cadena.

El validador de cada cadena tiene un control parcial sobre el token de esa Tangle. Para comprometer el nuevo estado, necesitan acordar colectivamente ordenar una nueva transacción.

Eso es todo lo que define el protocolo de contratos inteligentes de IOTA. Los propietarios de la cadena en Assembly son libres de decidir qué máquina de estado utilizan, quién puede validar los contratos inteligentes en esa cadena y cómo atraen a los validadores a su cadena.

Assembly Layers

Para más información, consulta el repositorio de Contratos Inteligentes de IOTA o el Whitepaper de Contratos Inteligentes de IOTA.

Nota: El protocolo de Assembly está actualmente en desarrollo. Las especificaciones de este y de las siguientes series describen un prototipo de investigación y, como tal, están sujetas a cambios. Por favor, asegúrese de que está utilizando la última versión de los documentos para construir.

Fuentes:

https://iotahispano.com/anunciando-assembly-una-red-para-smart-contracts-y-su-token-asmb/

Assembly Wiki

 

 

Comentarios

comentarios

pasarela de pagos con criptomonedas