As explained in the layer 2s section, Abstract inherits the security properties of Ethereum by posting batches of L2 transactions to the L1 and using ZK proofs to ensure their correctness.

This relationship is implemented using both off-chain components as well as multiple smart contracts (on both L1 and L2) to transfer batches of transactions, enforce data availability, ensure the validity of the ZK proofs, and more.

Each transaction goes through a flow that can broadly be separated into four phases, which can be seen for each transaction on our block explorers:

1

Abstract (Processed)

The transaction is executed and soft confirmation is provided back to the user about the execution of their transaction (i.e. if their transaction succeeded or not).

After execution, the sequencer both forwards the block to the prover and creates a batch containing transactions from multiple blocks.

Example batch ↗.

2

Ethereum (sending)

Multiple batches are committed to Ethereum in a single transaction in the form of an optimized data submission that only details the changes in blockchain state; called a .

This step is one of the roles of the sequencer; calling the commitBatches function on the L1 rollup contract and ensuring the data availability of these batches.

The batches are stored on Ethereum using blobs following the EIP-4844 standard.

Example transaction ↗

3

Ethereum (validating)

A ZK proof that validates the batches is generated and submitted to the L1 rollup contract for verification by calling the contract’s proveBatches function.

This process involves both the prover, which is responsible for generating the ZK proof off-chain in the form of a ZK-SNARK & submitting it to the L1 rollup contract as well as the the verifier, which is responsible for confirming the validity of the proof on-chain.

Example transaction ↗

4

Ethereum (executing)

Shortly after validation is complete, the state is finalized and the Merkle tree with L2 logs is saved by calling the executeBatches function on the L1 rollup contract. Learn more about state commitments.

Example transaction ↗