Blockchain | Educación
14 min read

El jueves 6 de junio se celebró el evento de clausura de la quinta edición del curso de Tecnologías Blockchain de la Universidad de Málaga. Un año más, el evento contó con la colaboración de Fortris, que cedió su espacio para la presentación en un evento abierto al público. Agradecemos a Antonio Tovar Quijada por la bienvenida y a Cristina del Álamo Trespaderne por su apoyo en la organización.

Bienvenida al evento por parte de Antonio Tovar de Fortris

Introducción al curso

Antes de la presentación de los proyectos, Isaac Agudo, CEO de Decentralized Security, hizo una introducción general sobre el desarrollo de esta edición para aquellas personas que no eran estudiantes del curso.

Introducción al curso de Tecnologías Blockchain por parte de Isaac Agudo de NICS Lab

La principal novedad de esta edición fue la modalidad semi-presencial, con aproximadamente 4 horas presenciales a la semana, repartidas en dos días alternos, generalmente martes y jueves.

Planificación Edición 2024

La principal novedad de esta edición fue la modalidad semi-presencial, con aproximadamente 4 horas presenciales a la semana, repartidas en dos días alternos, generalmente martes y jueves. Además, se reforzaron los contenidos sobre infraestructuras blockchain, incluyendo prácticas con redes Lightning usando Polar y capa 2 de Ethereum con Polygon CDK. Toda la información sobre el curso está disponible en la web.


Proyectos Presentados

Este año se presentaron cinco proyectos desarrollados por los estudiantes, abarcando desde pagos con Lightning Network hasta Account Abstraction en Ethereum. A continuación, un resumen de cada uno de ellos.

Punto de Venta usando Lightning Network

Coordinado por Clovr Labs, que lleva dos años apoyando el curso con becas para los estudiantes. Por parte de la empresa estuvieron Aleksandar Yabalkarov y Marcos F.

Marcos Fernández, de Clovr Labs, presentado el proyecto

El proyecto consistió en una aplicación iOS que permite a los comercios recibir pagos a través de Lightning Network, gestionar recibos y realizar reintegros usando la cámara de dispositivo y códigos QR para intercambiar información entre el punto de venta y la billetera Zeus del cliente. Los estudiantes Ana Gil Orozco, Ignacio Caballero Peñalver y Héctor Guzmán Arroyo fueron los responsables de su desarrollo.

Los casos de uso de LN son múltiples, al permitir pagos casi instantáneos y privados usando tu billetera Bitcoin.

Presentación de los casos de uso de LN por parte de Ana

Después de hacer un repaso de la tecnología, se entró en la demo donde se mostró la app en funcionamiento. La App está desplegada en un Ipad y en iPhone, que son los dispositivos que usa la tienda para realizar el cobro. El Ipad muestra el código QR de pago al cliente que será el encargado de hacer el pago usando una billetera compatible con LN, en la demo se usó Zeus. Como parte de la demo también se mostró cómo realizar una devolución, todo de manera instantánea usando la red LN.

Presentación de la demo por parte de Ignacio

Todo el código está disponible en este repo


Auditorías de Smart Contracts

Este proyecto fue coordinado conjuntamente entre Decentralized Security y José Carlos Ramírez, auditor Web3 y profesor del módulo de auditoría de Smart Contracts del curso. En representación de Decentralized Security, Marco López González presentó el proyecto. Los estudiantes que han participado en el proyecto han sido Juan Díez García, Martín Jerónimo Salvachúa y Manuel B. (de izquierda a derecha abajo en la foto)

Marco, de Decentralized, presentado el proyecto que han realizado los estudiantes

El trabajo se dividió en dos fases. Primero, los estudiantes exploraron a fondo el módulo de auditoría y analizaron Faillapop, un conjunto de Smart Contracts con vulnerabilidades diseñadas intencionalmente para su estudio.

Martin presentando el diagrama de interacciones de Faillapop

En la segunda fase los estudiantes tuvieron que elegir dos de las vulnerabilidades descubiertas y realizar para cada una de ellas un repositorio con un pequeño proyecto funcional donde, de forma aislada, se pueda trabajar esa vulnerabilidad. Como referencia los estudiantes partieron de un repositorio de ejemplo que desarrolló Marco López González para un taller de la Hackers Week que se realizó en la E.T.S.I. Informática – UMA en Marzo de 2024. El repositorio que se presentó fue el de una Lotería Vulnerable, un ejemplo simple de lotería donde tenemos dos roles principales, el dueño del sorteo y los usuarios que pueden comprar tickets. Una vez cerrada la lotería se elige a un ganador.

Diagrama del proyecto de Lotería Vulnerable

Cada proyecto incluye una descripción del contrato o contratos que incluye, sus métodos así como unos test que claramente no son suficientes como asegurar que el proyecto no tenga vulnerabilidades. Si tienes curiosidad por ver que vulnerabilidad se esconde en este proyecto no pierdas más tiempo y vete al repo, donde además tendrás un enlace al resto de ejercicios que se han desarrollado en este proyecto.


Billetera Ethereum MPC

Este proyecto ha sido coordinado por Fortris, que lleva dos años acompañando al curso, no solo con las becas sino también cediendo su ágora para realizar la presentación de los proyectos finales, como complemento a los excelentes meetups periódicos que organizan en Málaga relacionados con Blockchain. Por parte de Fortris estuvieron implicados Antonio Tovar Quijada e Iván San José García.

Antonio Tovar, de Fortris, presentando el proyecto

Los estudiantes implicados fueron Laura Granda Fernández , Salvador Carlos Postigo Alcaraz y Miguel Vázquez (de izquierda a derecha). El proyecto consistía en una prueba de concepto de billetera para Ethereum usando la librería tss-lib de Binance, una librería de Computación Segura Multiparte (MPC) que permite crear claves y realizar firmas ECDSA usando criptografía umbral.

El escenario de la prueba de concepto se correspondía con una red de 3 nodos que genera claves ECDSA, de forma que la clave privada queda repartida entre los nodos. El umbral 2 significa que cada nodo por separado no es capaz de acceder a la clave privada generada solo con su información, necesitando la colaboración de al menos otro nodo más.

Escenario de la prueba de concepto de billetera MPC con 3 nodos y umbral 2

En la prueba de concepto se adaptó la librería para que funcionara con la testnet Sepholia de ethereum y además se enlazó con una herramienta desarrollada por Fortris para el envío de transacciones RAW en Ethereum, Ethereum Tool. La herramienta desarrollada se debe lanzar de forma concurrente en los tres nodos para que ejecuten un protocolo entre ellos.

Comando para creación los trozos de la clave, se debe lanzar simultaneamente en los tres nodos

En la demo se pudo ver cómo se crea una dirección entre tres nodos y cómo se pueden firmar transacciones. La dirección usada para las pruebas fue: 0x2FC2C8CA36788AaA56459Ad5448a9D92a32c56Ce

Una de las transacciones de prueba que se realizó con la billetera MPC creada para la demo

Todo el código está en este repo.


DappHomes: Compartición de Datos Domóticos con TACo

Este proyecto surge de una colaboración entre NuCypher (en representación de la red Threshold) y NICS Lab para definir una prueba de concepto para TACo. TACo es una evolución de la solución inicial de compartición segura de información basada en blockchain desarrollada por David Nuñez como parte de su tesis doctoral. En representación de NuCypher estuvo Manuel Montenegro que hizo una breve introducción a TACo.

Presentación de TACo a cargo de Manuel Montenegro

Los estudiantes implicados fueron Marcos Hernández Marcelino, Pepe Guerrero Montero y Adrián Pérez López (de izquierda a derecha en la foto)

Presentación del proyecto por parte de Marcos

Los estudiantes tuvieron total libertad para idear una solución que usara la tecnología TACo de una forma novedosa. En este caso se centraron en el ámbito de la domótica y montaron un equipo donde cada uno se centró en una labor principal. TACo permite que las políticas de control de acceso a los datos se implementen de forma descentralizada en la blockchain y para la demo los estudiantes crearon un marketplace de datos domóticos.

Arquitectura de DappHomes

El proyecto no solo se basaba en TACo, los contratos estaban en la tesnet Amoy de Polygon Labs y se usaba IPFS para almacenar los datos cifrados. Además, aparte de desarrollar unos sensores propios se desarrolló también una integración con OpenWeather.

Pila tecnológica del proyecto DappHomes

En la demo se pudo ver como te podías subscribir a información domótica de una casa, en particular información de temperatura y humedad.

Demo de compartición de datos de temperatura y humedad

Y lo mejor es que la información no era sintética, se desarrolló código para sensores reales que enviaban la información cifrada a IPFS. Todo el código lo tenéis en este repo.

Sensores utilizado para la demo de DappHomes

Pruebas de Concepto con Account Abstraction

Este proyecto surgió como una colaboración entre la empresa IZERTIS y el grupo NICS Lab para el desarrollo de pruebas de concepto usando Account Abstraction en redes Ethereum. Por parte de Izertis estuvieron llevando la batuta del proyecto Urko Larrañaga Piedra y Miguel Angel Calero Fernández. Los estudiantes fueron Fran Guerrero, Manuel David Romero Guerrero y Francisco Ruiz González (de izquierda a derecha en la imagen).

La prueba de concepto consistió en desplegar un entorno de pruebas para Account Abstraction como un proyecto Hardhat donde poder realizar diversas pruebas y modificar los mecanismos de verificación de las operaciones.

Esquema de la prueba de concepto con Account Abstraction

En particular se trabajó en el uso de firmas digitales RSA y ECDSA para la verificación de las operaciones de usuario, con idea de poder extraer las claves públicas de verificación de certificados de identidad X.509 y así poder enlazar una identidad digital tradicional basada en certificados digitales con una smart wallet.

Detalle de la modificación del método de validación de operaciones para usar firma ECDSA

Todo el código de las pruebas está en este repo.


Esta quinta edición del curso de Tecnologías Blockchain ha demostrado una vez más el enorme talento de los estudiantes y el potencial de la tecnología blockchain en distintos ámbitos. Desde Decentralized Security, nos enorgullece haber participado en este programa y seguiremos contribuyendo a la formación y la seguridad en el ecosistema Web3.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *