Pages:
Author

Topic: Is bitcoin address generation completely random? (Read 1421 times)

member
Activity: 532
Merit: 15
December 19, 2018, 05:58:49 AM
#39
You might want to re-think after watching this video
Public & Private Keys Explained (Litecoin/Bitcoin)
https://www.youtube.com/watch?v=67uW07QDHxE
copper member
Activity: 364
Merit: 4
I also wondered about how these addresses are generated. As there isn't a database of addresses to pick from, how can the wallet be sure that this address is not already in existence. Does it check the blockchain first?
hero member
Activity: 1582
Merit: 670
I think it may depend on an algorythm. I've seen a website. It helps a create a Bitcoin wallet. I draw a point by point in website and it created to Bitcoin wallet for me. It works still offline. So it doesn't need any internet connection to that. I think it depends on something. But I am sure of that someone is knowing about this.
jr. member
Activity: 322
Merit: 1
I don't think that's way possible
Bitcoin and other crypto wallet are been generated randomly. Though I have little knowledge about how this is done, but still yet I don't think one can still be able to generate an address with a lost treasure in it.
newbie
Activity: 10
Merit: 0
The Bitcoin address is random and the name associated with it does not involve creating bitcoin addresses but a feature set by a certain website to satisfy their customers. Think about it this way. Bitcoin had taken years before university professors and hackers desperately tried to discredit Bitcoin in any way they could. Even in the future when brute force might become possible after the introduction of cheap quantum computers, Bitcoin will only need a hard fork to fix the hole but it is definitely needed.
hero member
Activity: 949
Merit: 517
I think bitcoin address generation has its own pattern and a sequence of alphanumeric character and it is very unique, we just don't know the exact pattern on how the creator/programmer do the thing.
newbie
Activity: 23
Merit: 0
You can’t and shouldn’t trust. If you think of online wallet generators you should do the following:
1.use a fresh OS install. (Some trusted live linux distro is excellent, they can be run from a pendirve, you can download/set up them in 5 minutes) 2.disable all network communication (wifi, lan, BT).
3.run your wallet generator (almost all can run offline). 4.save your wallets (e.g write down, make a photo) 5.immediately destroy all persistent data on the machine. (dd all the disks and pendrives).
Unfortunately the only true way to verify the generator correctness is to thoroughly examining the source and having deep knowledge of cryptography. Otherwise you must trust the creator or the wisdom of the crowd. Use some popular and open sourced generator which is (hopefully) verified by several professionals.
newbie
Activity: 23
Merit: 0
Addresses aren't exactly created randomly, and there is a log of all of them, we call it the blockchain. But knowing an address is not enough to access coins, you also need authentication from the wallet that owns the coins.
It's kind of like how even though someone knows your mailing address, they can't get your mail delivered to them instead of you.
full member
Activity: 294
Merit: 100
That isn't possible. Bitcoin addresses are UNIQUE and once any address is generated, the same address cannot be created twice.
newbie
Activity: 8
Merit: 0
Maybe it's just in a web page where you can see the name attached and if it's sent outside the web site, it will not appear. The Bitcoin address is random and the name associated with it does not involve creating bitcoin addresses but a feature set by a certain website to satisfy their customers.
member
Activity: 172
Merit: 17
Did you figure this out yet? Has the process of determining a seed ever changed in different bitcoin versions?
hero member
Activity: 798
Merit: 503
I am always wondering this question. Of course from the computer science point of view, nothing is really random. You have a random function which may use system timestamp as a seed, or combination of mac address, computer architecture etc. So if I try to generate the bitcoin address using the similar conditions that Satoshi once had, maybe I can generate his address with a larger probability and may succeed one day, and get his lost treasure, lol. Though sounds not easy, but it is still possible, right?


For whether, it is randomly generated or specifically generated, I dont care and I dont want to know. Its none of my business. What concerns me is when I need a new address, I want to be able to generate it, then use it get funds in which I must see in my wallet, give me that, then I am cool...
sr. member
Activity: 294
Merit: 250
Addresses are randomly generated starting from a private key. The private key is the only truly random value in a whole chain of interesting values. These values are then mathematically derived from the private key. On the other end of the chain of values is the address.

Now if you could simply pick an address and recover the private key that, when passing it through the address derivation mechanism, gives you that address we would be in a lot of trouble. People could simply listen to transactions on the network, extract the receiving address, reconstruct the private key and spend the funds, even if they were not the intended recipient. So at this point it should be clear that simply picking an address and go ahead from there is not possible, in other words some of the functions in the chain are non-reversible.

So starting from the private key, we construct a public key. Already this first step is non-reversible, otherwise public-key cryptosystems would stop working. It should be computationally unfeasible to recover the private key from the public key. Bitcoin further goes ahead and hashes the public key twice. This step is non-reversible as well.

So keep your private keys safe  Smiley
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
-snip-
I have always wondered how the addresses are generated. I am not talking about hackers finding private keys and using it.

I am talking how many times does the address gets generated, we all know that your old wallet address still can be used to receive money on, but what if it gets confused with another generated address that belongs to another user.

Dont give your private keys to other people and no one can get "confused" using the wrong one.
legendary
Activity: 938
Merit: 1002
Think about it this way. If it were even remotely possible to find the seed, then a private key from the seed, then use the private key to find associated public key, hash the public key to get a valid address collision with btc in it and then steal the btc, do you honestly believe anyone would be using bitcoin?

Bitcoin would have died years ago when college professors and hackers were desperately trying to discredit Bitcoin any way they could. The worst thing they have ever been able to do is put a tribute to Nelson Mandela and Len Sassaman permanently in the blockchain.  

Even in the future when brute force becomes possible after the advent of working inexpensive quantum computers Bitcoin will simply require a hard fork to fix the vulnerability but it's doubtful that will ever be required. Hash-based cryptography (Ralph Merkle signature scheme) was recommended by the Post Quantum Cryptography Study Group as a long term protection against quantum computers.
I have always wondered how the addresses are generated. I am not talking about hackers finding private keys and using it.

I am talking how many times does the address gets generated, we all know that your old wallet address still can be used to receive money on, but what if it gets confused with another generated address that belongs to another user.
legendary
Activity: 1302
Merit: 1008
Core dev leaves me neg feedback #abuse #political
I am always wondering this question. Of course from the computer science point of view, nothing is really random. You have a random function which may use system timestamp as a seed, or combination of mac address, computer architecture etc. So if I try to generate the bitcoin address using the similar conditions that Satoshi once had, maybe I can generate his address with a larger probability and may succeed one day, and get his lost treasure, lol. Though sounds not easy, but it is still possible, right?



Nope.  Impossible.  You'd have a better chance trying to brute force a private key directly.

The entropy pool on a computer is generally at least 2000 bits and would be no way
to know all the inputs such as the exact timestamp, the mouse movements, and other hardware.

legendary
Activity: 2156
Merit: 1393
You lead and I'll watch you walk away.
Ayers, see my post immediately above yours.
legendary
Activity: 2590
Merit: 1022
Leading Crypto Sports Betting & Casino Platform
I am always wondering this question. Of course from the computer science point of view, nothing is really random. You have a random function which may use system timestamp as a seed, or combination of mac address, computer architecture etc. So if I try to generate the bitcoin address using the similar conditions that Satoshi once had, maybe I can generate his address with a larger probability and may succeed one day, and get his lost treasure, lol. Though sounds not easy, but it is still possible, right?


You will never successfully generate Satoshi's addresses besides you need the wallet private key not the public address. It's not possible. A Bitcoin address is effectively (not truly) random although it's derived using a 160-bit hash of the public portion of a public/private ECDSA keypair. Using public-key cryptography, you can "sign" data with your private key and anyone who knows your public key can verify that the signature is valid.

How to create Bitcoin Address
Take a private ECDSA key

Take the corresponding public key generated with the ECDSA key (65 bytes, 1 byte 0x04, 32 bytes corresponding to X coordinate, 32 bytes corresponding to Y coordinate)

Perform SHA-256 hashing on the public key

Perform RIPEMD-160 hashing on the result of SHA-256

Add version byte in front of RIPEMD-160 hash (0x00 for Main Network)

Perform SHA-256 hash on the extended RIPEMD-160 result

Perform SHA-256 hash on the result of the previous SHA-256 hash

Take the first 4 bytes of the second SHA-256 hash. This is the address checksum.

Add the 4 checksum bytes from the end of extended RIPEMD-160 hash. This is the 25-byte binary Bitcoin Address.

Convert the result from a byte string into a base58 string using Base58Check encoding. This is the most commonly used Bitcoin Address format.

Bitcoin addresses are the pubkeyhash (not pubkey) plus version and checksum information, encoded in base 58.
Bitcoin address = version + RIPEMD-160(SHA-256( Public Key )) + checksum

This is not the point and the question is not about it.

If you try to randomly generate a key, then it is impossible (or virtually impossible). But the key pair is not generated completely random. It uses a random number generator which depends on the seeds. So with these clues it will not be completely random any more.

There's no such thing as a computer generated truly random number but the difficulty of using brute force to find a computer generated Bitcoin private key would take : pow(2,128) / (15 * pow(2,40)) / 3600 / 24 / 365.25 / 1e9 / 1e9 or 0.65 billion years.


this will be untrue when quantum computer will be out for everyone right? or they will still need all that time to broke a private key? i also read that ecsda will be at risk with them, so if bitcoin need it, that passage to get the key will be avoided and replace with another hash fuction
legendary
Activity: 2156
Merit: 1393
You lead and I'll watch you walk away.
Think about it this way. If it were even remotely possible to find the seed, then a private key from the seed, then use the private key to find associated public key, hash the public key to get a valid address collision with btc in it and then steal the btc, do you honestly believe anyone would be using bitcoin?

Bitcoin would have died years ago when college professors and hackers were desperately trying to discredit Bitcoin any way they could. The worst thing they have ever been able to do is put a tribute to Nelson Mandela and Len Sassaman permanently in the blockchain.  

Even in the future when brute force becomes possible after the advent of working inexpensive quantum computers Bitcoin will simply require a hard fork to fix the vulnerability but it's doubtful that will ever be required. Hash-based cryptography (Ralph Merkle signature scheme) was recommended by the Post Quantum Cryptography Study Group as a long term protection against quantum computers.
hero member
Activity: 1792
Merit: 728
I am always wondering this question. Of course from the computer science point of view, nothing is really random. You have a random function which may use system timestamp as a seed, or combination of mac address, computer architecture etc. So if I try to generate the bitcoin address using the similar conditions that Satoshi once had, maybe I can generate his address with a larger probability and may succeed one day, and get his lost treasure, lol. Though sounds not easy, but it is still possible, right?


I also wonder and in doubt about how random bitcoin address is. I think it should have a formula to create those addresses.

well, I think you should find the formula first. but it should be related to how Satoshi's computer random an address. eve. if you find it, how do you assure yourself that it belongs to real satoshi?
Pages:
Jump to: