Blockchain technology is a distributed, decentralized, and immutable ledger system. It is the platform of choice for managing smart contract transactions (SCTs). Smart contracts are self-executing codes of agreement between interested parties commonly implemented using blockchains. A block contains a set of transactions representing changes to the system and a hash of the previous block. The SCTs are executed multiple times during the block production and validation phases across the network. The execution is sequential in most blockchain technologies. In this work, we incorporate a direct acyclic graph (DAG) based parallel scheduler framework for concurrent execution of SCTs. The dependencies among a block's transactions are represented through a concurrent DAG data structure that assists in throughput optimization. We have created a DAG scheduler module that can be incorporated into blockchain platforms for concurrent execution with ease. We have also formally established the safety and liveness properties of the DAG scheduler. For evaluation, our framework is implemented in Hyperledger Sawtooth V1.2.6. The performance across multiple smart contract applications is measured for various scheduler types. Experimental analysis shows that the proposed framework achieves notable performance improvements over the parallel SCT execution frameworks.
翻译:区块链技术是一种分布式、去中心化且不可篡改的账本系统,是管理智能合约交易(SCTs)的首选平台。智能合约是利益相关方之间可自动执行的协议代码,通常通过区块链实现。区块包含一组表示系统状态变更的交易以及前一个区块的哈希值。在网络中,SCTs在区块生成和验证阶段会被多次执行。大多数区块链技术中,这些执行是顺序进行的。本研究提出了一种基于有向无环图(DAG)的并行调度器框架,用于并发执行SCTs。区块内交易之间的依赖关系通过一种并发DAG数据结构表示,该结构有助于优化吞吐量。我们开发了一个可轻松集成到区块链平台以实现并发执行的DAG调度器模块,并正式证明了该调度器的安全性与活跃性。为进行评估,我们在Hyperledger Sawtooth V1.2.6中实现了该框架,针对多种调度器类型测量了其在多个智能合约应用中的性能。实验分析表明,相比现有并行SCT执行框架,所提框架实现了显著的性能提升。