  The popularity of permissioned blockchain systems demands BFT SMR protocols
that are efficient under good network conditions (synchrony) and robust under
bad network conditions (asynchrony). The state-of-the-art partially synchronous
BFT SMR protocols provide optimal linear communication cost per decision under
synchrony and good leaders, but lose liveness under asynchrony. On the other
hand, the state-of-the-art asynchronous BFT SMR protocols are live even under
asynchrony, but always pay quadratic cost even under synchrony. In this paper,
we propose a BFT SMR protocol that achieves the best of both worlds -- optimal
linear cost per decision under good networks and leaders, optimal quadratic
cost per decision under bad networks, and remains always live.
