Sharding scales throughput by splitting blockchain nodes into parallel groups. However, different shards' independent and random scheduling for cross-shard transactions results in numerous conflicts and aborts, since cross-shard transactions from different shards may access the same account. A deterministic ordering can eliminate conflicts by determining a global order for transactions before processing, as proved in the database field. Unfortunately, due to the intertwining of the Byzantine environment and information isolation among shards, there is no trusted party able to predetermine such an order for cross-shard transactions. To tackle this challenge, this paper proposes Prophet, a conflict-free sharding blockchain based on Byzantine-tolerant deterministic ordering. It first depends on untrusted self-organizing coalitions of nodes from different shards to pre-execute cross-shard transactions for prerequisite information about ordering. It then determines a trusted global order based on stateless ordering and post-verification for pre-executed results, through shard cooperation. Following the order, the shards thus orderly execute and commit transactions without conflicts. Prophet orchestrates the pre-execution, ordering, and execution processes in the sharding consensus for minimal overhead. We rigorously prove the determinism and serializability of transactions under the Byzantine and sharded environment. An evaluation of our prototype shows that Prophet improves the throughput by $3.11\times$ and achieves nearly no aborts on 1 million Ethereum transactions compared with state-of-the-art sharding.
翻译:分片通过将区块链节点分成并行组来扩展吞吐量。然而,不同分片对跨分片交易的独立和随机调度会导致大量冲突和中止,因为来自不同分片的跨分片交易可能会访问相同的账户。确定性排序可以通过在处理之前为交易确定全局顺序来消除冲突,正如在数据库领域中所证明的那样。不幸的是,由于拜占庭环境和分片之间的信息隔离纠缠在一起,没有值得信赖的第三方能够为跨分片交易预先确定这样的顺序。为了解决这个挑战,本文提出了一种基于拜占庭容错的确定性排序的无冲突分片区块链——Prophet。它首先依赖于来自不同分片的非信任自组织节点联盟来预执行交叉分片事务以获取有关排序的前提信息。然后通过分片合作,根据无状态排序和预执行结果的后续验证确定可信的全局顺序。遵循该顺序,分片因此有序执行和提交交易而没有冲突。Prophet 在分片共识中协调预执行、排序和执行过程,以获得最小的开销。我们严格证明了在拜占庭和分片环境下交易的确定性和串行化。我们的原型评估表明,与最先进的分片相比,Prophet 的吞吐量提高了 $3.11 \times$,并且在100万个以太坊交易中几乎没有中止。