1
  1. How did it get its name?
  2. The attacker can't actually steal Monero, right?
  3. It relates to a clever use of cryptography involved in subaddresses? How so?
  4. Can it be mitigated?
2

(The Janus attack referred to in this question is documented here: https://web.getmonero.org/2019/10/18/subaddress-janus.html)

  1. We were looking for a character from Greek mythology that had multiple identities. This is because the Janus attack allows an incoming transaction to appear to be addressed to one wallet subaddress, while having actually been addressed to a different wallet subaddress during transaction construction. Sarang Noether of the Monero Research Lab suggested Janus, who was a "two-faced god".

  2. No, they can only attempt to trick the recipient into revealing control of two different subaddresses.

  3. The link at the top of this answer documents the elliptic curve algebra. In plain English, the subaddress system is designed to allow a wallet to efficiently scan for incoming outputs to multiple subaddresses within the same wallet (i.e. where the subaddresses share the same private view key). A side-effect of the way in which the subaddress system was designed to allow this efficient scanning is that the wallet will trust the sender to inform the wallet of the particular destination subaddress. This trust was an oversight during the design of the subaddress system.

  4. Yes, there are several ways to mitigate it, but these have not been decided upon yet. One way is for an update to the transaction construction to include a signature that proves the transaction was properly constructed for a particular subaddress destination. Since this modification will add perhaps 64 bytes to the size of a transaction, there will be careful consideration of a mitigation to ensure it is done in the most space-efficient way possible.

| improve this answer | |

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.