7

For example, this scenario:

  1. I broadcast a transaction from a previously-unspent-from address, for a large amount, say 1 Ti.
  2. The full node I broadcast to is a malicious actor who has been waiting for a large transaction to be broadcast to him.
  3. Since I have publicly broadcast a spending transaction, the funds in my address are now vulnerable, due to the nature of IOTA's Lamport Signature scheme, until confirmation.
  4. Instead of relaying the transaction to the rest of the network to help confirm the transaction, the malicious node instead attempts to compromise my seed given the now-weakened address.
  5. If he is successful, he broadcasts his own transaction sending my funds to his own address.

1 Answer 1

7

After one signing of a transaction, you reveal 50% of your key, but it's still astronomically impossible to crack. You need 2^256 tries on average after 1 signing, which is the same amount as SHA-256 encryption which is widely accepted as cryptographically secure (for comparison, SHA-256 is what encrypts bitcoin).

After the second use of an address, it is another random 50% that is revealed so by some chance it could reveal a good portion of the remaining 50% that you had not revealed previously, which then compromises the cryptography.

3
  • Thank you, that answer makes sense. I do wonder though about this guy's situation: reddit.com/r/Iota/comments/7gpc4s/… It appears the compromised address (iotasear.ch/address/…) only made 1 spend transaction before an attacker stole his balance. If he only made 1 previous spend transaction, how was the attacker able to derive the seed?
    – dreid
    Dec 2, 2017 at 2:46
  • 1
    it seems extremely likely that his seed was compromised from using an online seed generator based on another response he gave.
    – aboose
    Dec 2, 2017 at 2:47
  • another possibility is that he didn't regenerate his addresses enough after a snapshot and reused an old one. this issue is solved in the new ucl wallet.
    – aboose
    Dec 2, 2017 at 2:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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