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

PROCEEDINGS OF12TH LATIN-AMERICAN SYMPOSIUM ON DEPENDABLE AND SECURE COMPUTING, LADC 2023(2023)

引用 0|浏览3
暂无评分
摘要
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 5x in some cases.
更多
查看译文
关键词
Transactions,Blockchain,Parallelism
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要