通过驯服应用程序固有的冲突,在去中心化区块链上的智能合约中利用协同主义
Utilizing Parallelism in Smart Contracts on Decentralized Blockchains by Taming Application-Inherent Conflicts
摘要:
由于共识协议本身的瓶颈,传统的公共区块链系统通常具有非常有限的交易吞吐量。随着共识技术的最新进展,性能限制已经大大提高,通常达到每秒数千笔交易。这样一来,事务执行就成了一个新的性能瓶颈。利用事务执行中的并行性是解决此问题并进一步提高事务吞吐量的一种明确而直接的方法。尽管最近的一些文献引入了并发控制机制来并行执行智能合约交易,但它们所能实现的加速效果远不理想。主要原因是,所提出的并行执行机制不能有效地处理许多区块链应用程序中固有的冲突。在这项工作中,我们深入研究了以太坊中的历史交易执行痕迹。我们观察到,应用程序固有的冲突是限制可利用的并行执行过程中的主要因素。我们建议使用分区计数器和特殊的交换指令,打破应用程序的冲突链,以最大限度地提高潜在的加速比。当我们评估可实现的最大并行加速比时,这些技术将此限制加倍,与串行执行相比,总体加速比为18倍,从而接近最佳值。我们还提出了OCC-DA,一种具有确定性中止的乐观并发控制调度器,这使得在公共区块链设置中使用OCC调度成为可能。
英文摘要:
Traditional public blockchain systems typically had very limited transaction throughput because of the bottleneck of the consensus protocol itself. With recent advances in consensus technology, the performance limit has been greatly lifted, typically to thousands of transactions per second. With this, transaction execution has become a new performance bottleneck. Exploiting parallelism in transaction execution is a clear and direct way to address this and to further increase transaction throughput. Although some recent literature introduced concurrency control mechanisms to execute smart contract transactions in parallel, the reported speedup that they can achieve is far from ideal. The main reason is that the proposed parallel execution mechanisms cannot effectively deal with the conflicts inherent in many blockchain applications. In this work, we thoroughly study the historical transaction execution traces in Ethereum. We observe that application-inherent conflicts are the major factors that limit the exploitable parallelism during execution. We propose to use partitioned counters and special commutative instructions to break up the application conflict chains in order to maximize the potential speedup. When we evaluated the maximum parallel speedup achievable, these techniques doubled this limit to an 18x overall speedup compared to serial execution, thus approaching the optimum. We also propose OCC-DA, an optimistic concurrency control scheduler with deterministic aborts, which makes it possible to use OCC scheduling in public blockchain settings.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。