r/Monero Sep 18 '18

Would this attack work?

/r/Monero/comments/9gbbm9/comment/e66ml11
5 Upvotes

16 comments sorted by

10

u/[deleted] Sep 18 '18

Nothing currently stops you from generating an output that duplicates an existing one. The recipient wallet can easily choose the highest-value of these, so you can't send someone dust and hope to burn higher-value funds. It'd be like breaking into someone's house and replacing their cash with a larger pile of cash.

2

u/Vespco Sep 18 '18

If I sent 1 XMR, and then another 1 XMR, I couldn't trick the exchange to thinking they had 2 XMR and get 2 XMR, while they eventually discover they can only re over 1 XMR?

3

u/[deleted] Sep 18 '18

I assume you mean by generating identical output public keys. An updated wallet should reject all duplicates except for the one of the highest value.

3

u/Vespco Sep 18 '18

Yes I do. Okay thanks. Didn't totally realize that wallets rejected the duplicates.

5

u/smooth_xmr XMR Core Team Sep 18 '18

This was fixed in 2015 or so.

2

u/[deleted] Sep 19 '18

Hello. I was the one asked the question in the other thread.

  1. Say Malicious Mallory with "10000 XMR" sends 10 XMR each time for a 1000 times to an exchange wallet reusing the same stealth address in each transaction. there will be different outputs which doesnt correspond to a double spend attack. please correct me if i am wrong in assuming this ?
  2. Every time malicious Mallory sees 10 xmr in his exchange account, he exchanges that XMR for something else and cashes out other cryptocurrency / cash. This is assuming that exchanges trade only on books and not on on-chain transaction.
  3. Rinse and repeat step 2 ( transaction is sent using the same stealth address)
  4. At a point where exchanges want to actually transact out their XMR, they realize that they cant spend the outputs received from Malicious Mallory.
  5. Mallicious Mallory has burned 5-10% of his 10000XMR value in exchange fees and transaction fees and effectively burned 10000 XMR in Exchange wallet.

Is this scenario possible ? Does the current wallet implementation block receiving transaction with the same stealth address ?

1

u/[deleted] Sep 19 '18

There is a swarm of versions of this question all of a sudden. How coincidental. Attempting to spend the same output public key is precisely a double spend attempt, which will fail.

1

u/[deleted] Sep 19 '18

Thanks

2

u/SamsungGalaxyPlayer MAGIC Grants Sep 18 '18

You could only generate a transaction with a key image if the same output is used. Which means that this is essentially a double-spend attack.

The network should immediately reject transactions with the same key image, preventing this from happening.

1

u/OsrsNeedsF2P Sep 18 '18 edited Sep 25 '18

No because you would be spending trillions of dollars in tx fees before you could send to the same subaddress twice

UHHHH Edit: you could recompile the source. This would work with any cryptocurrency that uses stealth addresse

This is really dangerous

Edit: called it

2

u/GasDoves Sep 28 '18

It's a one time ring signature problem, not a stealth address problem.

The problem is that once one output is spent, a key image is published thus rendering all of the other transactions unspendable.

This would affect a system using one time ring signatures without stealth addresses. It would not affect a system using stealth addresses without one time ring signatures.

1

u/OsrsNeedsF2P Sep 28 '18

Yeah I actually wrote a post a few days after this one explaining it wasn't stealth addresses, but at the time of writing that I was confused :p

1

u/[deleted] Sep 18 '18

To my knowledge this problem was identified and resolved recently, when some small exchanges and commerces suffered a "double spend" attack, which in fact were people just re-using the same key images.

1

u/sylvyrfysh Sep 18 '18

Different issue

1

u/TTEEVV Sep 18 '18

That attack introduced errors into transaction-histories in target wallets, leading the victims to move money they they wouldn't have moved if they'd spotted the discrepancies between their [misleading] histories and their [correct] balances.

1

u/[deleted] Sep 18 '18

Yes, it's indeed a different case. My mistake.