In the realm of blockchain, smart contracts have achieved widespread adoption due to their inherent programmability. However, smart contracts suffer from long execution delays, resulting from the analysis of the contract code. Consequently, the development of a system capable of facilitating high throughput and scalability holds paramount importance. Sharding represents a prevalent technique that enhances performance by horizontally scaling storage into individual shards. However, existing sharding methods rely on 2PC to handle cross-shard transactions through data locking, necessitating the provision of read/write sets in advance, which poses impractical challenges for smart contracts. This paper introduces Thunderbolt, a novel sharding architecture that integrates the Execute-Order-Validate(EOV) and Order-Execute(OE) models to manage single-shard transactions (Single-shard TXs) and cross-shard transactions (Cross-shard TXs) without coordinating the transactions by 2PC. Shards in Thunderbolt share all the replicas, and Thunderbolt assigns each replica as the shard submitter to propose the transactions. Each shard submitter employs the EOV model to execute Single-shard TXs concurrently while applying the OE model for executing Cross-shard TXs. We leverage the DAG-based protocol as the consensus protocol and modify the consensus logic to ensure correctness between Single-shard TXs and Cross-shard TXs. We implemented a concurrent executor to execute the Single-shard TXs locally to dynamically assign the scheduling order without any read/write set knowledge. Additionally, we introduce a novel shard reconfiguration to withstand censorship attacks by relocating the shards from the current DAG to a new DAG and rotating the shard submitters. Our comparison of the results on SmallBank with serial execution on Narwhal-Tusk revealed a remarkable 50x speedup with 64 replicas.
翻译:暂无翻译