Introduction
We introduced the motivation, design principles and high-level requirements of the Espresso Network in an earlier note. In this post, we will dive deeper into understanding the design of the two key components of the Espresso Network: the HotShot consensus protocol and EspressoDA, our custom data availability (DA) layer.
We will cover this in three sections:
Part I: Understanding the constraints of a sequencer network, and how it is different from a state machine replication (SMR) system
Part II: HotShot Consensus
Part III: EspressoDA for Data Availability
(For a more technical explanation of this design, read our academic paper, though note that it refers to EspressoDA as Tiramisu DA.)