Use este identificador para citar ou linkar para este item:
https://repositorio.ufpe.br/handle/123456789/47799
Compartilhe esta página
Registro completo de metadados
Campo DC | Valor | Idioma |
---|---|---|
dc.contributor.advisor | SAMPAIO, Augusto Cezar Alves | - |
dc.contributor.author | FERREIRA, Juliandson Estanislau | - |
dc.date.accessioned | 2022-11-22T12:00:46Z | - |
dc.date.available | 2022-11-22T12:00:46Z | - |
dc.date.issued | 2022-09-12 | - |
dc.identifier.citation | FERREIRA, Juliandson Estanislau. Specification is law: safe creation and upgrade of ethereum smart contracts. 2022. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Pernambuco, Recife, 2022. | pt_BR |
dc.identifier.uri | https://repositorio.ufpe.br/handle/123456789/47799 | - |
dc.description.abstract | Smart contract evolution is crucial for the success of decentralized applications, and current methods and processes are not well suited to handle these drivers of change, as the knowledge about the software is predominantly stored in informal documents. In addition, they are the building blocks of the ”code is law” paradigm: the smart contract’s code indisputably describes how its assets are to be managed - once it is created, its code is typically immutable. Faulty smart contracts present the most significant evidence against the practicality of this paradigm; they are well-documented and resulted in assets worth vast sums of money being compromised. To address this issue, the Ethereum community proposed (i) tools and processes to audit/analyse smart contracts, and (ii) design patterns implementing a mechanism to make contract code mutable. Individually, (i) and (ii) only partially address the challenges raised by the ”code is law” paradigm. In this work, we combine elements from (i) and (ii) to create a systematic framework that moves away from ”code is law” and gives rise to a new ”specifica- tion is law” paradigm. It allows contracts to be created and upgraded but only if they meet a corresponding formal specification. We explain how formal verification techniques can be used to ensure safety properties of smart contracts during their evolution. Although formal verification methods have the potential of being used in several application fields, we focus on ensuring compliance with its specifications. The process consists of three phases: Formal requirements specification, verification, and deployment. All steps are planned and executed in an integrated way and together they form a framework capable of fostering safe evolution and make it more reliable and secure. The framework is centered around a trusted deployer: an off-chain service that formally verifies and enforces specification conformance. We have proto- typed this framework, and investigated its applicability to contracts implementing three widely used Ethereum standards: the ERC20 Token Standard, ERC3156 Flash Loans and ERC1155 Multi Token Standard, with promising results. | pt_BR |
dc.description.sponsorship | FACEPE | pt_BR |
dc.language.iso | eng | pt_BR |
dc.publisher | Universidade Federal de Pernambuco | pt_BR |
dc.rights | openAccess | pt_BR |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/br/ | * |
dc.subject | Verificação formal | pt_BR |
dc.subject | Contratos inteligentes | pt_BR |
dc.subject | Ethereum | pt_BR |
dc.subject | Solidity | pt_BR |
dc.subject | Criação segura | pt_BR |
dc.subject | Atualização segura | pt_BR |
dc.title | Specification is law : safe creation and upgrade of ethereum smart contracts | pt_BR |
dc.type | masterThesis | pt_BR |
dc.contributor.advisor-co | ANTONINO, Pedro Ribeiro Gonçalves | - |
dc.contributor.authorLattes | http://lattes.cnpq.br/3810290537638702 | pt_BR |
dc.publisher.initials | UFPE | pt_BR |
dc.publisher.country | Brasil | pt_BR |
dc.degree.level | mestrado | pt_BR |
dc.contributor.advisorLattes | http://lattes.cnpq.br/3977760354511853 | pt_BR |
dc.publisher.program | Programa de Pos Graduacao em Ciencia da Computacao | pt_BR |
dc.description.abstractx | A evolução de contratos inteligentes é crucial para o sucesso de aplicações descentral- izadas, os métodos e processos atuais não são adequados para lidar com esses drivers de mudança, pois o conhecimento sobre o software está predominantemente armazenado em documentos informais. Além disso, eles são os blocos de construção do paradigma "code is law": o código do contrato inteligente descreve indiscutivelmente como seus ativos devem ser gerenciados - uma vez criado, seu código é imutável. Contratos inteligentes com bugs apresentam a evidência mais significativa contra a praticidade desse paradigma; normalmente eles estão bem documentados e mesmo assim grandes somas de ativos foram comprometidas. Para resolver esse problema, a comunidade Ethereum propôs (i) ferramentas e processos para auditar/analisar contratos inteligentes e (ii) padrões de design que implementam um mecan- ismo para tornar o código do contrato mutável. Individualmente, (i) e (ii) abordam apenas parcialmente os desafios levantados pelo paradigma “code is law”. Neste trabalho, combinamos elementos de (i) e (ii) para criar uma estrutura sistemática que se afasta do “code is law” e dá origem a um novo paradigma “specification is law”. Ele permite que contratos sejam criados e atualizados, mas somente se eles atenderem a uma determinada especificação formal. Expli- camos como as técnicas formais de verificação podem ser usadas para garantir as propriedades de segurança dos contratos inteligentes durante sua evolução. Embora os métodos formais de verificação tenham potencial para serem utilizados em diversos campos de aplicação, focamos em garantir a conformidade com suas especificações. O processo consiste em três fases: es- pecificação de requisitos formais, verificação e implantação. Todas as etapas são planejadas e executadas de forma integrada e juntas formam uma estrutura capaz de promover uma evolução segura e torná-la mais confiável. O framework está centrado em trusted deployer: um serviço off-chain que verifica e reforça formalmente conformidade de especificação. Pro- totipamos essa estrutura e investigamos sua aplicabilidade a contratos que implementam três padrões Ethereum amplamente utilizados: o ERC20 Token Standard, ERC3156 Flash Loans e ERC1155 Multi Token Standard, com resultados promissores. | pt_BR |
dc.contributor.advisor-coLattes | http://lattes.cnpq.br/2585745313503366 | pt_BR |
Aparece nas coleções: | Dissertações de Mestrado - Ciência da Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
DISSERTAÇÃO Juliandson Estanislau Ferreira.pdf | 1,01 MB | Adobe PDF | ![]() Visualizar/Abrir |
Este arquivo é protegido por direitos autorais |
Este item está licenciada sob uma Licença Creative Commons