面向智能合约执行与重放高性能的并发协议
数据库
2019-05-20 v1 分布式、并行与集群计算
摘要
尽管可编程智能合约的出现使区块链系统易于拥抱更广泛的工业领域,如何高效执行智能合约已成为当今一大挑战。由于拜占庭节点的存在,智能合约的执行机制与数据库系统大不相同,以致数据库系统中现有的成功并发控制协议无法直接采用。此外,即便智能合约执行遵循两阶段风格,即矿工节点在第一阶段执行一批智能合约、验证节点在第二阶段重放它们,现有并行方案仅关注第一阶段的优化,而未包含第二阶段。本文提出一种新颖的高效并发控制方案,是首个在两阶段均做优化的方案。具体而言,(i)在第一阶段,我们给出基于{\em 批处理}特性的OCC(乐观并发控制)协议变体,以提升矿工的并发执行效率,并为验证者生成具有高并行度的调度日志。同时设计了一种图划分算法,将原始调度日志切分为小块以进一步降低通信开销;(ii)在第二阶段,我们给出一种确定性OCC协议,在多核验证者上高效重放所有智能合约,其中所有核可独立重放智能合约。理论分析与大量实验结果表明,所提方案显著优于现有最优方案。
引用
@article{arxiv.1905.07169,
title = {Concurrency Protocol Aiming at High Performance of Execution and Replay for Smart Contracts},
author = {Shuaifeng Pang and Xiaodong Qi and Zhao Zhang and Cheqing Jin and Aoying Zhou},
journal= {arXiv preprint arXiv:1905.07169},
year = {2019}
}