The cryptocurrency ShadowCash uses traceable ring signature to anonymize the sender of a transaction. However, these were originally implemented incorrectly, resulting in a partial de-anonymization of ShadowCash from their first implementation until February 2016 by Monero Research Labs researcher, Shen Noether. wiki

From the technical perspective, how was Shadowcash's implementation of ring signatures fixed which prevented the partial de-anonymization of it? What was the fix and by whom was it performed?

  • 1
    the question seems to imply that a fix could prevent the existing de-anonymization of the blockchain which it cannot. A fix can only prevent the same de-anonymization techniques to unravel blocks occurring after the alleged fix.
    – Logan
    Commented Aug 9, 2016 at 5:11
  • 3
    Who is downvoting this question? This isn't Reddit, downvote when something is off-topic or whatever. Commented Aug 30, 2016 at 16:13

1 Answer 1


This is incorrect.

The original implementation of ring signatures is not thought to be faulty.

The original implementation of ring signatures is not from Shadowcash, but from Bytecoin. Shadowcash implemented their own version of it, buggily.

So Shen did not fix ring signatures, though he did find the fault in Shadowcash's reimplementation. I believe Shadowcash eventually fixed their bug after claiming this was FUD.

See https://shnoe.wordpress.com/2016/02/11/de-anonymizing-shadowcash-and-oz-coin/ for the details, and https://github.com/ShenNoether/Deanon for the deanonymization code.

  • I've added cite from wiki to clarify which says that ring signatures were originally implemented incorrectly. Is the information on wiki not correct, or I misunderstood it?
    – kenorb
    Commented Jul 20, 2016 at 8:42
  • 1
    The wording on that link is ok, the "these" clearly refers to Shadowcash's. The Shadowcash reimplementation of ring signatures was originally buggy, but not the original implementation of ring signatures (as far as we know at this time), which was in Bytecoin.
    – user36303
    Commented Jul 20, 2016 at 8:45
  • 1
    As far as I know, the Shadowcash coders fixed it. I assume by changing the hash function used there, but I do not know for a fact. The question is still badly worded, since "the original implementation" can only be understood as Bytecoin's. Make it "Shadowcash's implementation" and it'd be clear.
    – user36303
    Commented Jul 20, 2016 at 11:48

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