  Permissioned blockchains are supported by identified but individually
untrustworthy nodes, collectively maintaining a replicated ledger whose content
is trusted. The Hyperledger Fabric permissioned blockchain system targets
high-throughput transaction processing. Fabric uses a set of nodes tasked with
the ordering of transactions using consensus. Additional peers endorse and
validate transactions, and maintain a copy of the ledger. The ability to
quickly disseminate new transaction blocks from ordering nodes to all peers is
critical for both performance and consistency. Broadcast is handled by a gossip
protocol, using randomized exchanges of blocks between peers. We show that the
current implementation of gossip in Fabric leads to heavy tail distributions of
block propagation latencies, impacting performance, consistency, and fairness.
We contribute a novel design for gossip in Fabric that simultaneously optimizes
propagation time, tail latency and bandwidth consumption. Using a 100-node
cluster, we show that our enhanced gossip allows the dissemination of blocks to
all peers more than 10 times faster than with the original implementation,
while decreasing the overall network bandwidth consumption by more than 40%.
With a high throughput and concurrent application, this results in 17% to 36%
fewer invalidated transactions for different block sizes.
