00000000                                                                                   
                   0000000000000000000000                                                                    
                   000000000000000000000000000000000000000                                                   
                   0000000000000000000000000000000000000000000                                               
                   000000000000000000000000000000                                00                          
                   00000000000000000                                            0000                         
                   000000000000                                                 00000                        
                   00000000000                                                 0000000                       
                   0000000000                                                  00000000                      
                   0000000000                            000000               0000000000                     
                   000000000                000000000000000000               000000000000                    
                   00000000             0000000000000000000000               0000000000000                   
                   00000000             000000000000000000000               000000000000000                  
                    000000             000000000000000000000                00000000000000                   
                    000000             000000000000000000000               000000000000000                   
                    00000             0000000000000                       000000000000000                    
                    0000             0000000000000                        00000000000000                     
                    0000             0000000000000                       000000000000000                     
                    000             0000000000000                        00000000000000                      
                    000            0000000000000                        000000000000000                      
                    00             0000                                000000000000000                       
                    0                                                  00000000000000                        
                                                                      000000000000000                        
                                                                     000000000000000                         
                                                           0000000000000000000000000                         
                                                00000000000000000000000000000000000                          
                                     000000000000000000000000000000000000000000000                           
                          00000000000000000000000000000000000000000000000000000000                           
                   00000000000000000000000000000000000000000000000000000000000000                            
                     00000000000000000000000000000000000000000000000000000                                   
                       00000000000000000000000000000000000000                                                
                         0000000000000000000000                                                              
                           00000000                                                                          
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                             
                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                                                                        
		

Unlocking Privacy-Preserving Compliance with Association Sets

Introducing the Association Set Provider (ASP)

At 0xBow, we are excited to see our vision come to live and announce the release of our first solution for privacy-preserving compliance in the blockchain ecosystem— the Association Set Provider (ASP). As we see continued industry progress in utilizing blockchain for a wide variety of use cases, our ASP solution addresses a critical gap in decentralized protocols: enabling compliance without compromising privacy.

The Challenge: Privacy vs. Compliance in Public Blockchains

Blockchain technology has long promised to revolutionize industries through open, permissionless systems, but widespread adoption remains slow, we believe that this due to the fact that public blockchains are still grappling with a core issue—balancing transparency, privacy, and compliance with financial regulations.

In public blockchains, complete transparency is both a strength and a limitation. While transparency helps to create fairness, it's unrealistic—and even dangerous—to expect every user's activity to be fully visible. On the other hand, privacy features often face criticism for enabling illicit activities. This tension has hindered the growth of blockchain in sectors that stand to be most disrupted by the underlying technology itself.

The Solution: Association Set Provider (ASP)

Our Association Set Provider (ASP) solves this problem by giving developers the tools they need to build privacy-preserving compliance into their decentralized applications (dApps) and protocols. With ASP, developers can define rule-based access control over who can and cannot use their platform, all while preserving the decentralized ethos of blockchain.

The ASP continuously monitors all on-chain transactions with a protocol and periodically updates an on-chain Association Set of transactions, which anyone can query. Users can generate zero-knowledge proofs (ZKP) against the Association Set to prove that they have been compliant as their on-chain transactions exist in the set, without revealing their specific transactions publicly. 

By curating these association sets, developers can determine user eligibility for participation in the protocol. For instance, developers can exclude users associated with illicit activities or allow only verified participants to access certain features—all without users having to reveal sensitive information.

0xbow is operationalising our ASP service and is providing open-source access to our ASP framework. By integrating with the 0xbow ASP framework, developers can be sure about receiving the most reliable market data available. By correctly and immediately categorizing any wallet looking to use your product, 0xbow is your trusted security partner.

How ASP Works: A Look Under the Hood

The 0xBow ASP system consists of two main components:

1. Service Stack: Modular services that continuously monitor, record, and classify on-chain activity. This ensures that the system can assess user trustworthiness based on their on-chain behavior.

2. On-Chain Instances: These components allow for seamless integration with blockchain protocols, enabling real-time compliance checks while maintaining decentralization.

The on-chain system consists of two main elements: the Public Registry and the ZKP Verifier. The Public Registry is a set of smart contracts that store and manage ASP data on-chain, allowing seamless integration with blockchain protocols. This ensures compliance checks can be performed while preserving user privacy. The ZKP Verifier is responsible for validating zero-knowledge proofs, enabling private verification of compliance during transactions.

0xbow will perform the analysis of addresses looking to utilize any given protocol with ASP implemented and will characterize the address based on distinct variables and categories (eg. KYC’d, OFAC sanctioned, associated with illicit behavior) give developers the flexibility to pick and choose their desired access settings. This ensures that users' privacy is safeguarded while developers can confidently enforce compliance rules.

ASP: A Flexible, Standalone Product, or Combined in a Privacy Package

While ASP is part of our broader product suite, it is designed to function as a standalone solution. Developers can integrate ASP into their protocols to customize access controls based on compliance requirements, without the need for additional tools. Whether it’s for financial transactions, governance, or user participation, ASP empowers developers to filter users based on on-chain behavior, meeting regulatory requirements without compromising decentralization.

Our next product, Privacy Pools, will be an extension to the ASP, which offers an advanced privacy-preserving mechanism. Privacy Pools allow users to anonymize their transactions through a mixing protocol while still proving that their funds originated from legitimate sources. 

By integrating ASP with Privacy Pools users gain the ability to balance privacy with responsible compliance. Users can transact anonymously within Privacy Pools by generating membership proofs using zero-knowledge proofs (ZKPs), demonstrating that they belong to a compliant set without revealing sensitive data. This ensures that users maintain privacy while satisfying regulatory requirements, making Privacy Pools a viable solution for institutions and other high-value users who need to prove compliance without compromising on privacy.

Together, ASP and Privacy Pools create a flexible, scalable privacy-compliance solution that is customizable to meet any developer’s needs. Whether used for filtering out illicit actors or enabling only KYC-verified users, ASP provides programmable compliance, while Privacy Pools enhance privacy for legitimate users. This combination delivers a responsible, privacy-preserving solution that developers could easily integrate into their platforms. 

The Future: Enabling a Privacy-focused Compliant, Decentralized Economy

By providing developers with privacy-preserving compliance tools, we can protect the integrity of decentralized systems while fostering trust and safety for all participants. Whether you’re building privacy tools yourself, a DeFi platform, or a DAO, ASP offers the flexibility, security, and compliance needed to scale responsibly in today’s complex regulatory landscape.