L2PS (Layer 2 Privacy Subnet) Framework
L2PS is a privacy-preserving transaction layer that enables encrypted transactions on the Demos Network. Unlike public L1 transactions, L2PS transactions are encrypted client-side and only decrypted by authorized network participants.Key Features
Client-Side Encryption
Transactions are encrypted with AES-256 in your browser before leaving your device.
Batch Rollups
Multiple L2PS transactions are bundled into a single L1 transaction per block.
ZK Proofs
PLONK zero-knowledge proofs verify batch validity without revealing content.
Authenticated History
Only address owners can access their private transaction history via cryptographic signatures.
How It Works
Transaction Flow
Client Encrypts
Transaction is encrypted with shared AES-256 key in the browser before transmission.
Privacy Model
| Component | L1 (Public) | L2PS (Private) |
|---|---|---|
| Amount | Visible to all | Encrypted |
| Recipient | Visible to all | Encrypted |
| Sender | Visible to all | Visible (outer tx) |
| History Access | Anyone | Owner only (signature required) |
Transaction Lifecycle
Every L2PS transaction progresses through three stages:Transaction Fee
Each L2PS transaction costs 1 DEM. This creates a deflationary mechanism while ensuring fair access to privacy features.
Architecture Components
| Component | Description |
|---|---|
| L2PS Mempool | Separate storage for encrypted transactions |
| Batch Aggregator | Bundles transactions per L1 block (max 10 tx) |
| ZK Prover | Generates PLONK proofs for batch validity |
| L2PS Consensus | Applies GCR edits to L1 state |
| Hash Service | Relays consolidated hashes to validators |
Network Participation
To participate in an L2PS network, nodes must:- Have the shared AES-256 key and IV
- Be configured with the correct L2PS UID
- Store and sync the L2PS mempool with other participants