You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**C0DL3** is a sovereign ZK privacy darkpool Layer-3 for the public zkSync ecosystem. Every account is an AA smart contract wallet allowing all balances to be private by default-- storing Pedersen commitments instead of plaintext values. A shielded pool provides full sender/recipient anonymity on demand. Fixed-denomination bridge pools (HEAT, ZK, C0LD, ETH) create anonymity sets at the privacy boundary. ZK validity proofs are generated via SP1 (RISC-V zkVM).
7
+
**C0DL3** is a sovereign ZK privacy darkpool Layer-3 for the public zkSync ecosystem. Every account is an AA smart contract wallet allowing all balances to be private by default-- storing Pedersen commitments instead of plaintext values. A shielded pool provides full sender/recipient anonymity on demand. Fixed-denomination darkbridge pools (HEAT, ZK, C0LD, ETH) create anonymity sets at the privacy boundary. ZK validity proofs generated via SP1 (RISC-V zkVM).
8
8
9
9
---
10
10
11
11
## Architecture
12
12
13
13
```
14
14
User Wallet (SDK)
15
-
│ UserOperation (commitments + proofs, no plaintext amounts)
15
+
│ UserOperation (commitments + proofs instead of public/plaintext amounts)
16
16
▼
17
17
Sequencer (C0DL3 node)
18
18
│ Blind processing — sees only commitments
19
19
▼
20
20
SP1 Prover
21
21
│ Groth16 proof of block validity
22
22
▼
23
-
zkSync Era (settlement) → Ethereum (L1)
23
+
zkSync Era L2 (settlement) → Ethereum (L1)
24
24
```
25
25
26
26
**Privacy layers:**
@@ -38,17 +38,17 @@ zkSync Era (settlement) → Ethereum (L1)
38
38
39
39
## Key Features
40
40
41
-
### Privacy-by-Default Account Abstraction
41
+
### Default Privacy by Account Abstraction
42
42
Every account is a `PrivateWallet` contract storing `balanceCommitment` — a Pedersen commitment `C = amount*G + r*H`. The sequencer never sees plaintext balances. Wallet auth uses Schnorr signatures (Ristretto255). Gas is paid by paymasters to break the sender-gas link.
43
43
44
44
### Shielded Pool
45
-
For full anonymity (hidden sender + recipient), the SDK auto-routes transfers through the shielded pool: shield → private transfer → delayed unshield. Commitments, nullifiers, Merkle membership proofs — nothing is revealed to the sequencer.
45
+
For full anonymity (hidden sender + recipient + amount), the SDK auto-routes transfers through the shielded pool: shield → private transfer → delayed unshield. Commitments, nullifiers, Merkle membership proofs — nothing is revealed to the sequencer.
46
46
47
47
### Confidential Transactions
48
48
Transfers using Pedersen commitments are verified by the conservation check precompile: `old_sender_commit - new_sender_commit == new_recipient_commit - old_recipient_commit`. Bulletproofs ensure amounts stay in `[0, 2^64)`.
49
49
50
50
### Precompile Suite
51
-
C0DL3 ships privacy-native and Ethereum-compatible precompiles, all SP1-accelerated:
51
+
C0DL3 ships both privacy-native and Ethereum-compatible precompiles, all SP1-accelerated:
52
52
53
53
**Privacy primitives:**
54
54
@@ -86,7 +86,7 @@ BN254 ecPairing (0x0008) enables on-chain Groth16 ZK proof verification in any S
86
86
87
87
### Sovereign Prover
88
88
89
-
C0DL3 uses a **sovereign prover model** — anyone with a GPU can prove blocks and earn HEAT rewards. No centralized prover network required.
89
+
C0DL3 uses a **sovereign prover model** — anyone with a GPU can prove blocks and earn HEAT rewards.
90
90
91
91
**Proof flow:**
92
92
@@ -99,7 +99,7 @@ C0DL3 uses a **sovereign prover model** — anyone with a GPU can prove blocks a
99
99
6. Block hard-confirmed ─── proof batched for L2 settlement
100
100
```
101
101
102
-
**Settlement path:**`L3 batch → SP1 Groth16 proof → COLDL3Settlement.sol on zkSync Era → Ethereum L1`
102
+
**Settlement path:**`L3 batch → Groth16/PLONK proof → COLDL3Settlement.sol on zkSync Era L2 → Ethereum L1`
0 commit comments