  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.
