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.
翻译:块链技术是一种分布式、分散式和不可变的分类账系统。它是管理智能合同交易的首选平台。智能合同是共同使用块链执行的有关各方之间协议的自动执行代码。块块包含一系列交易,代表着系统的变化和前一个块的散数。SCT是在整个网络的块生产和验证阶段中多次执行的。在大多数块链技术中,执行是相继进行的。在这项工作中,我们加入了一个基于直接循环图(DAG)的平行调度框架,用于同时执行SCT。块交易之间的依赖性通过同时的 DAG数据结构体现,有助于吞吐量优化。我们创建了一个DAG排程模块,可以纳入块链平台,以便于同时执行。我们还正式建立了DAG排表的安全和活性特性。关于评价,我们的框架在超利格Sawtouth V1.2.6中实施。我们的框架在多个智能合同应用程序中的性能为各种调度类型进行了测量。实验性分析显示,拟议的框架在平行的SCT执行框架上取得了显著的改进。