Skip navigation
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 DCValorIdioma
dc.contributor.advisorSAMPAIO, Augusto Cezar Alves-
dc.contributor.authorFERREIRA, Juliandson Estanislau-
dc.date.accessioned2022-11-22T12:00:46Z-
dc.date.available2022-11-22T12:00:46Z-
dc.date.issued2022-09-12-
dc.identifier.citationFERREIRA, 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.urihttps://repositorio.ufpe.br/handle/123456789/47799-
dc.description.abstractSmart 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.sponsorshipFACEPEpt_BR
dc.language.isoengpt_BR
dc.publisherUniversidade Federal de Pernambucopt_BR
dc.rightsopenAccesspt_BR
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/br/*
dc.subjectVerificação formalpt_BR
dc.subjectContratos inteligentespt_BR
dc.subjectEthereumpt_BR
dc.subjectSoliditypt_BR
dc.subjectCriação segurapt_BR
dc.subjectAtualização segurapt_BR
dc.titleSpecification is law : safe creation and upgrade of ethereum smart contractspt_BR
dc.typemasterThesispt_BR
dc.contributor.advisor-coANTONINO, Pedro Ribeiro Gonçalves-
dc.contributor.authorLatteshttp://lattes.cnpq.br/3810290537638702pt_BR
dc.publisher.initialsUFPEpt_BR
dc.publisher.countryBrasilpt_BR
dc.degree.levelmestradopt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/3977760354511853pt_BR
dc.publisher.programPrograma de Pos Graduacao em Ciencia da Computacaopt_BR
dc.description.abstractxA 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-coLatteshttp://lattes.cnpq.br/2585745313503366pt_BR
Aparece nas coleções:Dissertações de Mestrado - Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
DISSERTAÇÃO Juliandson Estanislau Ferreira.pdf1,01 MBAdobe PDFThumbnail
Visualizar/Abrir


Este arquivo é protegido por direitos autorais



Este item está licenciada sob uma Licença Creative Commons Creative Commons