Abstract:
Recently, as blockchain technology continues to gain traction in various industries, there is an increasing need to improve the performance of permissioned blockchains in order to accommodate a wide range of applications. Sharding techniques have been proposed to optimize blockchain performance by dividing the network into committees, allowing for parallel transaction execution within each committee. However, the existence of expensive cross-shard transactions hinders the progress of sharded blockchain. Some work attempts to use the two-phase commit(2PC) protocol to process cross-shard transactions. However, these approaches suffer from substantial limitations in terms of performance and scalability, failing to meet the demands of modern industries for large-scale systems. Furthermore, these transactions demonstrate inadequate performance under high conflict scenarios, imposing additional constraints on the overall system performance. In this paper, we propose an approach for executing cross-shard transactions in sharded permissioned blockchains. The approach introduces determinism to the execution of cross-shard transactions, eliminating the need for additional coordination overhead while improving the efficiency of the system. To further improve system throughput, we utilize a transaction reordering mechanism to optimize the execution under conflicts. Experimental results show that our approach offers 1.6 times to 2.5 times higher throughput compared with the 2PC method, and 2.9 times to 25 times higher throughput compared with the non-optimized system in conflict scenarios.