  Consensus mechanisms used by popular distributed ledgers are highly scalable
but notoriously inefficient. Byzantine fault tolerance (BFT) protocols are
efficient but far less scalable. Speculative BFT protocols such as Zyzzyva and
Zyzzyva5 are efficient and scalable but require a trade-off: Zyzzyva requires
only $3f + 1$ replicas to tolerate $f$ faults, but even a single slow replica
will make Zyzzyva fall back to more expensive non-speculative operation.
Zyzzyva5 does not require a non-speculative fallback, but requires $5f + 1$
replicas in order to tolerate $f$ faults. BFT variants using hardware-assisted
trusted components can tolerate a greater proportion of faults, but require
that every replica have this hardware.
  We present SACZyzzyva, addressing these concerns: resilience to slow replicas
and requiring only $3f + 1$ replicas, with only one replica needing an active
monotonic counter at any given time.
  We experimentally evaluate our protocols, demonstrating low latency and high
scalability. We prove that SACZyzzyva is optimally robust and that trusted
components cannot increase fault tolerance unless they are present in greater
than two-thirds of replicas.
