Abstract: With the maturation and advancement of blockchain technology, a novel execute-order-validate (EOV) architecture has been proposed, allowing transactions to be executed in parallel during the execution phase. However, parallel execution may lead to multi-version concurrency control (MVCC) conflicts during the validation phase, resulting in transaction invalidation. Based on different causes, we categorize conflicts in the EOV blockchain into two types: within-block conflicts and cross-block conflicts, and propose an optimization solution called FabricMan based on Fabric v2.4. For within-block conflicts, a reordering algorithm is designed to improve the transaction success rate and parallel validation is implemented based on the transaction conflict graph. We also merge transfer transactions to prevent triggering multiple version checks. For cross-block conflicts, a cache-based version validation mechanism is implemented to detect and terminate invalid transactions in advance. Experimental comparisons are conducted between FabricMan and two other systems, Fabric and Fabric++. The results show that FabricMan outperforms the other two systems in terms of throughput, transaction abort rate, algorithm execution time, and other experimental metrics.
Keywords: blockchain; MVCC conflict; reordering; parallel validation; transaction merging