Mostrar el registro sencillo del ítem
Smart contracts : different approaches to introduce external (off-chain) data
dc.contributor.advisor | Nielson, Seth James | es-ES |
dc.contributor.author | Tamariz-Martel Sánchez, Gonzalo | es-ES |
dc.contributor.other | Universidad Pontificia Comillas, Escuela Técnica Superior de Ingeniería (ICAI) | es_ES |
dc.date.accessioned | 2022-05-05T14:38:50Z | |
dc.date.available | 2022-05-05T14:38:50Z | |
dc.date.issued | 2022 | es_ES |
dc.identifier.uri | http://hdl.handle.net/11531/68046 | |
dc.description | Grado en Ingeniería en Tecnologías de Telecomunicación | es_ES |
dc.description.abstract | 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. | es-ES |
dc.description.abstract | 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. | en-GB |
dc.format.mimetype | application/pdf | es_ES |
dc.language.iso | en-GB | es_ES |
dc.rights | Attribution-NonCommercial-NoDerivs 3.0 United States | es_ES |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/us/ | es_ES |
dc.subject | 12 Matemáticas | es_ES |
dc.subject | 1203 Ciencias de los ordenadores | es_ES |
dc.subject | 120317 Informática | es_ES |
dc.subject.other | KTT (GITT) | es_ES |
dc.title | Smart contracts : different approaches to introduce external (off-chain) data | es_ES |
dc.type | info:eu-repo/semantics/bachelorThesis | es_ES |
dc.rights.accessRights | info:eu-repo/semantics/closedAccess | es_ES |
dc.keywords | Blockchain, Smart Contract, Oracles, Ethereum, Chainlink, Dapp, Decentralized Oracle | es-ES |
dc.keywords | Blockchain, Smart Contract, Oracles, Ethereum, Chainlink, Dapp, Decentralized Oracle | en-GB |