Skip to main content

ASP Layer

Overview - Role in the Protocol

The Association Set Provider is a crucial compliance layer that controls which deposits can be privately withdrawn from Privacy Pools. It maintains a set of approved labels and provides the data necessary for cryptographic proofs of label inclusion, bridging privacy with regulatory requirements.

Core Responsibilities

  • Manages list of approved deposit labels
  • Provides inclusion proofs for withdrawals
  • Enables label revocation when needed
  • Maintains compliance without compromising privacy

Integration Points

  • Interacts with Entrypoint via authorized postmen
  • Provides roots for withdrawal validation
  • Determines withdrawal eligibility
  • Enforces protocol compliance rules

Operation - Label Management

Root Updates

  • Only authorized postmen can update roots

  • Each update includes:

    struct AssociationSetData {
    uint256 root; // Merkle root of approved labels
    bytes32 ipfsHash; // Reference to off-chain data
    uint256 timestamp; // Update timestamp
    }

  • History maintained for proof verification

  • Circular buffer stores recent roots

Set Validation

  • Withdrawals require valid ASP root
  • Proof must demonstrate label inclusion
  • Latest root used for validation
  • Failed validations trigger ragequit option

Wind Down Process

  • Labels can be removed from ASP set
  • Removal triggers withdrawal restrictions
  • Original depositors can ragequit
  • Enabled complaint exit path

The ASP system enables Privacy Pools to maintain compliance requirements while preserving the core privacy features of the protocol through cryptographic proofs and controlled label management.