Dissertação

Formal Analysis of Ethereum Virtual Machine Bytecode Patterns EVALUATED

O Ethereum ganhou notoriedade pela implementação de protocolos computacionais, smart contracts. Osistema assenta no processamento de transações, que constituem um meio de executar estes contratosde modo determinístico.Ataques do tipoDenial-of-Servicesão prevenidos através da implementação do mecanismo de gas,que pondera trabalho computacional realizado. A cryptomoeda Ether, que está embebida no sistema doEthereum, é utilizada na compra de gas necessário às transações. Deste modo, o foco deste trabalhoconsiste na identificação e substituição de padrões de bytecode dispendiosos, que permite reduzir ocusto associado às transações.A ferramenta desenvolvida nesse sentido percorre o código dos contratos e substitui os padrões acada nova ocorrência. Este procedimento é repetido até não ser possível realizar mais optimizações.De forma a manter a integridade do contrato, a ferramenta Mythrill é usada na obtenção do grafo decontrolo de fluxo, que determina se o contrato é elegível para optimização.Embora a Máquina Virtual do Ethereum (EVM) não seja completa à Turing, a caracterização docomportamento de contratos é uma tarefa árdua. Provamos que introduzindo modificações como oaumento da capacidade de armazenamento, a EVM passa a ser completa à Turing e aferir os endereçosde alvo das instruções dejumptorna-se um problema indecidível.
Ethereum, Smart Contracts, Semântica Operacional, Completude à Turing, Optimização de Código, Contexto de Execução

dezembro 19, 2019, 11:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Pedro Miguel dos Santos Alves Madeira Adão

Departamento de Engenharia Informática (DEI)

Professor Auxiliar

ORIENTADOR

Paulo Alexandre Carreira Mateus

Departamento de Matemática (DM)

Professor Catedrático