Lets summarize or TLDR;
- Bitcoins don't actually exist.
- Wallets store one or more private keys.
- A private key is a very large integer(number). Link to infograph https://i.imgur.com/IL6PV5E.jpg
- Any type of bitcoin malware that has access to a machine where an unencrypted wallet resides CAN steal the bitcoins.
The link is very interesting, can I ask a few questions?
1- What does it mean to "f*ck up with the R values"?
2- Why does the impossibility of a computer counting to 2^256 prevent it from attacking bitcoin?
3- And why doesn´t that prevent the computer from generating private keys and making transactions?
4- Which makes me wonder, if private keys are generated randomly, then is there a chance of the same private key being generated twice?
1. R value is part of the algorithm by which a transaction is signed. If the same value is re-used twice, recovery of the private key is trivial. This only happens with badly written code/programmer errors.
2. Since a computer cannot count to 256 in a timely manner(billions of years even if a super computer was used), it cannot check EVERY private key for a balance.
3. Because there are so many. There are as many private keys as there are atoms in the UNIVERSE(well, slightly less than that in cosmic terms).
4. Nothing prevents it, but so long as entropy is sufficient(these are random bytes generated by your hardware) this is extremely unlikely. Or as somebody said, it's infinitely more likely to get hit by lightning 7 times in a row while winning the lottery 7 times in a row.
1- How can I be sure I will never "f*ck up my R values"?
2- So, there are exactly 2^256 private keys total?
3- And from what you said, I suppose it´s not profitable to get your computers to check one by one for balance, because there are so many and they will probably never find one that has already been used?
4- How many digits has the number 2^256?
1. You can't. It all depends on the programmer.
2. No, slightly less than that. Moreso, because of a different part of the address generation algorithm, there are actually 2^160(still a very large number) possible addresses from the ~2^256 private keys.
3. Nope.
4. 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,
584,007,913,129,639,9365. Don't be confused about the small appearance of this number. I assure you, it's incomprehensibly huge. Most people know how to "count" only to the bolded part.
A quantum computer built using quantum entanglement(one has not been built that uses this only one with quantum annealing which is not the same) can pose a threat to all crypto. But orders of magnitudes more qubits than the D-Wave one.
The other method is to build the best possible computer, quantum or not with 100% efficiency, use a dyson sphere to trap a young star and travel through a wormhole that connects billions of years in the future to obtain the results.