Investigadores de la Universidad de Chile presentan técnica para estimar estadísticamente el consumo de ‘gas’ en transacciones de Ethereum
Una técnica desarrollada por un estudiante del Departamento de Ciencias de la Computación (DCC) de la Universidad de Chile podría acabar con el dolor de cabeza de muchos programadores en Ethereum, al abordar la estimación de gas en contratos inteligentes de Ethereum.
“Fuzzing to Estimate Gas Costs of Ethereum Contracts“ es el nombre de la investigación desarrollada por el estudiante de pregrado del DCC, Daniel Soto junto a los profesores Alexandre Bergel y Alejandro Hevia, el cual fue presentado en la ICSME 2020, una de las más importantes conferencias sobre mantención y evolución de software.
Según Soto, la estimación de cuánto gas costará ejecutar una función de un contrato sobre la máquina virtual de Ethereum es difícil, debido a que es Turing-Completa, “y no se puede determinar si una ejecución dada terminará o no“.
“Para intentar resolver este problema se crea una herramienta que apunta a generar estimaciones estadísticas sobre el consumo de gas de la función utilizando fuzz testing. Se ejecuta la función muchas veces con argumentos aleatorios y se genera una distribución de costos de gas obtenidos en las ejecuciones”, añade Daniel en la nota oficial presentada por la Universidad en su portal.
Con la herramienta desarrollada por Soto se podrá obtener una distribución de costos de gas de una función, permitiendo al usuario promedio determinar cuánto gas debería enviar al ejecutar la función para poder pagar por su ejecución y minimizar las opciones de que falle por gas insuficiente, con la consecuente pérdida de recursos, algo típico en estos días de alto congestionamiento de la red Ethereum.
“El trabajo usa un método novedoso para la estimación de gas, adaptando técnicas de fuzzing a un ambiente que cambia con cada ejecución“, complementa el autor de la investigación, aclarando que aún deben aplicarse algunas configuraciones a su técnica desarrollada.
Por su parte, el tutor Alexandre Bergel, encargado de presentar el trabajo en la International Conference on Software Maintenance and Evolution «ICSME 2020» en la sección de ideas nuevas y resultados emergentes, agregó que la conferencia es una de las “top en el campo de ingeniería de software. Aunque presentamos un paper corto, es un logro importante“, destacando la relevancia del trabajo presentado y desarrollado en la Facultad de Ciencias Físicas y Matemáticas de la Universidad.
Gas fee en Ethereum: un dolor de cabeza hoy en día
Con el creciente despegue de adopción de las aplicaciones descentralizadas sobre la red Blockchain de Ethereum, la segunda más importante después de Bitcoin, ha sido evidente las carencias de su escalabilidad que han denotado en un alto congestionamiento de su capacidad de procesar transacciones, estimadas actualmente en un promedio de unas 16 transacciones por segundo.
En consecuencia, los ‘mineros’, aquellos encargados de ejecutar el código Solidity -sobre el cual fue construido Ethereum-, para poder procesar y validar las transacciones cobran excesivamente altas tarifas – conocidas en la red como gas-, que ha denotado en un problema de costos y congestión sobre la altcoin más importante del ecosistema.
Si bien existen algunas herramientas online para estimar el costo del gas, para el usuario newbie y aquellos menos experimentados, resulta en muchos casos un dolor de cabeza estimar el precio del gas antes de ejecutar una llamada de contrato, y en muchos casos, difícilmente logrará editar las propiedades del monedero desde el cual ejecuta la transacción.
Pero no todo termina allí, debido a la alta congestión que presenta la red en sus momentos más álgidos de procesamiento, si el incentivo pagado al ‘minero‘ para ejecutar el contrato o la función específica dentro de un contrato inteligente no es la ‘esperada’ , un error de contrato se puede esperar con la consecuente pérdida de fondos «gas».
De allí la importancia de la técnica desarrollada por Daniel Soto junto al resto del equipo de investigación del DCC de la Universidad de Chile, que podría suponer en un ahorro de tiempo y recursos, especialmente para aquellos programadores encargados de generar aplicaciones sobre Ethereum en su primera capa.
Por ahora, el equipo de desarrollo detrás de la Fundación Ethereum no ha terminado de entregas su solución de escalado ETH 2.0, la cual se espera que permita mediante un cambio de algoritmo de consenso y la tecnología del ‘sharding’ procesar miles de transacciones por segundo, evitando así la sobrecarga de la red y por supuesto el excesivo cobro de ‘gas’ por parte de los mineros sobre la red.
Para colocar en contexto los números de ‘gas fee’ generados por los mineros, actualmente el promedio de este costo ronda los 85 Gwei «USD 0.60», con picos que han logrado emular al máximo registrado en el 2016 de 939 Gwei, en contraposición del promedio bajo ‘condiciones normales‘ de unos pocos centavos de dólar «20 Gwei».
Lo anterior supone en lo que va de año, en ingresos multi millonarios para los mineros en Ethereum, muy por encima de lo alcanzado por su pares sobre la red Bitcoin, históricamente la más costosa en cuanto a tarifas de transacción se refiere.
El pasado 01 de septiembre del 2020, Cointelegraph reportó que los mineros de Ethereum obtuvieron en honorarios en una sola hora, un récord de USD 500 mil, reportando datos entregados por Glassnode, una empresa de análisis de cadena.
Sigue leyendo: