  The surging interest in blockchain technology has revitalized the search for
effective Byzantine consensus schemes. In particular, the blockchain community
has been looking for ways to effectively integrate traditional Byzantine
fault-tolerant (BFT) protocols into a blockchain consensus layer allowing
various financial institutions to securely agree on the order of transactions.
However, existing BFT protocols can only scale to tens of nodes due to their
$O(n^2)$ message complexity.
  In this paper, we propose FastBFT, a fast and scalable BFT protocol. At the
heart of FastBFT is a novel message aggregation technique that combines
hardware-based trusted execution environments (TEEs) with lightweight secret
sharing primitives. Combining this technique with several other optimizations
(i.e., optimistic execution, tree topology and failure detection), FastBFT
achieves low latency and high throughput even for large scale networks. Via
systematic analysis and experiments, we demonstrate that FastBFT has better
scalability and performance than previous BFT protocols.
