TRABAJOS FIN DE GRADO curso: 2022-23
Explorando los oráculos en blockchain |
Tecnologías Específicas
Ingeniería de Computadores
Descripcion y Objetivos
La tecnología blockchain surge en el mundo de las criptomonedas, proporcionando un sistema altamente distribuido donde registrar transacciones (inicialmente económicas, aunque las aplicaciones en diversos ámbitos son múltiples). Blockchain ofrece propiedades como la inmutabilidad de los registros almacenados, la transparencia de los datos, o la descentralización y la alta disponibilidad de la información almacenada.
Por otro lado, sobre el concepto básico inicial de blockchain se apoya la abstracción de los contratos inteligentes (smart contracts). Un contrato inteligente especifica código almacenado en la blockchain que se ejecuta de manera automática al ocurrir algún evento concreto. Los contratos inteligentes se ejecutan de manera independiente en todos los nodos que participan en la cadena de bloques y pueden verse en conjunto como un computador distribuido. Un conjunto de contratos inteligentes que se ejecutan en una plataforma blockchain dan lugar a una DApp (decentralized application).
Los contratos inteligentes a veces necesitan disponer de información externa a la blockchain para ejecutar su lógica, información del mundo real. Esto se lleva a cabo mediante los llamados "oráculos". Existen plataformas de oráculos descentralizados, como Chainlink, que ofrecen datos fiables de ciertas temáticas (predicción metereológica, cotización de divisas, ...) mediante la aplicación de un protocolo de consenso sobre los datos obtenidos de diversas fuentes. Por otro lado, Internet de las Cosas, a través de sus diversos dispositivos y sensores conectados a Internet, ofrece un punto de conexión natural entre la blockchain y el mundo físico.
En este TFG se pretende explorar cómo funcionan los oráculos, específicamente los descentralizados, y las posibilidades de su conexión con dispositivos IoT.
Metodología y Competencias
Para el desarrollo de este TFG se hará uso de una metodología ágil basada en Scrum. Se mantendrán reuniones quincenales con los tutores para el correcto seguimiento y retroalimentación del trabajo.
En cuanto al plan de trabajo, a priori se definen las siguientes fases:
-
Estudio de la tecnología blockchain y más concretamente de su implementación Ethereum.
-
Estudio del concepto de oráculo y de las posibilidades de la plataforma Chainlink.
-
Desarrollo de una prueba de concepto de oráculo basado en IoT basado en Raspberry Pi.
-
Evaluación del sistema desarrollado.
Las competencias que se aplican en el caso de la Tecnología de Ingeniería de Computadores son:
[IC3] Capacidad de analizar y evaluar arquitecturas de computadores, incluyendo plataformas paralelas y distribuidas, así como desarrollar y optimizar software para las mismas.
[IC4] Capacidad de diseñar e implementar software de sistema y de comunicaciones.
[IC7] Capacidad para analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y ejecución de aplicaciones y servicios informáticos.
Medios a utilizar
PC o portátil, Raspberry Pi
Software de código abierto: Ethereum, Solidity, Remix, …
Bibliografía
Arshdeep Bahga y Vijay Madisetti, Blockchain Applications: A Hands-on Approach, VPT, 2017.
Recursos para desarrolladores. Guías, recursos y herramientas para desarrolladores en Ethereum. Disponible en https://ethereum.org/es/developers/
Solidity Tutorial - A Full Course on Ethereum, Blockchain Development, Smart Contracts, and the EVM: https://www.youtube.com/watch?v=ipwxYa-F1uY
Ethereum Tutorial – A Deeper Look Into Ethereum!. https://www.edureka.co/blog/ethereum-tutorial-with-smart-contracts/
Chainlink: Blockchain Oracles for Hybrid Smart Contracts. Disponible en: https://chain.link/
Building and Using External Adapters. Disponible en: https://blog.chain.link/build-and-use-external-adapters/
Raspberry Pi Documentation. Disponible en: https://www.raspberrypi.com/documentation/computers/getting-started.html
Tutores CAMINERO HERRÁEZ, Mª BLANCA NUÑEZ, CARLOS | Alumno OLIVAS AUÑÓN, DAVID
|
|