论文标题

区块链的操作级并发交易执行

Operation-level Concurrent Transaction Execution for Blockchains

论文作者

Lin, Haoran, Zhou, Yajin, Wu, Lei

论文摘要

尽管在各种情况下取​​得了成功,但区块链系统,尤其是串行执行交易的EVM兼容系统,仍然面临着有限吞吐量的重大挑战。并发交易执行是一种有前途的技术,可以加速交易处理并增加整体吞吐量。但是,由于较高的工作负载,现有的并发控制算法无法在实际区块链中获得足够的加速。 在本文中,我们提出了一种专为区块链设计的新型操作级并发控制算法。我们的算法背后的核心思想是,仅根据冲突而操作,应串行执行,而所有其他无冲突的操作才能同时执行。因此,与传统方法相反,这些方法在遇到冲突时阻止或中止整个交易的传统方法,我们的算法引入了一个重做阶段,以通过仅重新执行冲突的操作来解决操作层面的冲突。我们还开发了一组数据依赖性跟踪机制,以实现对冲突操作的精确识别和快速的重新执行。我们基于GO以太坊实施开源原型,并使用现实世界以太坊块对其进行评估。评估结果表明,我们的算法的平均加速度为4.28 $ \ times $。如果与状态预取技术结合使用,我们的方法可以进一步加速交易执行7.11 $ \ times $。

Despite the success in various scenarios, blockchain systems, especially EVM-compatible ones that serially execute transactions, still face the significant challenge of limited throughput. Concurrent transaction execution is a promising technique to accelerate transaction processing and increase the overall throughput. Existing concurrency control algorithms, however, fail to obtain enough speedups in real-world blockchains due to the high-contention workloads. In this paper, we propose a novel operation-level concurrency control algorithm designed for blockchains. The core idea behind our algorithm is that only operations depending on conflicts should be executed serially, while all other conflict-free operations can be executed concurrently. Therefore, in contrast to the traditional approaches, which block or abort the entire transaction when encountering conflicts, our algorithm introduces a redo phase to resolve conflicts at the operation level by re-executing conflicting operations only. We also develop a set of data dependency tracking mechanisms to achieve precise identification and speedy re-execution for conflicting operations. We implement an open-source prototype based on Go Ethereum and evaluate it using real-world Ethereum blocks. The evaluation results show that our algorithm achieves an average speedup of 4.28$\times$. If combined with state prefetching techniques, our approach can further accelerate the transaction execution by 7.11$\times$.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源