Synchro: Block-generation Protocol to Synchronously Process Cross-shard Transactions in State Sharding
Traditional blockchains cannot achieve the same transaction throughput as Web2, so their use cases are limited. Therefore, state sharding has been proposed to improve transaction throughput by dividing the blockchain network and managing states and transactions in parallel. However, Nightshade in the NEAR Protocol, a type of state sharding, provides a rollback protocol to cancel the generation of blocks containing inconsistent transaction results because processing cross-shard transactions (CSTXs) in a 2-phase commit may cause state inconsistency. We present a new attack that interferes with the generation of new blocks by repeatedly executing CSTXs that certainly causes state inconsistency, causing continuous rollback. We also propose a block-generation protocol called Synchro to incorporate all the state changes of each CSTX into the same block by coordinating the block prior to approving transactions in each shard. Synchro eliminates the occurrence of the state inconsistency caused by the CSTXs and the necessity of the rollback protocol. We use zero-knowledge proof to make Synchro scalable in the global validation phase. Although the actual overhead of the zero-knowledge proof has not yet been evaluated, we show that Synchro could achieve the same transaction throughput as Nightshade theoretically, depending on the future innovations in zero-knowledge proof techniques.
READ FULL TEXT