  Recently, we saw the emergence of consensus-based database systems that
promise resilience against failures, strong data provenance, and federated data
management. Typically, these fully-replicated systems are operated on top of a
primary-backup consensus protocol, which limits the throughput of these systems
to the capabilities of a single replica (the primary). To push throughput
beyond this single-replica limit, we propose concurrent consensus. In
concurrent consensus, replicas independently propose transactions, thereby
reducing the influence of any single replica on performance. To put this idea
in practice, we propose our RCC paradigm that can turn any primary-backup
consensus protocol into a concurrent consensus protocol by running many
consensus instances concurrently. RCC is designed with performance in mind and
requires minimal coordination between instances. Furthermore, RCC also promises
increased resilience against failures. We put the design of RCC to the test by
implementing it in ResilientDB, our high-performance resilient blockchain
fabric, and comparing it with state-of-the-art primary-backup consensus
protocols. Our experiments show that RCC achieves up to 2.75x higher throughput
than other consensus protocols and can be scaled to 91 replicas.
