my goal of questions this is why any wallet not able to compute private key created with public key generate?

  • This seems to be about seven different questions, and I'm finding them all pretty hard to understand. Can you try to edit your post to focus on a more specific question, and to explain more clearly what you are asking? Oct 17, 2018 at 14:41
  • I'm sorry, my goal of questions this is why any wallet not able to compute private key created with public key generate?
    – hami
    Oct 17, 2018 at 14:50
  • I edited your "question" to replace the large number of broad questions with the one in your comment - I think this is more answerable. If you dislike my changes, please use the "edited" link above and then "rollback" version 1. Oct 18, 2018 at 8:38

1 Answer 1


Your post is a series of questions, each of which I'm having trouble understanding specifically, but in general it seems that you are confused about the role of private and public keys in bitcoin. So, as a high level answer:

Bitcoin uses public key cryptography to verify that users are allowed to spend some bitcoin. A user will create a private/public keypair, and then create a bitcoin address from the public key. Any bitcoin sent to that address is only spendable if the private key signs a transaction spending it (the transaction includes the public key, so that the network can verify the signature).

The way public key cryptography works, it is computationally infeasible to work backwards from the public key, in order to find a private key. So a wallet cannot 'find' the private key for a given public key.

A bitcoin wallet can be thought of as a keychain app, because it stores the user's keypairs. So the wallet will manage your keypairs, create and sign transactions, etc. A private key is not used to sign into the wallet, for that you would use a secure login system (PIN, username, password, 2FA, etc, depending on the type of wallet).

To keep bitcoin safe, it is best to keep your private keys 100% offline, using hardware that never connects to the internet to generate (and potentially store) the keys.

With this setup, there is no reason to specify an 'owner' of an account or wallet, the network only cares about whether or not a signature is valid.

Any good wallet software will generate keys using a proper random number generator, and the keyspace is so large that the chance of ever generating the same private key twice is pretty much zero. The only way to create the same keys in two wallets is to either create the key in one wallet, and then import it to the second wallet, or use an HD wallet architecture and then use the same mnemonic seed phrase to create multiple wallet instances.

  • I edited the original question pretty drastically, If you feel I have undermined your (as usual excellent) answer, please rollback my edits. Oct 18, 2018 at 8:43

Your Answer

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

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