Popular blockchains such as Ethereum and several others execute complex transactions in blocks through user-defined scripts known as smart contracts. Serial execution of smart contract transactions/atomic-units (AUs) fails to harness the multiprocessing power offered by the prevalence of multi-core processors. By adding concurrency to the execution of AUs, we can achieve better efficiency and higher throughput. In this paper, we develop a concurrent miner that proposes a block by executing the AUs concurrently using optimistic Software Transactional Memory systems (STMs). It captures the independent AUs in a concurrent bin and dependent AUs in the block graph (BG) efficiently. Later, we propose a concurrent validator that re-executes the same AUs concurrently and deterministically using a concurrent bin followed by a BG given by the miner to verify the proposed block. We rigorously prove the correctness of concurrent execution of AUs and achieve significant performance gain over the state-of-the-art.
翻译:Etheum等大众链块和其他一些人等,通过用户定义的脚本(称为智能合同),在块块内进行复杂的交易。智能合同交易/原子单位(AUs)的连续执行未能利用多核心处理器的流行所提供的多处理力。通过增加对执行AU的计算法,我们就可以实现更高的效率和更高的输送量。在本文件中,我们开发了一个同时的矿工,通过同时使用乐观的软件交易记忆系统执行AUs提出一个块。它有效地在块图(BG)中同时用一个垃圾箱和依赖AUs(AU)捕捉独立AU。随后,我们提出了一个同时同时执行同一AUs的并行验证器,并用一个同时的垃圾箱,由矿工提供一个BG来核查拟议的块。我们严格证明同时执行AUs的正确性,并取得对状态技术的显著业绩收益。