Bitcoin Forum
May 02, 2024, 09:56:02 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: How long to hack an address that is used to send BTC multiple times?  (Read 550 times)
cryptoking555 (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
December 31, 2017, 06:38:34 AM
 #1

If you have a public address and you reuse this address to send BTC from multiple times, my understanding is that your public address is more susceptible to being hacked (ie. easier for somebody to generate the private key from your public address).  From what I have read, if you send BTC from your public address and you keep any leftover coins in that public address, your public address is only protected by ECDSA.  I have also read that the more you reuse the same address to send BTC, the more your address is susceptible to being hacked.

So let's say I am using a public address.  I send a portion of my BTC from my public address to somebody else but the leftover BTC remains in my public address (doesn't Electrum keep your leftover BTC in the same address by default?).  I use this same public address to send BTC from over the next several weeks.  In total, I have sent from this address 4 or 5 times over several weeks.  Several weeks later, after I am done sending my BTC, I backup my wallet and my private key, uninstall Electrum and decide to let my leftover BTC sit there in my public address.

With today's technology, how long would it take to hack this public address?  Is this something I don't have to worry about for the next 10 years?  The next 5 years?  The next 1 year?
1714686962
Hero Member
*
Offline Offline

Posts: 1714686962

View Profile Personal Message (Offline)

Ignore
1714686962
Reply with quote  #2

1714686962
Report to moderator
1714686962
Hero Member
*
Offline Offline

Posts: 1714686962

View Profile Personal Message (Offline)

Ignore
1714686962
Reply with quote  #2

1714686962
Report to moderator
1714686962
Hero Member
*
Offline Offline

Posts: 1714686962

View Profile Personal Message (Offline)

Ignore
1714686962
Reply with quote  #2

1714686962
Report to moderator
In order to get the maximum amount of activity points possible, you just need to post once per day on average. Skipping days is OK as long as you maintain the average.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
ranochigo
Legendary
*
Offline Offline

Activity: 2954
Merit: 4165


View Profile
December 31, 2017, 06:51:19 AM
 #2

I have also read that the more you reuse the same address to send BTC, the more your address is susceptible to being hacked.
Untrue. Unless your wallet generate keys with reused R values, it is safe to say that your BTC is safe for the time being.
So let's say I am using a public address.  I send a portion of my BTC from my public address to somebody else but the leftover BTC remains in my public address (doesn't Electrum keep your leftover BTC in the same address by default?).
Depends. If you generated the HD wallet in Electrum, Electrum will automatically send the change to a new address. The other unspent inputs remain in the address unless you change your settings.
I use this same public address to send BTC from over the next several weeks.  In total, I have sent from this address 4 or 5 times over several weeks.  Several weeks later, after I am done sending my BTC, I backup my wallet and my private key, uninstall Electrum and decide to let my leftover BTC sit there in my public address.

With today's technology, how long would it take to hack this public address?  Is this something I don't have to worry about for the next 10 years?  The next 5 years?  The next 1 year?
With todays technology, it would be infeasible to crack ECDSA (way more than 10 years). It might change with quantum computing though. You don't have to worry about it. Due to some circumstances, I was reusing my previous address for 3 years with upwards of 700 transactions. Nothing has happened yet.


.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
haltingprobability
Member
**
Offline Offline

Activity: 98
Merit: 26


View Profile
December 31, 2017, 06:55:13 AM
 #3

If you have a public address and you reuse this address to send BTC from multiple times, my understanding is that your public address is more susceptible to being hacked (ie. easier for somebody to generate the private key from your public address).  From what I have read, if you send BTC from your public address and you keep any leftover coins in that public address, your public address is only protected by ECDSA.  I have also read that the more you reuse the same address to send BTC, the more your address is susceptible to being hacked.

So let's say I am using a public address.  I send a portion of my BTC from my public address to somebody else but the leftover BTC remains in my public address (doesn't Electrum keep your leftover BTC in the same address by default?).  I use this same public address to send BTC from over the next several weeks.  In total, I have sent from this address 4 or 5 times over several weeks.  Several weeks later, after I am done sending my BTC, I backup my wallet and my private key, uninstall Electrum and decide to let my leftover BTC sit there in my public address.

With today's technology, how long would it take to hack this public address?  Is this something I don't have to worry about for the next 10 years?  The next 5 years?  The next 1 year?

It's unknown. The advice against address-reuse is based on the general risk of future breaks against ECDSA, which cannot be ruled out. It's certainly not susceptible to brute-forcing, since that is on the order of 2255, which is effectively infinite (more than the number of particles in the universe, etc. etc.) But if some clever mathematician figures out a cryptographic break against ECDSA that weakens ECDSA keys, it would be necessary to sweep funds from wallets secured only by ECDSA to something else. P2PKH/P2WPKH resolves this issue by publishing only the key-fingerprint instead of the entire pubkey. Even if there is a break against ECDSA, there is no short-term risk of your coins being stolen. Coins in long-term cold storage (timelocked), for example, need this feature.
cryptoking555 (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
December 31, 2017, 07:09:28 AM
 #4

I have also read that the more you reuse the same address to send BTC, the more your address is susceptible to being hacked.
Untrue. Unless your wallet generate keys with reused R values, it is safe to say that your BTC is safe for the time being.

Ok.  I'm not an expert in this, that's why I'm asking.  I read this reply in another thread (https://bitcointalk.org/index.php?topic=277097.msg2969391#msg2969391):

Quote
As an example, if the random number generator that is used to generate the k value when singing a transaction isn't sufficiently "random" it becomes possible for someone to use multiple signatures from the same private key to compute that private key and steal your bitcoins.  If you use a new address for each transaction, then you never have multiple signatures from the same private key, so this is no longer an issue.

The author of this quote is implying that the more you reuse your public address, the easier it becomes to generate the private key from the public key.  The author seems to be implying there is a flaw with the RNG (I assume your reply assumes the RNG is not flawed).  Is there a flaw with the author's quote above?
ranochigo
Legendary
*
Offline Offline

Activity: 2954
Merit: 4165


View Profile
December 31, 2017, 09:56:06 AM
 #5

The author of this quote is implying that the more you reuse your public address, the easier it becomes to generate the private key from the public key.  The author seems to be implying there is a flaw with the RNG (I assume your reply assumes the RNG is not flawed).  Is there a flaw with the author's quote above?
No. He's correct.

You got the meaning wrong however. My reply does assume that the RNG is flawed(in a poorly implemented wallet). The point with that sort of attack is that an attacker can easily get your private key using at least two signatures that reuses the R value. If the wallet is flawed, the values could potentially be the same and address reuse does mitigate this since each address would only have one output that would be spent and the address would only be used once.

.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4613



View Profile
December 31, 2017, 05:29:19 PM
Last edit: December 31, 2017, 05:51:11 PM by DannyHamilton
Merited by ABCbits (1)
 #6

The author seems to be implying there is a flaw with the RNG (I assume your reply assumes the RNG is not flawed).

The author is suggesting that IF there is a flaw in the RNG that YOU are using THEN "it becomes possible for someone to use multiple signatures from the same private key to compute that private key and steal your bitcoins".

If you don't re-use the address, then that is less of a concern. A poor RNG used when generating the signature is less significant if you don't re-use the address.

Under NORMAL use (where your RNG and signature generating software is not compromised), ECDSA is CURRENTLY sufficiently secure to re-use addresses.

However...

WHY would you INTENTIONALLY expose yourself to the POSSIBILITY that your RNG MIGHT not be as good as you'd like?

WHY would you INTENTIONALLY expose yourself to the POSSIBILITY that a weakness in ECDSA MIGHT be discovered in the future?

WHY would you INTENTIONALLY reduce your own privacy AND the privacy of those that you engage in transactions with?

Especially, when you can improve all 3 of those situations by simply generating a new address for EVERY transaction?  A business wouldn't re-use an invoice number, why would you re-use a bitcoin address?



A bitcoin address is NOT an account number.  A bitcoin address is something that you give to a single entity for a single purpose, so that you can identify when that entity has paid you for that purpose.

Lets imagine that I have a single address that I use for everything.  Lets call it 1ThisIsReallyStupid.

Now, lets say John offers to buy something from me. I give John my address "1ThisIsReallyStupid" and tell John I'll ship it as soon as I see a payment.  Now lets say Mike, who has purchased from me in the past, sends me a payment and an email saying "Hey Danny, I just sent you a payment, can you send me some more of your awesome product?".  Unfortunately, I don't immediately see Mike's email, so I assume that the payment was from John.  I ship John the product.  Then I see Mike's email!

Oh noes!

John is now receiving product that he never paid for!  How could I possibly have avoided this terrible problem???

Oh, wait. Lets hop back in our time machine to the first time I ever engaged in business with Mike...

"Mike, the address FOR THIS TRANSACTION is '1UniqueAddressForTransaction001'. As soon as proper payment is received at that address, I'll ship the product.  Please contact me for a new address for any future shipments."

Now we can fast-forward to the present where John wants some product...

"John, the address FOR THIS TRANSACTION is '1UniqueAddressForTransaction002'. As soon as proper payment is received at that address, I'll ship the product.  Please contact me for a new address for any future shipments."

Then Mike fails to follow instructions.  He sends to the ONLY address for me that he has EVER known '1UniqueAddressForTransaction001'. and sends his email.

John's product does not get shipped, because '1UniqueAddressForTransaction002' is STILL UNFUNDED!  Wow! Amazing how well that works.

I send a quick email to Mike:
"Mike, our order tracking system uses bitcoin addresses as invoice numbers.  Your payment to '1UniqueAddressForTransaction001' will not trigger shipment on your new product order since that shipment requires the appropriate funds to be sent to '1AddressAlsoUniqueForTx003'.  Would you like us to forward the funds from '1UniqueAddressForTransaction001' to '1AddressAlsoUniqueForTx003' on your behalf or would you like us to send those funds back to you (if so, please provide a bitcoin address to send to)? Note that (as indicated in our terms of service) re-sending funds that have been sent to an incorrect bitcoin address will incur a 0.002 BTC fee per transaction received by us."



The advice against address-reuse is based on the general risk of future breaks against ECDSA, which cannot be ruled out.

Actually, I think the advice against address-reuse is based on the concept that it reduces both your own privacy AND the privacy of everyone that you engage in transactions with.

The slight protection against "future breaks against ECDSA" is an added side-benefit, but not the most compelling reason.
cryptoking555 (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
December 31, 2017, 06:49:00 PM
 #7


However...

WHY would you INTENTIONALLY expose yourself to the POSSIBILITY that your RNG MIGHT not be as good as you'd like?

WHY would you INTENTIONALLY expose yourself to the POSSIBILITY that a weakness in ECDSA MIGHT be discovered in the future?

WHY would you INTENTIONALLY reduce your own privacy AND the privacy of those that you engage in transactions with?

Especially, when you can improve all 3 of those situations by simply generating a new address for EVERY transaction?  A business wouldn't re-use an invoice number, why would you re-use a bitcoin address?


Yeah, I admit it's lazy.  I need to tinker with Electrum more.  I imported a private key into Electrum-LTC and spent some LTC.  For whatever reason, by default, after I spent a portion of the LTC, the Electrum-LTC wallet sent the leftover LTC back to the original address.  I'm assuming if Electrum-LTC is a fork of Electrum, they both work similarly for imported private keys.

Having said that though, I have my private key for my BTC address printed out.  I plan to spend some BTC over the next several weeks (or months).  At the very end of my spending, I then plan to move the remaining BTC to a new address so that it cannot be hacked.  But during the next few weeks and months, it's just a hassle to generate a new address each time, and then record the private key for each new address (hardware wallets are all sold out around the area I live).  As for the privacy of the destination address, it's a BTC address for my account on an exchange so I don't care too much about privacy.

That's why I was wondering what is the possibility that somebody can hack my address over the next several months if I reuse it.  If the probability is extremely low, I don't mind the risk I take over the next several months, provided that at the end of my spending at the end of the next few months, that I move my coins to a new address and don't spend from the new address.

In your opinion, do hackers even have the technology or has a weakness in ECDSA been found recently such that reusing the same address over the next few months is susceptible to being hacked?
ranochigo
Legendary
*
Offline Offline

Activity: 2954
Merit: 4165


View Profile
January 01, 2018, 03:18:12 AM
 #8

Yeah, I admit it's lazy.  I need to tinker with Electrum more.  I imported a private key into Electrum-LTC and spent some LTC.  For whatever reason, by default, after I spent a portion of the LTC, the Electrum-LTC wallet sent the leftover LTC back to the original address.  I'm assuming if Electrum-LTC is a fork of Electrum, they both work similarly for imported private keys.
If you imported your address into Electrum, the default behaviour is to send the coins back to the origin address. They cannot implement change address since they aren't going to generate addresses without seeds for you. The reason for this is to minimise confusion.


That's why I was wondering what is the possibility that somebody can hack my address over the next several months if I reuse it.  If the probability is extremely low, I don't mind the risk I take over the next several months, provided that at the end of my spending at the end of the next few months, that I move my coins to a new address and don't spend from the new address.

In your opinion, do hackers even have the technology or has a weakness in ECDSA been found recently such that reusing the same address over the next few months is susceptible to being hacked?
The current problem with ECDSA is that it is susceptible to attacks by quantum computer due to Shor's algorithm. This means that quantum computers can potentially crack ECDSA in a reasonable amount of time. However, the current progress of quantum computing is not anywhere near to the point for which encryptions are vulnerable to them. Even so, it may take some time for each address to be cracked.

Frankly speaking, unless you own thousands of BTC, no one would bother to try your address. It isn't free to use nor is it cheap and there are other things to crack than your BTC address.

.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
cryptoking555 (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
January 01, 2018, 04:20:40 AM
 #9

If you imported your address into Electrum, the default behaviour is to send the coins back to the origin address. They cannot implement change address since they aren't going to generate addresses without seeds for you. The reason for this is to minimise confusion.

Thanks.  Switching to a new address after every transaction is not feasible because of the high transaction fees.  Not to mention the transaction time. 

The current problem with ECDSA is that it is susceptible to attacks by quantum computer due to Shor's algorithm. This means that quantum computers can potentially crack ECDSA in a reasonable amount of time. However, the current progress of quantum computing is not anywhere near to the point for which encryptions are vulnerable to them. Even so, it may take some time for each address to be cracked.

Frankly speaking, unless you own thousands of BTC, no one would bother to try your address. It isn't free to use nor is it cheap and there are other things to crack than your BTC address.

Thanks.  I don't own thousands of BTC, lol.  At the end of all my transactions (after a few months), I'll probably move my BTC to a new address then.  Hopefully, the transaction costs will be equal or less than what it is now (but who really knows).
haltingprobability
Member
**
Offline Offline

Activity: 98
Merit: 26


View Profile
January 01, 2018, 05:06:38 AM
 #10

The current problem with ECDSA is that it is susceptible to attacks by quantum computer due to Shor's algorithm. This means that quantum computers can potentially crack ECDSA in a reasonable amount of time.

Shor's algorithm only provides quadratic speedup. That means that the approx. 256 bits of security of secp256k1 becomes approx 128 bits of security in a world of readily-available, at-scale quantum computing. I wouldn't call 2128 brute-forceable "in a reasonable amount of time."
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4613



View Profile
January 01, 2018, 04:20:40 PM
 #11

Switching to a new address after every transaction is not feasible because of the high transaction fees.  Not to mention the transaction time.

I don't understand what you are saying here.

Why would using a new address for the change from your transaction have any effect at all on the transaction fees or the transaction time?

To reduce fees, you may want to consider moving your bitcoins to a SegWit address.
cryptoking555 (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
January 01, 2018, 06:00:07 PM
 #12

Switching to a new address after every transaction is not feasible because of the high transaction fees.  Not to mention the transaction time.

I don't understand what you are saying here.

Why would using a new address for the change from your transaction have any effect at all on the transaction fees or the transaction time?

To reduce fees, you may want to consider moving your bitcoins to a SegWit address.

My reply was to what ranochigo wrote:

Quote
If you imported your address into Electrum, the default behaviour is to send the coins back to the origin address. They cannot implement change address since they aren't going to generate addresses without seeds for you. The reason for this is to minimise confusion.

I imported my private key to Electrum.  When I spend BTC, any remaining BTC gets sent back to my original address.  In effect, Electrum is reusing my BTC address as its default behavior for an imported private key.  To move my remaining BTC to a new address would require a second transaction, which would incur a transaction fee (about $25 USD to $30 USD based on today's rate?).
ArithmomanicVampire
Jr. Member
*
Offline Offline

Activity: 45
Merit: 1


View Profile
January 01, 2018, 09:48:40 PM
 #13

The current problem with ECDSA is that it is susceptible to attacks by quantum computer due to Shor's algorithm. This means that quantum computers can potentially crack ECDSA in a reasonable amount of time.

Shor's algorithm only provides quadratic speedup. That means that the approx. 256 bits of security of secp256k1 becomes approx 128 bits of security in a world of readily-available, at-scale quantum computing. I wouldn't call 2128 brute-forceable "in a reasonable amount of time."

I think you're mixing up Shor's with Grover's.

https://en.wikipedia.org/wiki/Elliptic-curve_cryptography#Quantum_computing_attacks
haltingprobability
Member
**
Offline Offline

Activity: 98
Merit: 26


View Profile
January 02, 2018, 01:21:21 AM
 #14

The current problem with ECDSA is that it is susceptible to attacks by quantum computer due to Shor's algorithm. This means that quantum computers can potentially crack ECDSA in a reasonable amount of time.

Shor's algorithm only provides quadratic speedup. That means that the approx. 256 bits of security of secp256k1 becomes approx 128 bits of security in a world of readily-available, at-scale quantum computing. I wouldn't call 2128 brute-forceable "in a reasonable amount of time."

I think you're mixing up Shor's with Grover's.

https://en.wikipedia.org/wiki/Elliptic-curve_cryptography#Quantum_computing_attacks

Yes, thank you. Both provide quadratic speedup so I forget which is which. QC is not my field, I just see a lot of obvious misinfo and FUD on this forum and feel the urge to try to set the record straight as best I can.
ArithmomanicVampire
Jr. Member
*
Offline Offline

Activity: 45
Merit: 1


View Profile
January 02, 2018, 10:53:11 AM
 #15

The current problem with ECDSA is that it is susceptible to attacks by quantum computer due to Shor's algorithm. This means that quantum computers can potentially crack ECDSA in a reasonable amount of time.

Shor's algorithm only provides quadratic speedup. That means that the approx. 256 bits of security of secp256k1 becomes approx 128 bits of security in a world of readily-available, at-scale quantum computing. I wouldn't call 2128 brute-forceable "in a reasonable amount of time."

I think you're mixing up Shor's with Grover's.

https://en.wikipedia.org/wiki/Elliptic-curve_cryptography#Quantum_computing_attacks

Yes, thank you. Both provide quadratic speedup so I forget which is which. QC is not my field, I just see a lot of obvious misinfo and FUD on this forum and feel the urge to try to set the record straight as best I can.

Unfortunately, Shor's is stronger than just quadratic speedup: in the case of secp256k1 it transforms the roughly 2256 into roughly 2563. This writeup: https://arxiv.org/abs/quant-ph/0012084 while a bit technical, details what's going on under the hood, and how breaking RSA (integer factorization) and ECDSA (discrete logarithm) are just special cases of a more general principle.

Of course, the quantum computer to implement this will not be built for at least another decade, so we can relax for the time being…
bitfools
Member
**
Offline Offline

Activity: 112
Merit: 12


View Profile
January 04, 2018, 08:53:30 AM
 #16

If you have a public address and you reuse this address to send BTC from multiple times, my understanding is that your public address is more susceptible to being hacked (ie. easier for somebody to generate the private key from your public address).  From what I have read, if you send BTC from your public address and you keep any leftover coins in that public address, your public address is only protected by ECDSA.  I have also read that the more you reuse the same address to send BTC, the more your address is susceptible to being hacked.

So let's say I am using a public address.  I send a portion of my BTC from my public address to somebody else but the leftover BTC remains in my public address (doesn't Electrum keep your leftover BTC in the same address by default?).  I use this same public address to send BTC from over the next several weeks.  In total, I have sent from this address 4 or 5 times over several weeks.  Several weeks later, after I am done sending my BTC, I backup my wallet and my private key, uninstall Electrum and decide to let my leftover BTC sit there in my public address.

With today's technology, how long would it take to hack this public address?  Is this something I don't have to worry about for the next 10 years?  The next 5 years?  The next 1 year?

It's unknown. The advice against address-reuse is based on the general risk of future breaks against ECDSA, which cannot be ruled out. It's certainly not susceptible to brute-forcing, since that is on the order of 2255, which is effectively infinite (more than the number of particles in the universe, etc. etc.) But if some clever mathematician figures out a cryptographic break against ECDSA that weakens ECDSA keys, it would be necessary to sweep funds from wallets secured only by ECDSA to something else. P2PKH/P2WPKH resolves this issue by publishing only the key-fingerprint instead of the entire pubkey. Even if there is a break against ECDSA, there is no short-term risk of your coins being stolen. Coins in long-term cold storage (timelocked), for example, need this feature.

That's not really true, its easy to harvest all used addresses in history, easy-peasy

Then you create bloom filter and mark all seen addresses, and then decide how you want to attack btc, either by was of generating deterimistic keys, or brute-intelligent force forward by big-step/baby-step, ...

When you have all the addresses its just like having the public keys, for all the private-key guesses no matter your ALGO, you simple generate a pubkey and then generate say 8192 addresses for every pubkey and check the bloom-table if one of those addresses are  hot

U can also hash all the X values from ecdsa into a hash-table and use that to correspond to known addresses,

Then you can watch R values on the block chain, and look for patterns to make a guess to the private-key

It really blows me away how the majority here always say "that can't be done", oh but they have a caveat that a real smart math guy will solve the discrete-log problem tomorrow and sweep all the coin, thus they know it can be done

People who have studied SECP256k1(ECDSA) long enough see the patterns,

But getting back to your question, the public-key isn't required, its easy use a DISCRETE-LOG algo to run through private-keys generated and then super easy to test the priv-key with a function that uses a bloom-table on all known addresses with balance, right now there are +3 million of  the puppys

IMHO the founders are scared to death, but the majority are just bots who repeat the mantra u know "BITCOIN is Safe", nothing is safe in life, not walking across the street.

I can say this targeting a PRISTINE address is not easy, but I think that throwing lots of shit on the wall using intelligent ideas from the discrete-log papers, and then testing your X's that come back with public-key hash tests which are super easy, is all doable

WRT to that mathematician who solves the discrete-log problem, IMHO most mathematicians are too pure to stoop to the low level of 'hacking' to resolve this problem, so it probably will not be solved by your math guy, it will be solved by a teenager in Burma, using a low tech chrome-book running crouton

Nothing is SAFE, never its always been this way,

But the above said, BTC is amazing in its general safety, I think the majority will always be safe,

Lastly, studying this stuff, actually improves your knowledge and ability to protect your own coins,

IMHO the NSA created BITCOIN, They're just watching and waiting to see who & how breaks this stuff first, like DES, or SHA, or anything that comes out of NSA, they always have a backdoor, never seen otherwise, thus in a way BTC is real nice way to have everybody on earth hitting their code and then they can keep one step ahead of the best hackers on earth, ...

bitfools
Member
**
Offline Offline

Activity: 112
Merit: 12


View Profile
January 04, 2018, 09:04:00 AM
 #17

Switching to a new address after every transaction is not feasible because of the high transaction fees.  Not to mention the transaction time.

I don't understand what you are saying here.

Why would using a new address for the change from your transaction have any effect at all on the transaction fees or the transaction time?

To reduce fees, you may want to consider moving your bitcoins to a SegWit address.

The problem here is majority are using these 3rd party wallet packages on the internet that place the fee's,

I use the Bitcoin-CLI (cmd line) to do my transaction, I set my feed schedule to zero, and I rarely see fee's, thus I know it can be done,


IMHO its just the day-traders that are generating 1,000's of 0.0001 BTC trades a day complaining about 0.002 BTC fee's, the problem is people just don't take the time  to learn the software, its all there testnet, to learn, and minimal fees that are selectable by the user, but people choose to use these fancy GUI platforms that set the fee's and most likely give the user a hair-cut to boot.

Conversation here is about 'loss' in BTC, most loss occurs at the exchange or wallet, from malicious or sloppy software, and the fee's is just another example, they just don't care, but if you did care you would learn to set the fee schedule yourself.

If you keep our private-keys off the exchanges or away from wallet-software, if you keep your keeps on a closed system, running your own node, I don't see how you could lose money, unless you did it on purpose, the bitcoind&bitcoin-cli software seem pretty solid, but I gather from the comments on these forums that 99% of the users are just putting their private-keys into the hands of third  party's.
bitfools
Member
**
Offline Offline

Activity: 112
Merit: 12


View Profile
January 04, 2018, 09:11:11 AM
 #18

If you have a public address and you reuse this address to send BTC from multiple times, my understanding is that your public address is more susceptible to being hacked (ie. easier for somebody to generate the private key from your public address).  From what I have read, if you send BTC from your public address and you keep any leftover coins in that public address, your public address is only protected by ECDSA.  I have also read that the more you reuse the same address to send BTC, the more your address is susceptible to being hacked.

So let's say I am using a public address.  I send a portion of my BTC from my public address to somebody else but the leftover BTC remains in my public address (doesn't Electrum keep your leftover BTC in the same address by default?).  I use this same public address to send BTC from over the next several weeks.  In total, I have sent from this address 4 or 5 times over several weeks.  Several weeks later, after I am done sending my BTC, I backup my wallet and my private key, uninstall Electrum and decide to let my leftover BTC sit there in my public address.

With today's technology, how long would it take to hack this public address?  Is this something I don't have to worry about for the next 10 years?  The next 5 years?  The next 1 year?

Let me run this question as an answer. Say you gen a private key and public address pair, then you keep generating addresses for a long time with that public-key.

What happens is that each address is just a I*PubKey ( where I is the i'th address you generated from that mother public-key )  that is hashed, so the more you use that same pubkey to generate addresses you increase probability that I will hit your address with my pub-key guess box, everytime you use the same public-key to gen an address its a dart on the wall, an the more darts on the wall the higher probability that I will hit that dart.

It's easy to guess private-keys, and its easy to make a public-key from them, and then its super easy to generate 10k addresses from that public-key and test them all in a second,


... Its not easy to take a public-key and make a private-address, but the more addresses you generate the easier it is for me to guess your private key.

For me I have all the addresses known on BTC on my wall, thus I'm not likely in all history of universe to hit your address, unless you have lots of them for me to 'sticky' on my wall.
nullius
Copper Member
Hero Member
*****
Offline Offline

Activity: 630
Merit: 2610


If you don’t do PGP, you don’t do crypto!


View Profile WWW
January 04, 2018, 04:47:23 PM
 #19

The security of exposed Bitcoin public keys is just fine for general usage.  They cannot be hacked.  Answer to the thread’s subject line:  “A million billion trillion zillion years.”  But there is a different, unrelated reason to avoid address reuse:  Privacy.  Avoiding address reuse gives you a modicum of privacy.  That at least makes Chainalysis work for their pay.  Re-using addresses makes transaction linkage trivial, child’s play.

A public key is called a “public key”, because it is secure when exposed in public.  I publish my PGP public keys (and if I didn’t, PGP would be useless).  I am not worried about that.  Each and every time you connect to an https website secured by TLS, the server’s public key is exposed to you—and your symmetric session key is derived from a key-agreement process based on the hardness of the same DLP as is the fundamental basis of most widely-used public-key cryptography other than RSA.  I am not worried about that, either!  Likewise, I am not worried about the security of my Bitcoin public keys.



Those concerned about bad randomness causing leaked secret key bits need to read RFC 6979:

Quote from: RFC 6979
Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)

Abstract

This document defines a deterministic digital signature generation procedure.  Such signatures are compatible with standard Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA) digital signatures and can be processed with unmodified verifiers, which need not be aware of the procedure described therein.  Deterministic signatures retain the cryptographic security features associated with digital signatures but can be more easily implemented in various environments, since they do not need access to a source of high-quality randomness.

Core’s secp256k1 library uses this deterministic, “derandomized” DSA.

I don’t know if Core v0.15.1 uses that library for signing, as of yet; and I am too lazy to grep sources at the moment.  I know that older versions used this library only for verification, where it beat OpenSSL 5–10x in performance.  Does somebody else know off-hand?

If your wallet does not use deterministic ECDSA signing, then—well, I suggest that you should switch software.  This should now be considered a baseline “best practice”.

Of course, if your platform’s RNG is broken, then you have other problems.  Big, bad problems.  But with RFC 6979 signing, leakage of ECDSA private key bits will not be one of them.


The advice against address-reuse is based on the general risk of future breaks against ECDSA, which cannot be ruled out.

Actually, I think the advice against address-reuse is based on the concept that it reduces both your own privacy AND the privacy of everyone that you engage in transactions with.

The slight protection against "future breaks against ECDSA" is an added side-benefit, but not the most compelling reason.

I argue that even mentioning public-key security in the context of address reuse is a terrible disservice to Bitcoin.  To anybody who do not understand the nuanced technical discussion, it FUDs Bitcoin security for no good reason.  In ordinary circumstances, there is one, and only one excellent reason to avoid address reuse:  Making transaction linking less easy.

I call myself “paranoid”; and there is only one use case in which I would be concerned about exposing the public key:  Long-term storage of funds for decades.  Yes, in that case, I want the extra security of reducing my attack surface to the Hash160.  That will guard against unforeseen cryptanalytic breakthroughs, hypothetical quantum computers, ECDSA-cracking unicorns, the arrival of superintelligent space aliens on Earth, etc.  So if I make a cold-storage address for my grandkids’ inheritance, I will keep the public key secret, and sleep 3.1337% more quietly at night.  I am just that paranoid.

N.b. that using a new address for every transaction does not by itself provide good privacy.  Blockchain analysis heuristics can link transactions with high reliability, even if addresses are not reused.  It is only the most basic privacy measure, as well as being the prerequisite for all better privacy measures.  For this reason alone, avoiding address reuse is very important.


To reduce fees, you may want to consider moving your bitcoins to a SegWit address.

This must be emphasized at every opportunity.  When you use a Segwit address, you are helping the network by using less of a globally shared resource for your transactions; in BIP 141 terms, your transactions have less “weight”.  Fees are calculated by weight.  Therefore, when you use a Segwit address, you get a huge discount on fees.


[pseudo-technical babble evidently designed to impress newbies and non-technical people—abysmally unimpressive to anybody who has technical expertise in Bitcoin]

[incomprehensible gibberish talk]

[blah blah blah]

The aptly-named “bitfools” appears to be trolling with voluminous spew of patent nonsense.  Newbies, don’t believe anything he says.  Just ignore.  It is all 100% incorrect.  Sheer idiocy.

leopard2
Legendary
*
Offline Offline

Activity: 1372
Merit: 1014



View Profile
January 05, 2018, 12:55:20 AM
 #20


Especially, when you can improve all 3 of those situations by simply generating a new address for EVERY transaction?  A business wouldn't re-use an invoice number, why would you re-use a bitcoin address?


I don't want to diss you but are you from another planet?

The invoice number? A Bitcoin address is more like a customer ID, which remains fixed!

It would be much more convenient for businesses or individuals, to provide their counterparties with fixed addresses for further use.
 
Otherwise a new one would have to be created everytime someone sends you a payment. What a nuisance! And imagine this is done automatically, and a partial payment is received: CHAOS, CONFUSION and MAYHEM!

For privacy you would need a new private key (HD) every time anyways. But if you want privacy, BTC is not the right crypto.

I guess a company with good blockchain knowledge could try and create 1 private key per customer, then issuing a different address on that key for each invoice. But for the average company/individual that is way too much overhead.

So yes I do think address re-use should be fully supported.

Truth is the new hatespeech.
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!