Diseño de contratos inteligentes en tiempos de redes congestionadas

En este artículo, entendamos qué significa el gas Ethereum y por qué se ha disparado recientemente. Después de eso, veremos cómo otras plataformas de contratos inteligentes como RSK y EOS lidian con los precios del gas cuando se trata del diseño de contratos inteligentes..

Ethereum tiene un problema de gas. Por divertido que parezca, podemos asegurarle que los desarrolladores están haciendo cualquier cosa menos reírse de esa declaración..

La creciente demanda de Aplicaciones de DeFi (finanzas descentralizadas) ha aumentado la congestión en la cadena de bloques principal de Ethereum. Esto, a su vez, ha disparado los precios del gas en la cadena principal. Según Bitinfocharts, las tarifas medias de transacción se han disparado a sus niveles más altos desde principios de 2018.

Contrato inteligente y máquina virtual Ethereum (EVM)

Los contratos inteligentes son contratos automatizados. Son autoejecutables con instrucciones específicas escritas en su código, que se ejecutan cuando se cumplen ciertas condiciones..

Puede obtener más información sobre los contratos inteligentes en nuestra guía detallada aquí.

Los contratos inteligentes son la forma en que se hacen las cosas en el ecosistema Ethereum. Cuando alguien quiere realizar una tarea en particular en Ethereum, inicia un contrato inteligente con una o más personas..

Los contratos inteligentes son una serie de instrucciones escritas utilizando el lenguaje de programación “solidez”, que funciona en base a la lógica IFTTT, también conocida como SI-ESTE-ENTONCES-ESA lógica. Básicamente, si se realiza el primer conjunto de instrucciones, ejecute la siguiente función y luego la siguiente y siga repitiendo hasta llegar al final del contrato..

Este es el principio fundamental detrás de los contratos inteligentes. Esto es lo que nos permite tener un acuerdo vinculante entre varias partes supervisadas por código, en lugar de un tercero, como un abogado..

¿Qué es la máquina virtual Ethereum??

Las máquinas virtuales de Ethereum son ecosistemas en los que ejecuta contratos inteligentes. La funcionalidad adecuada de los contratos inteligentes requiere tres cosas importantes:

  • Determinista.
  • Terminable.
  • Aislado.

Característica # 1: determinista

Un programa es determinista si da la misma salida a una entrada dada cada vez. P.ej. Si 3 + 1 = 4 entonces 3 + 1 SIEMPRE será 4 (asumiendo la misma base). Entonces, cuando un programa da la misma salida al mismo conjunto de entradas en diferentes computadoras, se llama determinista.

Característica # 2: Terminable

En lógica matemática, tenemos un error llamado “problema de detención”. Básicamente, establece que existe una incapacidad para saber si un programa dado puede ejecutar su función en un límite de tiempo. Obviamente, esto es un problema con los contratos inteligentes porque los contratos, por definición, deben poder rescindirse en un límite de tiempo determinado. Los contratos inteligentes necesitan un entorno en el que puedan integrar un mecanismo de detención.

Característica # 3: Aislado

En una cadena de bloques, cualquiera y todos pueden cargar un contrato inteligente. Sin embargo, debido a esto, los contratos pueden, a sabiendas y sin saberlo, contener virus y errores. Si el contrato no es aislado, esto puede obstaculizar todo el sistema. Por lo tanto, es fundamental que un contrato se mantenga aislado en una caja de arena para salvar a todo el ecosistema de cualquier efecto adverso..

Ethereum proporciona todas estas funcionalidades a través del EVM. Es una máquina virtual Turing Complete de 256 bits simple pero potente.

¿Qué es Ethereum Gas??

El gas es una unidad que mide la cantidad de esfuerzo computacional que se necesitará para ejecutar ciertas operaciones. Todos los contratos inteligentes que se ejecutan en el EVM están codificados usando solidez (Ethereum planea pasar a Viper desde Solidity en el futuro). Todas y cada una de las líneas de código en solidez requieren una cierta cantidad de gas para ser calculadas..

La imagen a continuación ha sido tomada de la página amarilla de Ethereum y puede usarse para tener una idea aproximada de cuánto cuestan las instrucciones específicas en términos de gas..

Imagen de cortesía: Papel amarillo Ethereum

Para comprender mejor cómo funciona el gas en Ethereum, usemos una analogía. Suponga que va de viaje. Antes de hacerlo, siga estos pasos:

  • Vas a la gasolinera y especifica la cantidad de gasolina que quieres llenar en tu coche..
  • Obtienes esa gasolina llena en tu auto.
  • Le pagas a la gasolinera la cantidad de dinero que les debes por el gas.

Ahora, establezcamos paralelismos con Ethereum.

El coche es la operación que quieres ejecutar, como un gas o un contrato inteligente..

El gas esta bien… .gas.

La gasolinera es tu minero.

El dinero que les pagaste son las tarifas del minero..

Todas las operaciones que los usuarios desean ejecutar en ethereum deben proporcionar gas para lo siguiente:

  • Para cubrir sus datos, también conocido como gas intrínseco.
  • Para cubrir todo su cálculo.

Ahora que hemos cubierto los conceptos básicos básicos, tal vez esté haciendo la siguiente pregunta.

¿Por qué tenemos este sistema de gas??

La respuesta es simple … incentivación.

Como cualquier sistema peer-to-peer de prueba de trabajo, Ethereum depende en gran medida del hashrate de sus mineros. Más mineros, más hashrate, más seguro y rápido el sistema.

Para atraer más mineros al sistema, necesitan hacer que el sistema sea lo más rentable y atractivo posible para los mineros. En Ethereum, hay dos formas en que los mineros pueden ganar dinero:

  • Extrayendo bloques y obteniendo recompensas en bloque.
  • Al convertirse en dictadores temporales de sus bloques minados.

Exploremos el segundo punto.

Los mineros son responsables de poner las transacciones dentro de sus bloques. Para hacerlo, deben usar su poder computacional para validar contratos inteligentes. El sistema de gas les permite cobrar una tarifa específica por hacerlo.

Esta tarifa se conoce como tarifa del minero y ayuda a incentivarlos lo suficiente para participar activamente en el ecosistema..

Entonces, ¿cuántas tarifas pueden cobrar? Antes de que podamos calcular eso, comprendamos cómo medimos el gas.

La unidad más pequeña de medida de gas es wei. Entonces, si gastamos 1 unidad de gas durante una operación, lo llamamos 1 wei.

Las unidades de medida aumentan así:

Credito de imagen: Steemit

Antes de continuar, es importante conocer el concepto de límite de gas..

¿Qué es el límite de gas??

Para realizar una operación en Ethereum, el generador de operaciones (es decir, la persona que inicia la transacción o el creador del contrato inteligente) debe especificar un límite de gas antes de enviarlo a los mineros. Cuando se haya definido un límite de gas, solo entonces los mineros comenzarán a ejecutar la operación.

Al enviar un límite de gas, se deben considerar los siguientes puntos:

  • Diferentes operaciones tendrán diferentes costos de gas (como se ha demostrado antes).
  • Los mineros dejarán de ejecutar en el momento en que se acabe el gas.
  • Si queda gas sobrante, será reembolsado inmediatamente al generador de operación..

Veamos esto en funcionamiento en un escenario hipotético.

Supongamos que estamos sumando dos números y para eso el contrato debe realizar las siguientes acciones:

  • Almacenando 10 en una variable. Digamos que esta operación cuesta 45 wei gas.
  • Añadiendo dos variables, digamos que esto cuesta 10 wei gas.
  • Almacenar el resultado que nuevamente cuesta 45 wei gas.

Suponga que el límite de gas es 120 wei.

El gas total utilizado por el minero es (45 + 10 + 45) 100 wei.

Las tarifas que se les adeuda asumiendo que 1 wei cuesta 0.02 micro ETH es (100 * 0.02 micro ETH) = 0.000002 ETH.

Ahora, cuanto gas queda?

120 – 100 = 20 wei.

Los 20 wei se devuelven al generador de operaciones..

Entonces, habiendo especificado eso, hay dos escenarios que uno debe considerar:

  • El límite de gas es demasiado bajo.
  • El límite de gas es demasiado alto.

Escenario n. ° 1: el límite de gas es demasiado bajo

Si una operación se queda sin gas, entonces se revierte a su estado original como si nada hubiera sucedido realmente, sin embargo, el generador de operaciones TODAVÍA debe pagar a los mineros la tarifa por sus costos computacionales y la operación se agrega a la cadena de bloques (incluso si no se ha ejecutado).

Volviendo a nuestra analogía del viaje por carretera, si no ha llenado suficiente gasolina en su automóvil, entonces no podrá llegar a su destino, pero incluso entonces le pagó a la estación de servicio el dinero por el combustible correctamente.?

Veamos cómo funciona esto en nuestro contrato inteligente de adición hipotética. Los pasos fueron:

  • Almacenando 10 en una variable. Digamos que esta operación cuesta 45 wei gas.
  • Añadiendo dos variables, digamos que esto cuesta 10 wei gas.
  • Almacenar el resultado que nuevamente cuesta 45 wei gas.

Sin embargo, esta vez, el límite de gas es 90 wei.

Ahora sabemos que el gas que se requerirá para cumplir con el contrato es de 100 wei, pero solo tenemos límite de 90 wel..

En este escenario, el minero hará 90 pesos de cálculo y luego cobrará las tarifas del generador de operación por los 90 pesos, que resulta ser (90 * 0.02 micro ETH) 0.000018 ETH.

Además, el contrato vuelve a su estado original y se agrega a la cadena de bloques..

Escenario n. ° 2: el límite de gas es demasiado alto

Entonces, ¿qué pasa si establecemos el límite de gas demasiado alto??

¿Eso tendría sentido hacerlo bien? Después de todo, lo que sobra se reembolsa al generador de operaciones correcto?

Eso suena bien en el papel, pero en realidad no funciona tan bien. Debe recordar que cada bloque en Ethereum tiene un límite de gas general. Los mineros solo pueden agregar operaciones que sumen ser menores o iguales al límite de gas del bloque.

Imagen cortesía: Hackernoon

Suponga que hay una transacción A que tiene un límite de gas de 42,000 y dos transacciones B y C que tienen límites normales de 21,000.

¿Qué tendrá más sentido para un minero poner en su bloque??

  • ¿Realizarán la transacción A y reembolsarán una gran cantidad de gas??
  • ¿O pondrán las transacciones B y C y devolverán poco o nada??

El segundo punto tiene más sentido para ellos económicamente bien?

Esta es precisamente la razón por la que tener un límite de gas inflado no es el camino sensato a seguir.

Gas alto y bajo versus tarifa alta y baja

Hasta ahora, debe quedar claro que el gas y el éter no son lo mismo. El gas es la cantidad de potencia computacional requerida, mientras que el éter es el precio también conocido como las TARIFAS que uno debe pagar por ese gas..

Ahora, con el conocimiento de todo lo que hemos obtenido hasta ahora, veamos ciertos escenarios de gas y tarifas.

  • Si una operación tiene poco gas, los mineros ni siquiera lo recogerán porque no tiene suficiente gas para terminar el cálculo..
  • Si una operación tiene tarifas BAJAS, entonces podría tener suficiente gas para cubrirla, pero aún así los mineros no estarán mordisqueando las cosas para recogerla porque una operación con tarifas bajas no es económicamente viable para ellos..
  • Si una operación tiene gas ALTO, significa que la operación está inflada con un límite de gas alto y, por lo tanto, los mineros no lo recogerán..
  • Si una operación tiene tarifas ALTAS, los mineros saben que ganarán mucho dinero y lo recogerán al instante..

Los precios del gas recomendados para diferentes tarifas de transacción, según Ethgasstation son:

Aumento de los precios de la gasolina de Ethereum

La cadena de bloques Ethereum ha experimentado un mayor uso en los últimos tiempos. Esto se debe al aumento en el uso de contratos inteligentes más complicados..

Según la gasolinera Ethereum, las monedas estables como USDT y los intercambios descentralizados como Uniswap son los contratos inteligentes más hambrientos de gas en el espacio. Este mayor uso hace que los usuarios paguen tarifas más altas para que sus transacciones se procesen más rápido. Como tal, cuando hay mucha actividad, las tarifas pueden subir rápidamente.

Para comprender cuán drástica es la situación, considere esto. Según Coin Metrics, en un momento dado, el costo promedio por transacción ha subido a un promedio de 7 días de aproximadamente 91 centavos, desde aproximadamente 8 centavos a principios de 2020. Connor Abendschein de Digital Assets Data señala:

“A partir de ahora, las altas tarifas del gas impiden que los jugadores más pequeños puedan participar en algunos de los protocolos más interesantes de DeFi, como Synthetix”.

Esto es una absoluta lástima porque Ethereum y DeFi van a construir un sistema financiero global abierto y de fácil acceso..

La peor parte es que este problema solo empeorará a medida que los protocolos DeFi más complicados y los usuarios ingresen al ecosistema..

Entonces, ¿cómo están lidiando los competidores de Ethereum con el problema del gas? Vamos a ver..

Diseño de contrato inteligente en EOS: modelo de propiedad

El sistema de gas Ethereum se puede considerar como un modelo de alquiler. Ethereum es una supercomputadora global, en la que alquila recursos (gas) para crear y ejecutar su aplicación.

EOS, por otro lado, usa un modelo de propiedad. En lugar de ser una supercomputadora descentralizada, EOS planea convertirse en un sistema operativo descentralizado que los desarrolladores de Dapp pueden utilizar para crear y codificar varios Dapps. Los tokens EOS actúan como una cabina de peaje, y mantenerlos le da acceso a varios recursos como ancho de banda, computación y RAM.

Dado que estos recursos son escasos, EOS no quiere que guarde sus tokens durante demasiado tiempo. La compañía detrás de EOS, Block.one, ha mencionado explícitamente en la constitución de la plataforma que los miembros de EOS que no usen sus tokens durante tres años podrían cancelar su cuenta..

Al apostar y bloquear los tokens EOS, se le proporciona una cantidad equivalente de recursos en la red y el ancho de banda de la CPU a cambio. Sin embargo, dado que la RAM es un recurso escaso, no se obtiene automáticamente apostando. Entonces, para obtenerlos, deberá comprarlo directamente en el mercado de RAM.

Cada vez que alguien compra o vende RAM, se aplica una tarifa del 0,5% tanto al comprador como al vendedor (1% en total). En realidad, esto brinda a los usuarios un incentivo económico para vender su RAM y desalienta el marketing especulativo y la inflación, ya que las tarifas cobradas se queman rápidamente (se eliminan del ecosistema).

Este mercado interno de RAM se asegurará de que haya una disponibilidad constante de RAM y compensará cualquier escasez prevista en el futuro. Podrá comprar RAM según el precio que el sistema establezca, según el suministro de RAM disponible actualmente.

Al comprar y utilizar estos recursos, los desarrolladores pueden crear aplicaciones descentralizadas..

Costos de desarrollo de EOS

A diferencia de Ethereum, no es necesario pagar los precios del gas en EOS. Debe apostar sus tokens EOS para recibir ancho de banda, CPU y almacenamiento para su contrato inteligente. Junto con todo esto, todavía necesitará RAM. Dado que la RAM es un recurso tan escaso, debe comprarlo en un mercado interno de RAM. De acuerdo a Planificador de recursos de EOS, RAM cuesta $ 0.154 USD por KiB

Entonces, con toda esa información en mente, veamos cuánto EOS tendrá que apostar para ejecutar una aplicación. Supongamos que vamos a hacer una aplicación para 1000 usuarios. Deberá considerar las siguientes métricas:

  • Paga por cada cuenta de usuario.
  • Tendrá que pagar por su almacenamiento
  • También deberá tener en cuenta el ancho de banda de la red y el ancho de banda de la CPU que también necesitará.

RSK – El puente entre Bitcoin y Ethereum – Diseño de contrato inteligente

Rootstock (RSK) es una plataforma de contrato inteligente que está conectado a la cadena de bloques de Bitcoin a través de la tecnología de cadena lateral. Rootstock nació para ser compatible con las aplicaciones de Ethereum (el modelo web3 / EVM / Solidity) y bitcoin como la criptomoneda subyacente. La idea detrás de la creación de RSK era dotar a la cadena de bloques de Bitcoin de funcionalidades de contrato inteligente. En esencia, Rootstock es una combinación de:

  • Una máquina virtual determinista contable de recursos completa de Turing (para contratos inteligentes) compatible con EVM de Ethereum.
  • Una cadena lateral de Bitcoin vinculada de dos vías (para el comercio denominado BTC) basada en una federación fuerte
  • Un protocolo de consenso de minería de fusión SHA256D (para la seguridad de consenso que depende de los mineros de Bitcoin) con un intervalo de bloque de 30 segundos. (para pagos rápidos).

RSK te permite construir puentes simbólicos que se conectan directamente a la cadena de bloques Ethereum. Esto permite al creador del contrato aprovechar las ventajas de ambas cadenas de bloques, pero también permite la creación de un ecosistema próspero e interoperable entre las dos..

Entonces, ¿cómo se traduce esto en los precios del gas?? RSK ha sido históricamente más barato que Ethereum cuando se trata de costos de gas.

La línea azul arriba es el precio del gas de Ethereum, mientras que la línea verde abajo es el precio del gas de RSK. Si necesita más aclaraciones sobre cuánto más eficiente en gas es RSK en comparación con Ethereum, consulte esto:

Aquí está el promedio. Comparación de tarifas de transacción de Ethereum y RSK durante los últimos diez días. Entonces, lo que esto significa es que no solo RSK es más barato, sino que también brinda la seguridad general de la cadena de bloques de Bitcoin, lo que le da una clara ventaja sobre Ethereum y EOS..

Conclusión

A medida que ingresamos a una era completamente nueva de innovación de DeFi y una adopción más amplia, los desarrolladores necesitarán una plataforma en la que puedan desarrollar sus aplicaciones de manera eficiente. Si bien nadie niega que Ethereum sea el primero en moverse, otras plataformas como RSK definitivamente han presentado casos sólidos como potenciales grandes bateadores del futuro. Si tenemos en cuenta el hecho de que desarrollar contratos inteligentes y todo tipo de tokens fungibles y tokens no fungibles es un proceso fluido en RSK, los desarrolladores tienen grandes incentivos para probar esta plataforma de contrato inteligente.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me