Skip to content

Latest commit

 

History

History
156 lines (126 loc) · 6.94 KB

File metadata and controls

156 lines (126 loc) · 6.94 KB
title Pattern: <short name>
status draft | ready
maturity research | concept | testnet | production
type standard | meta
layer L1 | L2 | offchain | hybrid
last_reviewed YYYY-MM-DD
works-best-when
<1-3 bullets>
avoid-when
<1-3 bullets>
context i2i | i2u | both
context_differentiation
i2i i2u
Symmetric trust; both parties have legal recourse
Asymmetric; CROPS must protect the user. Forced withdrawal is critical
crops_profile
cr o p s
high | medium | low | none
yes | partial | no
full | partial | none
high | medium | low
crops_context
cr o p s
Reaches `high` on L1 permissionless pools. Drops to `low` on permissioned L2s with operator-controlled exit.
...
...
...
post_quantum
risk vector mitigation
high | medium | low
EC-based commitments (Groth16, PLONK/KZG) broken by CRQC; HNDL risk for encrypted notes
STARK-based pools with hash commitments
visibility
counterparty chain regulator public
amounts
identities
commitments
nullifiers
full_tx with viewing key
standards
ERC-20
ERC-5564
EIP-7573
related_patterns
requires composes_with alternative_to see_also
pattern-shielding
pattern-stealth-addresses
pattern-tee-based-privacy
pattern-forced-withdrawal
open_source_implementations
url description language
Railgun shielded pool (L1, production)
Solidity
url description language
Aztec Network (privacy L2)
Noir

Intent

One short paragraph: the job this pattern does.

Components

What makes up this pattern. Primitives, on-chain code, and off-chain services all belong here. Each item gets a short note on its role.

If a component is also a standalone pattern in this map, link it via related_patterns rather than describing it in depth here.

Protocol

Numbered steps (5-8 max) from intent to settlement/audit. Each step is prefixed with the actor performing it in square brackets: [user], [contract], [relayer], [prover], [auditor], [operator], [regulator], etc.

  1. [user] Deposit ERC-20 tokens into shielded pool contract
  2. [contract] Emit commitment on-chain
  3. [user] Execute shielded transfer (generate zero-knowledge proof client-side)
  4. [relayer] Submit the shielded transaction for gas abstraction
  5. [auditor] Verify via viewing key

Optional for type: meta patterns (use sub_patterns instead).

Guarantees & threat model

  • What it hides / proves
  • Atomicity / finality
  • Audit & ops signal
  • Threat model: who the adversary is, what assumptions break the guarantees, and which failure modes are out of scope

Trade-offs

Generic performance, cost, DX notes and failure modes. CROPS context and post-quantum exposure now live in frontmatter (crops_context, post_quantum), not here.

  • Performance / cost / DX notes
  • Failure modes & mitigations

Example

"Bank A sells €5m zero-coupon to Bank B…" — 3-5 bullets showing flow. Optional for type: meta patterns.

See also

External references only: specs, blog posts, docs. Pattern-to-pattern links belong in related_patterns.