---
# System prepended metadata

title: Privacy L2 Analysis Table

---

# Privacy L2 Analysis Table (PoC)

> This table is meant to answer institutions' questions reagrding privacy L2 solutions, we've indenitfied that it's hard to compare them in terms of throughput, security and censorship-resistance. This document is a Proof-Of-Concept that we want to design with the help of L2 teams.

### 1. ⚙️ Performance & Cost

| Metric | Detail (What is Measured) | Key Consideration (Discrete Metrics) |
| :--- | :--- | :--- |
| **Maximum Throughput (Max TPS)** | *Maximum sustained Transactions Per Second (TPS) supported by the L2.* | **Max theoretical TPS** for [Simple Value Transfer](#Simple-Value-Transfer).<br> **Tested Peak TPS** (must provide link to the benchmark) <br> *If applicable, report both $\text{TPS}_{Public}$ and $\text{TPS}_{Private}$*  |
| **Transaction Cost** | *The total cost paid by the user per L2 transaction.* | **Gas Usage:** Report in `L1 gas units` + `L2 gas units` for [Simple Value Transfer](#Simple-Value-Transfer).  |
| **Bridging & Exit Costs** | *The total cost of moving assets between L1 <-> L2.* | **L2 → L1 Withdrawal cost:** Gas units for canonical bridging. <br>**Forced Exit to L1:** cost in gas units. |
| **Economic Finality Time** | *The time required for a transaction to be included in a proof and validated on L1.* | `Soft Finality Time` (instant L2 inclusion), `Hard Finality Time` (Time until L1 Commitment + Proof Verification), `Challenge Period Duration` |
| **Transaction Information Retrieval** | *The bandwidth/time for a user to retrieve their incoming funds* | **Sync Mechanism:** `Trial decryption`, `Detection Keys/Tags`, `Server-side filtering`.<br> **Sync Speed:** e.g., "time to sync 10k blocks on client" |

### 2. 🛡️ Privacy & Data Availability (DA)

| Metric | Detail (What is Measured) | Key Consideration (Discrete Metrics) |
| :--- | :--- | :--- |
| **Level of Privacy** | *The scope of information hidden from public view.* | **Visibility:** Who can see what. What: `Balance`, `Sender`/`Receiver` identities, `Amount`, `Code`/`Function execution`, `Contract Bytecode`. Who: `Public`, `Sequencer`, `Prover` |
| **DA Layer*** | *Where the data required to reconstruct the L2 state is posted.* | **DA Destination**: `Ethereum L1 Call Data`, `L1 Data Blobs (EIP-4844)`, or `External DA Committee (DAC)` |
| **Trust Assumption for DA*** | *The set of parties the user must trust to access their data.* | **Trust Level**: `Trustless/Secured by L1` (Ethereum validators), `Trusted DAC` (external parties). |
| **Type of Data Posted to L1*** | *What information is broadcast to L1 for state verification.* | **Transparency**: `Full Transaction Data`, `State Diff` vs. Validity Proof Only |
| **Compliance/Auditing Features** | *Mechanisms for optional selective disclosure of private data for regulatory or auditing purposes.* | **Disclosure Mechanism**: `Incoming Viewing Key`, `Outgoing Viewing Key`, `Full History Viewing Key`. |
| **Privacy Trust Model** | *The fundamental guarantee of privacy* | **Base**: `Cryptographic (Math)`, `Threshold (MPC/FHE - Honest Majority)`. **Collusion Threshold:** How many actors must collude to break privacy? (e.g., "m-of-n") |
| **Network Privacy** | *Protection of metadata at the transport layer* | **RPC privacy**: Is there any way to privately query a RPC node? (e.g., `Tor/I2P support`, `Oblivious HTTP`, `Mixnet`, ...) |

*`*` L2Beat direct match*

### 3. ⚖️ Security & Governance

| Metric | Detail (What is Measured) | Key Consideration (Discrete Metrics) |
| :--- | :--- | :--- |
| **Sequencer Decentralization** | *The degree of decentralization for the entity that orders and submits L2 transactions to L1.* | **Structure**: `Centralized`, `Permissioned Set`, `Decentralized Auction`, `Based (L1 Sequencing)` |
| **Censorship Resistance** | *Mechanism to bypass a censoring sequencer* | **Mechanism**: `Force inclusion` (Sequencer must process), `Escape Hatch` (Direct L1 withdraw), `Council` (Permissioned) <br> **User Burden:** `Smart Wallet (Stateless)`, `Merkle Witness Needed`, `Full State Reconstruction` <br> **Latency**: `Immediate`, `Challenge Period`|
| **Prover Mechanism** | *How the validity proofs are generated and verified.* | **Prover Access**: `Whitelist`, `Permissionless`<br> **Proof System**: `Plonk`, `Stark`, `FHE`, `Groth16`. |
| **Upgrade Process** | *The mechanism for updating the L2 smart contracts on L1.* | **Governance Structure**: `Multisig (m-of-n)`, `Immutable`, `DAO Vote` <br> Timelock: `Timelock Delay in Days/Hours.` |
| **Client-Side Requirements** | *The computational cost placed on the end-user's device for a typical transaction.* | **Proof Generation**: Required on user's client (`Yes`/`No`)?<br> **Proving Features: ** `Mobile Proving`, `Trusted Delegation`, `Blind Delegation`. <br>**Proving benchmark**: `Proof Duration`, `Proof Size`, `Peak Memory`, `preprocessing size` for **ERC-20 transfer proof generation**.
| **Finality Security** | *The underlying cryptographic or economic guarantee of transaction validity.* | **Type**: `Validity (ZK)`, `Optimistic (Fraud Proofs)` |
| **Proof System Setup** | *The initial setup requirement of the cryptographic proof system.* | **Setup Type**: `Trusted Ceremony`, `Transparent` |
| **Programmability** | *Developer environment and experience* | **Language:** `EVM/Solidity`, `DSL`, `WASM (Rust/C++)`<br> **Deployment:** `Permissionless` vs. `Whitelisted apps` |
| **PQ Security** | *Long-term hardness assumptions* | Are the encryption/hashing schemes used to hide data susceptible to HNDL (Harvest-Now, Decrypt-Later) attacks? (`Yes`/`No`) |

---

### Simple Value Transfer

We define a Simple Value Transfer as a protocol-native payment operation in which a sender transfers a specified amount of an ERC-20 (or other value abstraction).  A token is sent to a single recipient from a single sender, resulting in a valid state transition accepted by the rollup.

**$\boldsymbol{\text{TPS}_{Public}}$ for public transfers:**
- Transfer semantics are publicly observable according to the protocol design (e.g. sender, recipient, and amount are not hidden).
- Completion **SHOULD** be defined by L2 inclusion and validity.
- No optional features are enabled unless they are protocol-mandatory.

**$\boldsymbol{\text{TPS}_{Private}}$ for private transfers**:
- Transfer semantics **MUST** satisfy the protocol’s full privacy mode (e.g. hiding sender, recipient, amount, or balance, as applicable).
- Completion **MUST** be defined by L2 inclusion and validity under private execution.
-  Optional features (memos, compliance disclosures, multiple outputs, offchain cooperation) are out of scope unless strictly required by the protocol. However, any features that are excluded when reporting TPS **MUST NOT** be implicitly assumed elsewhere in the performance, privacy, or security analysis. In other words, the reported TPS must correspond to a self-consistent protocol configuration: a system should not report throughput for a reduced feature set while claiming properties in other categories that require additional, unaccounted-for overhead.

**Explicit Non-Goals / Assumptions:**
- This definition does not attempt to equalize:
    - data availability models,
    - finality,
    - confirmation UX,
    - compliance or audit features,
    - or offchain coordination requirements.
- These aspects **SHOULD** intentionally evaluated in separate metrics.
- We acknowledge that some designs **MAY** not map perfectly to this abstraction; in such cases, assumptions will be stated explicitly rather than implicitly optimized.