Análisis de Smart Contracts en Ethereum e identidad soberana

García Álvarez, Roberto (2020). Análisis de Smart Contracts en Ethereum e identidad soberana. Thesis (Master thesis), E.T.S. de Ingenieros Informáticos (UPM).

Description

Title: Análisis de Smart Contracts en Ethereum e identidad soberana
Author/s:
  • García Álvarez, Roberto
Contributor/s:
  • Rampérez Martín,
Item Type: Thesis (Master thesis)
Masters title: Ingeniería Informática
Date: 16 June 2020
Subjects:
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (6MB) | Preview

Abstract

Actualmente, la tecnología blockchain se encuentra en constante evolución, pero a pesar de su innovadora tecnología, no solo se tienen modelos teóricos y conceptuales acerca de sus posibles usos y finalidades, sino que también están empezando a existir aplicaciones basadas en blockchain que cambiarán el modo de realizar múltiples gestiones, así como la obtención de nuevos conceptos como el de identidad soberana que se está implementando en Alastria Blockchain Ecosystem. Alrededor de la tecnología blockchain existen una serie de problemas que requieren un estudio intensivo, con el objetivo de la obtención de soluciones, o posibles alternativas que mitiguen dichos problemas, como la actualización de los Smart Contracts, es decir, poder modificar los contratos sin perder información hasta la posibilidad de utilizar aplicaciones blockchain en múltiples dispositivos. Para abordar los problemas que se han encontrado, en primer lugar, se ha realizado un estudio de las tres principales blockchains, Ethereum, Hyperledger Fabric y Corda, así como cuáles son las principales componentes de estas y los diferentes conceptos que hay que entender para saber cómo funciona. Estos conceptos incluyen, el objetivo y función de los nodos, el concepto de wallet, con el cual los usuarios pueden interactuar con la blockchain, el concepto de criptografía que aporta seguridad a una blockchain y por último los diferentes algoritmos de consenso que existen. Por otro lado, se ha realizado un estudio de los diferentes lenguajes de programación y herramientas que se utilizan para la implementación y construcción de las tres principales blockchains que se han comentado anteriormente. También se ha explicado cual es el papel y el objetivo que tiene OpenZeppelin dentro de la implementación de los Smart Contracts, así como las ventajas que aporta su uso. Una vez que ya se tienen claros los conceptos que engloba una blockchain, se ha realizado un estudio exhaustivo del modelo de identidad soberana que se está implementando actualmente en Alastria. En cuanto a dicho modelo, se destaca los tres roles que existen, el del subject, el del issuer y el del service provider. Por otro lado, existen una serie de objetos que hacen posible la interacción entre los roles listados anteriormente. Con el objetivo de resolver el problema de que los Smart Contracts de Alastria no son actualizables, se ha realizado un estudio y se ha propuesto un primer aproximamiento de arquitectura para los Smart Contracts que se basa en el patrón eternal storage. De esta manera, lo que se propone es tener separados en contratos diferentes los datos de la lógica, con el objetivo de ir modificando solo los contratos que albergan la lógica, consiguiendo de esta manera que los contratos de Alastria sean actualizables. Con el mismo objetivo de resolver ciertos problemas que se han encontrado, se ha realizado una auditoría a los Smart Contracts de Alastria. En dicha auditoría se han encontrado una serie de vulnerabilidades en los contratos. Este punto ha sido muy importante ya que los Smart Contracts de Alastria se van a encontrar en producción para el nuevo concepto de identidad soberana. El principal objetivo de este modelo de identidad soberana es que los usuarios sean en todo momento los únicos dueños de sus datos y sepan en todo momento quien está haciendo uso de ellos y con qué finalidad, así como mejorar los procesos de alta en las diferentes entidades que prestan servicios que los usuarios consumen. Por otro lado, se ha realizado una investigación sobre cómo obtener o activar una serie de métricas para la consecución de una serie de información que vislumbre luz acerca del correcto funcionamiento de aplicaciones basadas en blockchain. Para abordar la necesidad de que un subject pueda utilizar su identidad en más de un dispositivo se ha realizado un estudio utilizando los HSM, servidores hardware que permiten almacenar claves y tienen la capacidad de firma. En dicho estudio se ha obtenido como resultado, la posibilidad de almacenar los keystores en dichos HSM, para que los usuarios hagan uso de sus keystores desde múltiples dispositivos, así como mejorar la seguridad a la hora de hacer uso del keystore. A pesar de que la tecnología no es una limitación en este aspecto, cabe destacar que estos servidores tienen un precio bastante elevado, con lo cual cada usuario no puede tener un HSM propio, con lo cual se tendría que llegar a un acuerdo entre las empresas para poner a disposición de los usuarios estos servidores siempre y cuando se quieran securizar altamente el uso de estos keystores. Por último, el creciente uso de esta tecnología, en la que las empresas están añadiendo a sus modelos de negocio se debe a sus numerosas ventajas. Se trata de una tecnología que permite el tratamiento de datos de manera segura, confidencial e inmutable y de esta manera el tratamiento de estos datos se vuelve transparente.---ABSTRACT---Currently, the blockchain technology is in constant evolution but, despite its innovative technology, not only we do have theoretical and conceptual models about its possible uses and purposes, but also, applications based on this technology are coming to light. Those will change the way in which we carry out different managements, as well as obtaining new concepts, such as the sovereign identity that is being implemented in Alastria Blockchain Ecosystem. Around the blockchain technology there are a series of problems that require intensive study, with the aim of obtaining solutions, or possible alternatives that mitigate these problems, such as updating contracts, i.e. making the contracts upgradeable to the possibility of using blockchain applications on multiple devices. To address the problems encountered, firstly, a study has been carried out of the three main blockchains, Ethereum, Hyperledger Fabric and Corda, as well as what the main components of these are and the different concepts that need to be understood in order to know how they work. These concepts include, the objective and function of the nodes, the concept of wallet, with which users can interact with the blockchain, the concept of cryptography that provides security to a blockchain and finally the different consensus algorithms that exist. On the other hand, a study of the different programming languages and tools used for the implementation and construction of the three main blockchains mentioned above has been carried out. It has also been explained, which is the role and objective that OpenZeppelin has within the implementation of the Smart Contracts, as well as the advantages that the use of it brings. Once the concepts of a blockchian are clear, a comprehensive study of the model of sovereign identity currently being implemented in Alastria has been carried out. Regarding this model, the three existing roles are highlighted: the subject, the issuer, and the service provider. On the other hand, there are a series of objects that make possible the interaction between the roles listed above. In order to solve the problem that Alastria's Smart Contracts are not upgradeable, a study has been carried out and a new architecture has been proposed for Smart Contracts based on eternal storage. In this way, what is proposed is to have the logic data separated into different contracts, with the objective of modifying only the contracts that contain the logic, thus making Alastria contracts upgradeable. With the same objective of solving certain problems that have been found, an audit has been carried out on Alastria's Smart Contracts. In this audit, a series of vulnerabilities were found in the contracts. This point has been very important since Alastria Smart Contracts will be in production for the new concept of sovereign identity. The main objective of this model of sovereign identity is that users are at all times the sole owners of their data and know at all times who is making use of them and for what purpose, as well as improving the onboarding processes in the different entities that provide services that users consume. On the other hand, research has been carried out on how to obtain or activate a series of metrics for the achievement of a series of information that will shed light on the correct functioning of blockchain-based applications. To address the problem of a subject being able to use its identity on more than one device, a study has been carried out with the HSM (Hardware Secure Module), hardware servers that allow the storage of keys and have the capacity of signature. The result of this study is that, if keystores can be stored in these HSMs, users can use their keystores from multiple devices. Although the technology is not a limitation in this aspect, it should be noted that these servers have a fairly high price, so that each user cannot have their own HSM, so that an agreement would have to be reached between the companies to make these servers available to users as long as they want to make the use of these keystores highly secure. Finally, the use of this technology is growing by leaps and bounds, being added to the business models of companies due to its many advantages. It is a technology that, not only, allows the treatment of data in a secure, confidential, and immutable way, but in this way, the treatment of this data becomes transparent.

More information

Item ID: 64123
DC Identifier: http://oa.upm.es/64123/
OAI Identifier: oai:oa.upm.es:64123
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 28 Sep 2020 10:55
Last Modified: 28 Sep 2020 10:55
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM