ERCs icon indicating copy to clipboard operation
ERCs copied to clipboard

Add ERC: Privacy Token

Open 0xRowan opened this issue 1 month ago β€’ 1 comments

This EIP defines a minimal interface standard for privacy tokens on Ethereum.

While developing privacy solutions for the Ethereum ecosystemβ€”including wrapper protocols (converting ERC-20 ↔ privacy tokens) and dual-mode tokens (combining public and private balances)β€”we identified a recurring need for standardized privacy primitives. Without a common interface, each implementation reinvents commitments, nullifiers, and note encryption, leading to ecosystem fragmentation.

This standard provides that common foundation. It enables:

  • Wrapper protocols: Implement this interface for their privacy layer
  • Dual-mode tokens protocols: Combine standards via contract DMT is ERC20, IZRC20

By unifying the privacy token interface, we facilitate the development of wrapper and dual-mode protocols, accelerating Ethereum's privacy ecosystem growth.

Discussion

Community discussion: https://ethereum-magicians.org/t/erc-8086-privacy-token/26623

Next Steps I will add the reference implementation and test cases after receiving initial community feedback on the specification.

0xRowan avatar Nov 19 '25 09:11 0xRowan

File ERCS/erc-8085.md

Requires 1 more reviewers from @g11tech, @samwilsn, @xinbenlv

File ERCS/erc-8086.md

Requires 1 more reviewers from @g11tech, @samwilsn, @xinbenlv

eip-review-bot avatar Nov 19 '25 09:11 eip-review-bot

The commit ad66988a400495a3d612313d4d21c7df1a57a577 (as a parent of 7bd0d0ac487eac4f8828c71309b656d813ce74dd) contains errors. Please inspect the Run Summary for details.

github-actions[bot] avatar Nov 29 '25 08:11 github-actions[bot]

Hi @SamWilsn @xinbenlv @g11tech,

This PR is now ready for formal review. All previous feedback has been addressed and reference implementations are complete.

πŸ“‹ Summary

This PR introduces two related ERC standards:

  • ERC-8086: Privacy Token - A minimal interface for native privacy-preserving fungible tokens
  • ERC-8085: Dual-Mode Fungible Tokens - Tokens supporting both ERC-20 and privacy modes with seamless conversion

βœ… Completed Items

  • [x] All editorial feedback from @abcoathup incorporated (EIP number, title simplification, discussion links)
  • [x] CI checks passing (htmlproofer issues resolved in commit 4c96069)
  • [x] Reference implementations deployed on Base Sepolia testnet
  • [x] All contracts verified on Basescan with public source code
  • [x] Working test applications with ZK-SNARK proof generation
  • [x] Comprehensive documentation in /assets/erc-8085/ and /assets/erc-8086/

πŸ”— Live Deployments

Both standards have functional testnet implementations:

ERC-8085 (Dual-Mode Token)

ERC-8086 (Privacy Token)

All contracts are deployed on Base Sepolia (Chain ID: 84532) and fully verified.

πŸ’¬ Community Discussion

Active discussions on Ethereum Magicians:

🎯 Key Design Decisions

  1. ERC-8086 as Foundation: Provides reusable privacy primitives (commitments, nullifiers, Merkle trees)
  2. ERC-8085 Builds on Top: Combines ERC-20 + ERC-8086 for dual-mode functionality
  3. Dual-Layer Merkle Tree: 16-level active subtree + 20-level finalized tree (68.7B note capacity)
  4. Full ERC-20 Compatibility: ERC-8085 is backward compatible with existing DeFi infrastructure
  5. Application-Layer Solution: Deployable today without protocol changes

πŸ” Security Considerations

The proposals include comprehensive security sections covering:

  • Nullifier uniqueness enforcement
  • Merkle tree integrity (append-only)
  • ZK-SNARK proof verification (Groth16)
  • Double-spending prevention
  • Supply invariant maintenance (for ERC-8085)

πŸ“š Documentation Structure

assets/erc-8085/
β”œβ”€β”€ README.md (deployment info, testing guide)
β”œβ”€β”€ contracts/
β”‚   β”œβ”€β”€ interfaces/ (IDualModeToken, IZRC20)
β”‚   └── reference/ (DualModeToken, Factory)
└── deployments/base-sepolia.json

assets/erc-8086/
β”œβ”€β”€ README.md (deployment info, testing guide)
β”œβ”€β”€ contracts/
β”‚   β”œβ”€β”€ interfaces/ (IZRC20, IVerifier)
β”‚   └── reference/ (PrivacyToken, Factory)
└── deployments/base-sepolia.json

Request

Please let me know if you need any clarification, additional documentation, or changes to move this proposal forward. I'm happy to address any feedback promptly.

Thank you for your time and consideration!

0xRowan avatar Nov 29 '25 13:11 0xRowan