  Recent developments in blockchain technology have inspired innovative new
designs in resilient distributed and database systems. At their core, these
blockchain applications typically use Byzantine fault-tolerant consensus
protocols to maintain a common state across all replicas, even if some replicas
are faulty or malicious. Unfortunately, existing consensus protocols are not
designed to deal with geo-scale deployments in which many replicas spread
across a geographically large area participate in consensus. To address this,
we present the Geo-Scale Byzantine FaultTolerant consensus protocol (GeoBFT).
GeoBFT is designed for excellent scalability by using a topological-aware
grouping of replicas in local clusters, by introducing parallelization of
consensus at the local level, and by minimizing communication between clusters.
To validate our vision of high-performance geo-scale resilient distributed
systems, we implement GeoBFT in our efficient ResilientDB permissioned
blockchain fabric. We show that GeoBFT is not only sound and provides great
scalability, but also outperforms state-of-the-art consensus protocols by a
factor of six in geo-scale deployments.
