I'm currently building an erc token on the Ethereum blockchain. My goal is to make a token that has some sort of functionality that makes it private like Monero's Ring Signature.

Is there any way to make the token transactions private or incredibly difficult to track? If so do you guys have any examples of this?



I think your best bet at this point in time would be to use zkSNARKs which has significantly more support overall through the ecosystem, although zkSNARKs operations aren't cheap.

While searching for ethereum ring signatures, the only recent implementation I could find was a the following reddit thread, although development appears to have stopped


There is also an on-going effort by the ZCoin project to provide a Zerocoin implementation in Ethereum, I suggest checking out the repository which also has a contract:


| improve this answer | |
  • Thanks this is helpful information. My understanding is that this has to be implemented at the launch of the smart contract, and not prior to its release. Is there a way to launch the smart contract and then implement something like zerocoins implementation later on? – armanisani Apr 7 '18 at 1:45
  • You would make a zerocoin contract act as a sort of "middleware" when interacting with the already deployed contract but that's about it. Otherwise you'll have to completely redeploy the contract – hextet Apr 8 '18 at 7:00
  • Okay that makes sense. My goal is to launch a token into the ethereum network that is private and secure. Let's say i redeploy the contract to add in the private functionality. What is going to happen to the tokens already in circulation? Will the new contract stillrun with the old tokens in circulation, or will that end up being a completely different token, and the ones in circulation end up becoming outdated in valueless? – armanisani Apr 13 '18 at 3:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.