The algorithm to get the public key and the address from a private key consists of a few steps.

Which of the intermediate keys is used to sign transactions with?

Ultimately, there can exist two different private keys that resolve to the same address or public key. Can both be used for signing transactions spending outputs assigned to that address?

1 Answer 1


Yes. And it's pretty easy to understand why, without even mentioning anything about the underlying technologies.

A bitcoin: URL only contains the address of the recipient. The address does not need any previous transactions in the blockchain to resolve to a public key, so we can deduct that a bitcoin URL has the full public key.

When you spend bitcoins from an address, all that is publicly known is the public key for that address. And since we just established that the address is basically the public key, we can conclude that any private key that resolves to a certain public key will have access to that address.

In other words: when you send BTC to an address, all the client knows is the address where it's going, which means that it cannot store anything else about the recipient (since it doesn't know anything else). Since only the address is stored, any private key that resolves to that address will have access to the bitcoins.

It should be pointed out that not all transactions are sent directly to an address, and there are exceptions to my logic here. But for 99% of all transactions the above applies

  • After a second look, I noticed that the private key -> public key translation is only a single step. Thanks for the answer anyways! May 14, 2013 at 19:40

Your Answer

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

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