  Sharding is a promising blockchain scaling solution. But it currently suffers
from high latency and low throughput when it comes to cross-shard transactions,
i.e., transactions that require coordination from multiple shards. The root
cause of these limitations arise from the use of the classic two-phase commit
protocol, which involves locking assets for extended periods of time. This
paper presents Rivet, a new paradigm for blockchain sharding that achieves
lower latency and higher throughput for cross-shard transactions. Rivet has a
single reference shard running consensus, and multiple worker shards
maintaining disjoint states and processing a subset of transactions in the
system. Rivet obviates the need for consensus within each worker shard, and as
a result, tolerates more failures within a shard and lowers communication
overhead. We prove the correctness and security of Rivet. We also propose a
more realistic framework for evaluating sharded blockchains by creating a
benchmark based on real Ethereum transactions. An evaluation of our prototype
implementation of Rivet and the baseline two-phase commit, atop 50+ AWS EC2
instances, using our evaluation framework demonstrates the latency and
throughput improvements for cross-shard transactions.
