data flow that as I understood about ethereum blockchain

If I generates lots of private keys, I can get someone's address and its digital signature, right? I know that there's 2^256 possible private keys, but what if I use brute-force attack? Is it theoretically possible to hack someone's ether?

  • there is a much better way of hacking, and it is mnemonic key generation. people don't want to remember random keys, so they use random words and after that generate keys from it. A lot of Bitcoins were stolen due to poor randomness in this way of generating private key, so there you go, lots of Ethers can be yours! – Nulik Sep 13 '18 at 22:33

Theoretically, yes: A private key is just a random number, and if you make one there is a non-zero probability that it will already be in use by someone else.

However, the probability of finding a valid, properly-generated private key used by someone else using computers available now or in the forseeable future is low enough that you can safely consider it impossible.

| improve this answer | |

Theoretically it is possible, but the scale of this brute force attack is unfathomable.

Take a look at this back of the envelope calculation for bitcoin:

In order to spend money sent to a Bitcoin address, you just need to find a ECDSA public key that hashes to the same 160-bit value. That will take, on average, 2160 key generations.

Supposing you could generate a billion (230) per second, you need 2130 seconds.

Doing this in parallel using a billion machines requires only 2100 seconds.

Getting a billion of your richest friends to join you gets it down to only 270 seconds.

There are about 225 seconds per year, so you need 245 years.

The age of the Universe is about 234 years so far — better get cracking!

| improve this answer | |
  • Thanks for answer! But what if I generate a private key and map it to public address that is owned by other person and has bunch of ether by accident? – Jinwoo Lee Sep 13 '18 at 21:24
  • That would be equivalent to you both owning the same account and the ether on that account. Just like if someone gave you their private key on a piece of paper. Again, while it is possible, the question is how probable is it? And the answer to that is it is so improbable, that it is not actually a security concern. This same brute force attack could be used on any modern day cryptographic system which secures our entire world. – Shawn Tabrizi Sep 13 '18 at 21:33

It is not theorically possible, but it may happen.

There are some theorems that can be used to assert that it is not impossible.

For instance look at the “Birthday Theorem”. How many probabilities to have two persons in a room having the same birthday date if the days in a year are 365? If you have 366 persons in the room you have the 100% of probabilities to have at least two persons with the same birthday date. But if you agree to have the 50% of probabilities only for your experiment, 23 persons in a room are enough.

This mean: may happen, even if it is not so easy. If you agree to make brute force with low probabilities of success, It may happen, it is not easy, not probable.

On the other side you can understand that “rich” accounts are so few in the universe, that if you couple the low probability to obtain a valid address to the low probability to find money in it, it do not worth the while... at the moment 😉

| improve this answer | |
  • the statistics say only 10% of people are successful, and only 1 people in 400 (worldwide) has 1 million dollars. So, this reduces the success of brute force attack by 90% for afluent people and 99.99% for hacking a million dollar account. You have better chances to win the lottery or with to the house in a casino (considering that a casino is mathematically designed against players) – Nulik Sep 13 '18 at 22:36
  • It is false that "It is not theorically possible". In theory it is possible, in practice it is very very unlikely. – Ismael Sep 19 '18 at 4:15

The size of Ethereum’s private key space, (roughly 2^256) is an unfathomably large number. It is approximately 10^77 in decimal - that is a number with 77 digits. For comparison, the visible universe is estimated to contain 10^80 atoms, i.e. there are almost enough private keys to give every atom in the universe an Ethereum account. If you pick a private key randomly, there is no conceivable way anyone will ever guess it or pick it themselves. (source : "Mastering ethereum")

| 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.