Sharding enhances blockchain scalability by dividing the network into shards, each managing specific unspent transaction outputs or accounts. Cross-shard transactions pose a critical challenge to the security and efficiency of sharding blockchains. Current solutions, however, either prioritize security with assumptions and substantial investments, or focus on reducing overhead and overlooking security considerations. In this paper, we present Kronos, a generic and efficient sharding blockchain consensus ensuring robust security. We introduce a buffer mechanism for atomic cross-shard transaction processing. Shard members collectively maintain a buffer to manage cross-shard inputs, ensuring that a transaction is committed only if all inputs are available, and no fund is transferred for invalid requests. While ensuring security, Kronos processes transactions with optimal intra-shard communication overhead. Additionally, we propose a reduction for transaction invalidity proof generation to simple and fast multicasting, leading to atomic rejection without executing full-fledged Byzantine fault tolerance protocol in optimistic scenarios. Moreover, Kronos adopts a newly designed batch mechanism, reducing inter-shard message complexity to $O((m$log$m/b)\lambda)$. Kronos operates without dependence on any time or client honesty assumption, serving as a plug-in sharding blockchain consensus supporting applications in diverse network environments including asynchronous ones. We implement Kronos using two prominent BFT protocols: Speeding Dumbo and HotStuff. Extensive experiments demonstrate Kronos achieving a substantial throughput of 68.6ktx/sec with 1.7sec latency. Compared with state-of-the-art solutions, Kronos outperforms in all cases, achieving up to a 42x improvement in throughput and a 50% reduction in latency when cross-shard transactions dominate the workload.
翻译:暂无翻译