Execução Paralela de Transações Baseada em Análise Dinâmica e Auto-Verificável de Conflitos - Silva, Jefferson P.; Alchieri, Eduardo; Dotti, Fernando (Anais do Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos (SBRC), 2023)
As soluções para blockchains geralmente executam transações sequencialmente pelos mineradores, permitindo que validadores reproduzam esta execução para validar o seu resultado. Porém, tal abordagem é incapaz de explorar os recursos multi-core modernos de forma eficiente, limitando assim o desempenho e aumentando a latência das aplicações. Soluções existentes que permitem execução paralela de uma parte das transações geralmente fazem uso de análise estática (antes da execução) ou utilizam um grafo acíclico dirigido (DAG) para lidar com conflitos/dependências entre transações. Neste contexto, propomos uma nova solução para permitir execuções paralelas em uma blockchain utilizando análise dinâmica de conflitos através da utilização de um DAG onde os conflitos de uma transação podem ser auto-verificados pelos validadores. A fim de avaliar os benefícios da nossa proposta sobre a execução sequencial tradicional, criamos quatro aplicações de contratos inteligentes que simulam a execução de uma blockchain real. Experimentos mostram que nossa proposta atinge uma aceleração que supera em até 5× a execução sequencial.