Stellar Network debuts open-source privacy tech using zero-knowledge proofs for confidential transfers with built-in compliance controls through ASPs.
Stellar Private Payments (SPP) went open-source recently. According to @StellarOrg on X, privacy builders can start building now with the new tech.
The system handles private deposits, transfers, and withdrawals. ZK proofs with configurable safeguards make this possible. Transaction amounts stay hidden from public view.
Users don’t reveal sender-receiver relationships anymore. Groth16 proofs do the cryptographic work. Circom circuits generate these proofs client-side through WebAssembly.
Must Read: Ripple Ex-CTO: Bitcoin May Need Hard Fork to Survive Quantum
Soroban smart contracts power the implementation. Nethermind published the GitHub repository with full documentation. Browser-based proving happens without server interaction.
Association Set Provider technology provides the compliance layer. They maintain dual Merkle tree structures for membership tracking. Pool operators enforce administrative controls this way.
Zero-Knowledge Magic Meets Blockchain Reality
Deposits create commitments in the pool system. No input notes get spent during this process. Output notes are generated instead for future spending.
The circuits prove ownership of input UTXOs simultaneously. Private keys demonstrate this ownership. Nullifier computation gets verified to stop double-spending attempts.
Withdrawals work opposite to deposits. Input notes are spent completely. No output notes are created when withdrawing.
Balance conservation rules apply throughout transactions. Inputs must equal outputs plus any public amounts. Merkle proofs validate all input commitments properly.
You Might Also Like: Harvard’s $442M Bitcoin ETF Move Puts Crypto Ahead of Tech Shares
Transfer operations spend existing commitments while creating new ones. Privacy is maintained throughout the entire process. New public keys receive the output notes generated.
Advanced users access the Transact feature for custom flows. They can spend, create, and transfer notes at will. The system supports complex transaction patterns this way.
Compliance Controls That Don’t Break Privacy
ASP membership trees contain approved public keys only. The non-membership trees work as exclusion lists. Blocked accounts appear in these sparse Merkle structures.
Zero-knowledge proofs demonstrate membership or non-membership without revealing identities. This balance between privacy and compliance is what makes the system unique. Smart contracts verify everything on-chain.
The Pool contract manages the core deposit and withdrawal logic. A Circom Groth16 Verifier sits on-chain for proof checking. ASP contracts maintain their respective tree structures separately.
Check This Out: CFTC Taps Ripple, Coinbase, Robinhood CEOs on Crypto Panel
Developers can deploy contracts to the Stellar testnet for experimentation. The deployment script requires specifying ASP tree levels. Pool levels and maximum deposit amounts need configuration, too.
Demo application serves at localhost:8080 after setup. Frontend provides a nice UI for system interaction. Console logs help track what’s happening during operations.
The ASP admin page exists at localhost:8080/admin.html separately. Public key insertion happens through this interface. Only ASP admin accounts can sign these insertions, though.
Built for Research, Not Production Yet
The Common Reference String lacks decentralized ceremony generation. This is disclosed upfront in the documentation. Proof of concept status means production use isn’t recommended.
Currently, just one circuit gets support. Two inputs and two outputs define the limits. Future updates might expand circuit variety according to Nethermind.
Related: Coinbase Launches AI Wallets That Trade Crypto Autonomously
RPC nodes only retain events for seven days. The demo depends heavily on Stellar events for functionality. Dedicated indexers become necessary for longer operation periods.
Security audits haven’t been completed on the codebase. Error handling might miss some edge cases. Real assets shouldn’t touch this system currently.
Stroops support exists for XLM decimal handling. UI testing for this remains incomplete per GitHub notes. The architecture shows how circuit constraints create the zero-knowledge magic.
Freighter wallet accounts can join Stellar CLI keys easily. Seed phrase prompts enable this addition. Same accounts then deploy contracts and interact with admin functions.
Licensing Demands Careful Attention From Deployers
Apache 2.0 covers most source files in the repository. The circuits/build.rs file uses GNU Lesser General Public License v3.0 instead. Mixed licensing creates specific responsibilities.
Generated artifacts don’t appear in version control. The dist/ directory gets created during builds. Deployers become distributors of these compiled WebAssembly circuits.
LGPLv3 requirements mean source code availability matters. End-users must access the source if you distribute compiled circuits. LICENSE and NOTICE files should accompany any deployment.
Nethermind disclosed LLM assistance in content creation. Human review, editing, and revision followed all AI-generated output. The team maintains responsibility for final documentation.
Transaction privacy on Stellar became possible without sacrificing regulatory hooks. Open-source availability means privacy builders have the tools immediately. The foundation exists for developing applications now.
