You are currently viewing Stellar Introduces Open-Source Private Payments with Advanced ZK Safeguards

  • Stellar releases Open-Source Private Payments PoC using Groth16 zk proofs for private deposits, transfers, and withdrawals.
  • Stellar adds ASP membership and non-membership Merkle trees, allowing pools to enforce allow/block rules without revealing transaction details.

Stellar has released an open-source proof of concept for private payments on its network. The prototype enables token deposits, transfers, and withdrawals while keeping amounts and sender-receiver links out of public view. 

The private payments flow uses Groth16 zero-knowledge proofs built with Circom circuits. Proof generation runs on the client side through WebAssembly, allowing users to create proofs in a web browser. The system runs on Soroban smart contracts and uses a pool model that tracks commitments, similar to UTXO notes.

Users deposit tokens into the pool and receive a new commitment. No earlier notes are spent during a deposit. Transfers spend existing commitments and create new ones tied to a new public key, without exposing the transfer details. Withdrawals spend notes and release tokens from the pool. A “transact” option is available for users who want to build custom transactions within the same private payment rules.

Stellar’s ASP Controls and ZK Privacy

Stellar’s Private Payments prototype introduces administrative security by Association Set Providers (ASPs). ASPs manage two Merkle tree systems that support policy checks without revealing user activity. One tree tracks approved public keys through a membership structure, while the other tracks blocked public keys through a non-membership structure. 

Using these trees, one can demonstrate that a transaction meets regulatory standards and avoids blocked sets, while the payment information remains confidential.

The demo bundle consists of the frontend, the circuits, and Soroban smart contracts. The user interface is built on the frontend, which also includes an ASP admin page that supports adding public keys to the membership tree and managing an exclusion list. Key insertions must be signed by an ASP administrator account, even when the interface can derive keys for any account for testing.

The circuit logic checks several conditions in a single proof. It prevents double-spending and validates Merkle proofs for commitments. It also enforces correct output commitments and balance conservation, where inputs equal outputs plus any public amount. On-chain elements involve a pool contract where deposits, transfers, and withdrawals are made, and a Groth16 verifier contract from which proof is retrieved. 

Stellar has similarly broadened wallet accessibility in rising markets by partnering with TopNod to roll out a non-custodial wallet in Asia, Africa, and Latin America. As we covered, the integration is built on key sharding and Trusted Execution Environment technology to eliminate seed phrases and is centered on stablecoins and tokenized real-life assets.

At the time of reporting, Stellar (XLM) was trading at $0.1702, up 8% in a day, while 24-hour trading volume was up 10%.