## 2 Backgrounds and Related Works
### Parallel Computation in Smart Contracts  
Much of the existing research on parallel computation in smart contracts in blockchain systems relates to the parallel execution of multiple smart contracts on one node to increase the processing speed on individual nodes. For example, [PERSON] et al. [21] proposed a way for miners to simultaneously execute multiple smart contracts. Their method suggests that the node utilizes parallel computation after calculating how to order the smart contracts that will be executed in advance. [PERSON] et al. [22] proposed a multi-threaded approach to execute smart contracts in parallel using a partitioning algorithm to solve the parallel-execution-related synchronization problem. [PERSON] et al. [23] suggested that nodes need to classify smart contracts into those that can be processed in parallel and those that can only perform serial computation by using the software transaction memory method [24]. The advantage of these methods [21; 22; 23] is that they can be applied without making any changes to the blockchain system itself, but there is one disadvantage: benefits other than the speed of calculation at each node cannot be obtained. However, this disadvantage is minor in some cases. Many researchers have studied the sharding-technique-based parallel computation in smart contracts. [PERSON] et al. [25] explained how the sharding protocol could be applied to the public blockchain and possible problems with sharding. [PERSON] et al. [26] proposed a protocol that randomizes the rules that determine in which shards nodes will participate. The results of their protocol are publicly verifiable, unbiased, and unpredictable in determining the node partition so that the sharding protocol can be run with Byzantine fault tolerance. [PERSON] et al. [27] proposed a protocol that distributes smart contract executions over multiple nodes. Their method is designed to overcome the limitations of the existing blockchain paradigm by allowing for the execution of smart contracts with concurrent contention. [PERSON] et al. [14] proposed a new blockchain network that allows nodes in a public blockchain to deploy and execute smart contracts that provide concurrency-related functions within the framework of a smart contract. The proposed blockchain network was named _ConCurrency_, and was specialized for calculation using the MapReduce [28], which was developed by Google to process extensive data-based operations in a distributed system. There was also an effort to pursue parallelizing smart contracts by combining the account ledger model with the UTXO ledger model, which is easy to shard. The cryptocurrency Qtum [29] builds on the UTXO model of Bitcoin but allows for the creation and execution of smart contracts using the account model in Ethereum. The Central Bank Digital Currency Cryptocurrency (CDBC) project proposed in [30] suggests using the account-based ledger model for frequently circulating digital currencies, especially digital assets and smart contracts with large fluctuations in value and weak liquidity, and a UTXO-based ledger model for large micropayment transactions. [PERSON] et al. [31] proposed an extension to Bitcoin's UTXO model that supports a substantially more expressive form of validation scripts, including scripts that act like smart contracts. Many researchers have also studied multichain-based parallel computation in smart contracts. Plasma [32] used a smart contract on the main chain to create a private blockchain (off-chain), manage all sub-chains created under it, and redesign the data in the sub-chain to be reframed for MapReduce-based parallel computation. A similar approach was also used in the self project [33], which was proposed to build a multi-chain parallel-computing blockchain framework. [PERSON] et al. [34] proposed a method that can be used to handle transactions registered in the blockchain differently according to their importance, usingmultiple sidechains that are branched from and reconnected to the mainchain.