一句话:提出基于静态分析的区块链交易并行理论,使节点并行执行交易以提升吞吐量。
去中心化区块链平台依靠拜占庭节点维护交易账本,矿工或验证者将用户交易打包成区块,并按选定顺序串行执行以更新状态,其他节点再按相同顺序重放验证。串行执行无法利用现代多核处理器,成为吞吐量瓶颈。本文提出区块链交易并行理论,核心是基于对交易和智能合约的静态分析,识别交易间依赖与冲突,从而允许节点安全地并行执行交易。作者还说明了节点如何应用该理论进行并行调度,并在以太坊上开展初步实验,结果显示该技术能够改善节点性能。
Decentralized blockchain platforms have enabled the secure exchange of crypto-assets without the intermediation of trusted authorities. To this purpose, these platforms rely on a peer-to-peer network of byzantine nodes, which collaboratively maintain an append-only ledger of transactions, called blockchain. Transactions represent the actions required by users, e.g. the transfer of some units of crypto-currency to another user, or the execution of a smart contract which distributes crypto-assets according to its internal logic. Part of the nodes of the peer-to-peer network compete to append transactions to the blockchain. To do so, they group the transactions sent by users into blocks, and update their view of the blockchain state by executing these transactions in the chosen order. Once a block of transactions is appended to the blockchain, the other nodes validate it, re-executing the transactions in the same order. The serial execution of transactions does not take advantage of the multi-core architecture of modern processors, so contributing to limit the throughput. In this paper we develop a theory of transaction parallelism for blockchains, which is based on static analysis of transactions and smart contracts. We illustrate how blockchain nodes can use our theory to parallelize the execution of transactions. Initial experiments on Ethereum show that our technique can improve the performance of nodes.
@article{paperbot1265,
title = {A theory of transaction parallelism in blockchains},
author = {Massimo Bartoletti and Letterio Galletta and Maurizio Murgia},
journal = {Logical Methods in Computer Science},
volume = {Volume 17, Issue 4},
year = {2021},
doi = {10.46298/lmcs-17(4:10)2021}
}