The Espresso Network
The universal base layer
The Espresso Network is a base layer (L1) for L2 chains, providing secure confirmations for transaction ordering and data across chains. Its globally distributed network of validators run a BFT consensus protocol (HotShot) to maintain an available and consistent database of transactions. L2 sequencers write transaction blocks to this database, which serves as a source of truth for the list of transactions that define L2 state. The advantages an L2 stands to gain from using Espresso Network include higher-throughput, lower operating costs, and faster transaction finality.
Whereas L2 transaction blocks written to Ethereum L1 take at least 15 minutes to finalize, L2 transaction blocks written to Espresso Network reach finality within a few seconds, enabling any L2 node to derive and confirm the L2 state with confidence. This is guaranteed by the safety of Espresso Network's consensus protocol. To break the integrity of Espresso Network transaction confirmations, an adversary would need to both compromise the L2 sequencer as well as control 33% of Espresso Network's distributed validators (and in the future 33% of $ESP), similar to other proof-of-stake consensus protocols. The transaction confirmation guarantees of Espresso thus mirror that of Ethereum L1.
An L2 using Espresso Network may have canonical bridges to other chains, including other L2s, Ethereum L1, Solana, Avalanche, etc. A canonical bridge allows for assets to be locked on the parent chain (e.g., Ethereum L1), minted on the L2 where it can be transferred between accounts or interact with other applications, and withdrawn back to the parent chain. In order for an asset to be withdrawn, a smart contract on the parent chain needs to receive and verify the state of the L2, a process often referred to as ``settlement". There are several different methods for doing so, including optimistic fraud games, zero-knowledge proofs, or TEE attestations. In all cases, the parent chain contract verifies that the state it receives is correctly calculated from the list of transactions posted by the authorized L2 sequencer and finalized by Espresso Network.
An L2 on Espresso Network may also choose to use another base layer for finality in addition to Espresso, such as Ethereum L1. In this case the confirmation from Espresso Network may be called a pre-confirmation. The L2 sequencer first writes the transaction blocks to Espresso Network and once it confirms that they were finalized by Espresso Network it subsequently publishes them to the second base layer (e.g. Ethereum L1). L2 clients can pre-confirm transactions by reading L2 transaction blocks from Espresso Network even before the second base layer has received them. L2 clients can also wait for confirmation from the second base layer. There is a mechanism to ensure that the second base layer finalizes the same list of L2 transactions as Espresso Network. Several implementations are possible: for example, a contract on the second base layer can filter blocks that weren't first finalized by Espresso, or L2 nodes reading transactions from the second base layer can apply this filtering directly when calculating L2 state.
Many L2 chains using Espresso Network continue to use Ethereum L1 as a second base layer and have a canonical bridge to Ethereum L1. These chains get pre-confirmations from Espresso Network that are more resilient than those relying only on centralized sequencers for pre-confirmations, which can be broken as a result of hacks or bad actors.
Applications that interact between multiple chains, such as bridges or cross-chain exchanges, are especially sensitive to the security and latency of transaction confirmations and are better able to serve chains that use Espresso Network.
Last updated

