Dissertação

Optimizing Smart Contract Parallelism via Commutative Operations EVALUATED

A tecnologia blockchain emergiu como um paradigma revolucionário, permitindo transações descentralizadas e seguras em vários domínios. Originando-se com o Bitcoin como o sistema pioneiro de criptomoedas, e mais tarde com o aparecimento de sistemas mais versáteis como o Ethereum, que introduziu os smart contracts, as blockchains agora hospedam várias aplicações descentralizadas seguras (dApps), governadas por contratos imutáveis implantados no registo da blockchain. No entanto, estes sistemas não exploram a concorrência inerente às arquiteturas multicore modernas, ao aderirem à abordagem convencional de execução sequencial das transações. À medida que os desenvolvimentos nos protocolos de consenso introduzem algoritmos novos e mais eficientes, o novo gargalo tende a ser a velocidade de execução das transações. Vários trabalhos têm sido desenvolvidos com o objetivo de resolver esta limitação, mas ou dependem de métodos que comprometem a segurança da blockchain ao anexar grafos de dependências ao bloco produzido, ou carecem de transparência ao impor alterações ao sistema, ou não levam em consideração o problema dos \textit{hot-spots} — a maioria das transações acede apenas a alguns locais de armazenamento de um número reduzido de smart contracts. Propomos uma estratégia que utiliza análise estática para detetar operações em conflito bem como a deteção de operações comutativas de modo a paralelizar operações referentes ao mesmo item. Os nossos resultados mostram que a solução proposta atingiu um speedup máximo de 8.67x para padrões de acesso sem suporte para comutatividade, e atingiu um speedup de 10.1x para padrões de acesso de hot-spots rico em operações comutativas.
Blockchain, Smart Contracts, Concorrência, Execução Simbólica

outubro 29, 2024, 14:30

Documentos da dissertação ainda não disponíveis publicamente

Orientação

ORIENTADOR

Paolo Romano

Departamento de Engenharia Informática (DEI)

Professor Associado

ORIENTADOR

Miguel Ângelo Marques de Matos

Departamento de Engenharia Informática (DEI)

Professor Auxiliar