Desarrollo de un prototipo Layer 2 para Ethereum

viernes 06 de agosto de 2021 - 10:43 GMT+0000

Trabajo de fin de Grado

Introducción

Blockchain es una tecnología que ha logrado suscitar el interés de numerosos sectores gracias a sus posibilidades, provocando que a día de hoy se utilice en una importante cantidad de proyectos de distinta índole. De entre todas las posibles cadenas de bloques, destaca Ethereum debido al concepto de “contrato inteligente”, programas que facilitan la ejecución de acuerdos.

No obstante, la tecnología presenta ciertos problemas de escalabilidad que dificultan la adopción de la misma en ciertos escenarios de uso que podrían beneficiarse de su implementación. Estos problemas se representan en la cantidad de interacciones por segundo que soporta la red y, a su vez, el coste de cada una de ellas.

Este trabajo de fin de grado presenta un prototipo de un sistema cuyo propósito es corregir los problemas de escalabilidad que presenta Ethereum aplicados a un caso de uso concreto.

Contexto

Este proyecto está dirigido a personas conocedoras e informadas en la tecnología Blockchain, especialmente Ethereum. Resulta fundamental el conocimiento de la terminología básica y del funcionamiento general de la tecnología. A su vez resulta relevante entender el por qué se afirma que Ethereum posee un problema de escalabilidad.

El prototipo se trata de una aproximación experimental de un protocolo de segunda capa de Ethereum. Estos mejoran la escalabilidad de la red principal al relegar parte de la carga computacional a un segundo entorno o capa que tramita a la red principal el resultado de las operaciones relegadas. En la práctica, existen varios de estos protocolos, cada uno de ellos con sus características y desventajas que los adecuan en mayor o menor medida a ciertos casos de uso. El trabajo de fin de grado introduce brevemente los principales existentes e identifica el prototipo como uno de ellos. Además, el proyecto también presenta un escenario de uso hipotético y profundiza sobre el sistema desarrollado, incluyendo la arquitectura general ideada y las decisiones de diseño tomadas para todos y cada uno de los componentes.

Resumen del proyecto

El objetivo del prototipo es obtener los mejores resultados de escalabilidad posibles, tanto en transacciones por segundo como en el coste de gas por cada una de estas transacciones.

Los componentes definidos se corresponden con los esenciales y fundamentales que se pueden identificar en el protocolo de segunda capa en el que se basa el prototipo. Estos están dirigidos a la captación de las transacciones que efectúan los usuarios, la modificación y realización de los cálculos pertinentes y al envío de información desde la segunda capa a la red principal. Esta información es una versión resumida de las operaciones que han efectuado los usuarios así como una prueba criptográfica que corrobora la veracidad de la información tramitada.

Además del diseño de la arquitectura, se indican las distintas decisiones de diseño tomadas, junto con su planteamiento y efecto en el sistema general. En varias ocasiones, se contrastan varias alternativas y se justifica por qué se elige una frente a otras. Algunas de estas decisiones de diseño son generales, es decir, afectan al sistema en su conjunto.

Visto los aspectos generales del prototipo, se especifican los detalles de implementación de cada uno de los componentes del mismo, destacando los elementos más significativos y justificando las decisiones de diseño tomadas.

Acto seguido, se muestran los resultados obtenidos por el sistema en su funcionamiento y se comparan a los que presenta la red principal de Ethereum para justificar la mejora de escalabilidad, realizando las aclaraciones y puntualizaciones que se consideren oportunas. Estos resultados demuestran la viabilidad de los protocolos de segunda capa como soluciones a los problemas de escalabilidad que presenta la tecnología.

Más información

La memoria del trabajo está disponible al público en el Repositorio Institucional de la Universidad de La Laguna.