9.1 Rationale for Infinite Withdrawals
Most privacy protocols model deposits as single-use notes. Once spent, the note is exhausted and removed from the anonymity set. While simple, this model is poorly suited for real payments. It forces users to re-deposit repeatedly, fragments privacy, and leaks behavioral patterns through note churn. Abyss adopts a fundamentally different abstraction. Deposits are stateful commitments that can authorize multiple withdrawals over time. This allows a single large deposit to support many small, unlinkable withdrawals without re-entering the pool. The result is stronger privacy, better usability, and native support for merchant payments, payroll, and recurring transfers.9.2 Balance as a Hidden State Variable
Each commitment implicitly encodes a balance. This balance is not stored on-chain in the clear. Instead, it is enforced inside the zero-knowledge circuit. Let:- How many withdrawals have occurred
- The remaining balance
- The withdrawal schedule
9.3 Withdrawal Indexing and Nullifier Sequence
Each withdrawal is associated with an indexi and a corresponding nullifier:
- Each index may be used exactly once
- Indices need not be sequential on-chain
- The protocol does not track indices, only nullifiers
9.4 ZK Circuit Enforcement
The withdrawal circuit proves:9.5 On-Chain Accounting Model
On-chain, the protocol maintains only:- Address-based balance tracking
- State bloat
- Correlation via balance observation
9.6 Privacy and Payment Implications
This model enables:- Micropayments from a single deposit
- Merchant checkout flows without account reuse
- Streaming payments without stateful channels
- Arbitrary timing without linkage

