Parallel Execution of Transactions Based on Dynamic and Self-Verifiable Conflict Analysis

  • Jefferson Silva UnB
  • Eduardo Alchieri UnB
  • Fernando Dotti PUCRS
  • Fernando Pedone University of Lugano

Resumo


In most blockchains, miners execute transactions sequentially, while validators reproduce the execution to validate its results. Although simple, this approach does not exploit modern multi-core resources efficiently, thus limiting performance and increasing application latency. To circumvent this limitation, some proposals execute independent transactions in parallel, while dependent/conflicting transactions execute sequentially. These solutions are based on static analysis, adding a pre-processing overhead to trace dependencies/conflicts before execution, or usually use a directed acyclic graph (DAG) where the miner stores the conflicts among transactions found during its execution to be used by the validators, which trust the received DAG to perform an equivalent execution. We propose a new solution for parallel execution of transactions through a dynamic conflict analysis that uses transactions and their parameters to define whether two transactions are dependent in order to build a DAG. Consequently, conflicts are self-verifiable at validators since they can access the transactions and their parameters. To minimize the performance impact of this processing, while one parallelizer thread constructs the DAG, a pool of worker threads obtain transactions whose dependencies were resolved to be executed. To evaluate the benefits of our proposal over traditional sequential execution, we created four smart contract applications that simulate the execution of a real blockchain. Experiments show that our proposal outperforms the sequential execution by up to 5 x in some cases.

Palavras-chave: Blockchain, Transactions, Parallelism
Publicado
16/10/2023
Como Citar

Selecione um Formato
SILVA, Jefferson; ALCHIERI, Eduardo; DOTTI, Fernando; PEDONE, Fernando. Parallel Execution of Transactions Based on Dynamic and Self-Verifiable Conflict Analysis. In: LATIN-AMERICAN SYMPOSIUM ON DEPENDABLE COMPUTING (LADC), 12. , 2023, La Paz/Bolívia. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 . p. 110–119.