Article Preview
TopIntroduction
Alliance chain is a type of blockchain that offers decentralization and node management capabilities, garnering significant attention for its widespread adoption in various industries, such as Internet of things (IoT), smart city, big data finance, and healthcare (Y. Li et al., 2021). However, with the emergence of scenarios involving increased nodes and heightened computational demands, such as in the case of data-intensive IoT (Lv et al., 2022; Memos et al., 2018; Plageras et al., 2018; Raj & Pani, 2022) and complex intelligent systems (Afify et al., 2022; Fatemidokht et al., 2021; D. Li et al., 2019; Sharma et al., 2022), alliance chains face notable scalability challenges, such as communication congestion and reduced throughput (Dinh et al., 2017). This phenomenon primarily arises from the requirement for all transactions in the blockchain structure to utilize nodes’ computing and storage resources (Du et al., 2021; C. Li et al., 2021), leading to substantial wastage of time and space (Qi et al., 2020). Sharding protocol improves scalability by partitioning different responsibilities and resources to different sets of nodes (Yu et al., 2020). In 2016, Elastico (Luu et al., 2016) pioneered by integrating the sharding protocol with blockchain, thereby proposing an innovation that prevents each participating node from incurring redundant communication and computation overhead. Sharding protocol has gradually become the prevailing on-chain solution in the subsequent development, and many studies (Al-Bassam et al., 2017; Hellings & Sadoghi, 2023; Hong et al., 2021; Huang et al., 2022; Kokoris-Kogias et al., 2018; Zamani et al., 2018) have proved its effectiveness and reflected its advantages. In a sharding protocol, nodes participating in the consensus process are divided into different shards, each responsible for generating and maintaining a specific portion of the alliance chain. As a result, the entire system comprises multiple shards, essentially representing parallel chains within a single network. Within each shard, most communication predominantly occurs among the nodes residing there. Transactions are distributed to shards based on specific rules. A vital category of transactions, known as cross-shard transactions, necessitates the involvement of multiple shards (Wang & Raviv, 2021). While cross-shard transactions do not encompass all transactions, sharding protocols degenerate the blockchain into multiple independent systems (Das et al., 2020) without this support. However, processing cross-shard transactions requires participation in complex communication and coordination protocols between shards (Hong et al., 2021). Unfortunately, many existing solutions for handling cross-shard transactions rely on protocols that require splitting such transactions into several sub-transactions, which complicates the process by calling the consensus algorithm multiple times. Even in a typical setup where the workload comprises a low percentage of cross-shard transactions, the performance experiences a substantial decline due to the processing flow (Amiri et al., 2019). The significance of addressing cross-shard transactions becomes evident as their proportion increases with the number of shards. For example, cross-shard transactions can account for 99.98% of the total transaction volume in a scenario with 16 shards (Zamani et al., 2018). Consequently, the way these transactions are handled results in significant processing overhead, negating the scalability enhancements provided by the sharding protocol (Deepa et al., 2022). Addressing these challenges is essential to unlock the full potential of sharding protocols, enhancing their efficiency, scalability, and applicability across various domains.