C-EVM: implementación en C de instrucciones ensamblador EVM

Esteban Salguero, Virginia (2020). C-EVM: implementación en C de instrucciones ensamblador EVM. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Description

Title: C-EVM: implementación en C de instrucciones ensamblador EVM
Author/s:
  • Esteban Salguero, Virginia
Contributor/s:
  • Román Díez, Guillermo
Item Type: Final Project
Degree: Grado en Ingeniería Informática
Date: 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 (1MB) | Preview

Abstract

Hoy en día la transmisión de información a través de Internet es una realidad, así como el uso de tecnologías como Blockchain [1] que permiten realizar estas transacciones de forma segura mediante una red distribuida formada por diferentes entidades, o Bitcoin [2] que permite hacer intercambios monetarios a través de esa red. Todo ello se consigue realizar de forma segura mediante programas informáticos, o contratos inteligentes, que se encargan de hacer cumplir las normas que haya en la red. Por ello, cuanto más se pueda ayudar a esas tecnologías con herramientas que perfeccionan su uso, que lo hacen más fácil, y más seguro, mejor. Una herramienta típica en el mundo de la programación actualmente son los verificadores de software, que realizan análisis estáticos de los programas, es decir, estudian el comportamiento de un programa sin llegar a ejecutarlo, evaluando todos los posibles estados por los que puede pasar la ejecución en función de los distintos valores que puedan tomar las variables que tenga. Por tanto, es una herramienta muy útil también para los contratos inteligentes, porque cuantos más seguros se puedan hacer estos programas mucho mejor funcionará la red, y menos vulnerabilidades tendrá.---ABSTRACT---Nowadays the transmission of information through Internet is a reality, as well as the use of technologies such as Blockchain that allow these transactions to be carried out safely through a distributed network formed by different entities, or Bitcoin that allows to make monetary exchanges through that network. All this can be done safely using computer programs, or smart contracts, which are responsible for enforcing the rules that are on the network. Therefore, the more these technologies can be helped with tools that improve their use, make it easier, and safer, the better. A typical tool in the programming world today are software verifiers, which perform static analysis of programs, that is, study the behavior of the program without executing them, analyzing all the possible states through which its execution can pass in function of the different values that the variables it has can take. Therefore, it is a very useful tool also for smart contracts, because the more secure these programs can be made, the better the network will work, and the fewer vulnerabilities it will have.

More information

Item ID: 63039
DC Identifier: http://oa.upm.es/63039/
OAI Identifier: oai:oa.upm.es:63039
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 16 Jul 2020 20:02
Last Modified: 16 Jul 2020 20:02
  • 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