Por favor, use este identificador para citar o enlazar este ítem: http://hdl.handle.net/11531/68046
Título : Smart contracts : different approaches to introduce external (off-chain) data
Autor : Nielson, Seth James
Tamariz-Martel Sánchez, Gonzalo
Universidad Pontificia Comillas, Escuela Técnica Superior de Ingeniería (ICAI)
Palabras clave : 12 Matemáticas;1203 Ciencias de los ordenadores;120317 Informática
Fecha de publicación : 2022
Resumen : Los Smart Contracts son programas que se almacenan en una cadena de bloques o blockchain y pueden utilizarse para ejecutar un acuerdo cuando se cumplen unas condiciones. Un problema que surge con los Smart Contracts es la dificultad de introducir datos externos ya que son programas que se ejecutan simultáneamente en distintos nodos y todos deben obtener un mismo resultado. En este proyecto se exploran distintos métodos para introducir datos externos (off-chain) a los Smart Contract que se encuentran en un blockchain. Los modelos que se han implementado y comparado en este proyecto son: un oráculo centralizado, un oráculo descentralizado y una red oracular descentralizada (Chainlink). Para poder realizar pruebas de los distintos modelos se ha empleado a modo de ejemplo sencillo una aplicación de loterías. Debido a que los Smart Contract son programas determinísticos, no pueden generar números aleatorios ni realizar consultas directamente a una API, por lo que el dato a introducir desde el exterior mediante los modelos de oráculo se trata de un número aleatorio. Tras el desarrollo e implementación de los distintos modelos se ha realizado una comparativa entre ellos. Se ha demostrado que el modelo de oráculo centralizado es inseguro y además destruye la ventaja de descentralización que ofrecen las blockchain y los Smart Contract al existir un punto de fallo centralizado. Por otra parte, el modelo descentralizado aporta notorias mejoras en la seguridad a cambio de un mayor coste de recursos y económico. Por último, las soluciones ofrecidas por redes oraculares como Chainlink facilitan la programación de Smart Contract y son bastante seguras.
Smart Contracts are programs that are stored in a blockchain and can be used to execute an agreement when certain conditions are met. A problem that arises with Smart Contracts is the difficulty of introducing external data since they are programs that are executed simultaneously in different nodes and all must obtain the same result. In this project different methods are explored to introduce external data (off-chain) to Smart Contracts found in a blockchain. The models that have been implemented and compared in this project are: a centralized oracle, a decentralized oracle and a decentralized oracle network (Chainlink). In order to test the different models, a lottery application has been used as a simple example. Since Smart Contracts are deterministic programs, they cannot generate random numbers or make direct queries to an API, so the data to be entered from the outside through the oracle models is a random number. After the development and implementation of the different models, a comparison has been made between them. It has been shown that the centralized oracle model is insecure and also destroys the decentralization advantage offered by blockchain and Smart Contracts as there is a centralized point of failure. On the other hand, the decentralized model brings notorious improvements in security in exchange for a higher resource and economic cost. Finally, the solutions offered by oracle networks such as Chainlink facilitate the programming of Smart Contracts and are quite secure.
Descripción : Grado en Ingeniería en Tecnologías de Telecomunicación
URI : http://hdl.handle.net/11531/68046
Aparece en las colecciones: KTT-Trabajos Fin de Grado

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
TFG_Tamariz_Martel_Sanchez_Gonzalo.pdfTrabajo Fin de Grado4,01 MBAdobe PDFVisualizar/Abrir
Anexo_signed[1842].pdfAutorización103,57 kBAdobe PDFVisualizar/Abrir     Request a copy


Los ítems de DSpace están protegidos por copyright, con todos los derechos reservados, a menos que se indique lo contrario.