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

<p>A <code>bitcoin:</code> 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.</p>

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

<hr>

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

<hr>

<p><em>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</em></p>

CC BY-SA 3.0
2013-05-14T19:40:59.860Z
After a second look, I noticed that the private key -> public key translation is only a single step. Thanks for the answer anyways!
Steven Roose
CC BY-SA 3.0
2013-05-14T19:34:44.433Z
2013-05-14T19:34:44.433Z
Tom van der Woerdt
<p>The <a href="https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses#How_to_create_Bitcoin_Address" rel="nofollow">algorithm</a> to get the public key and the address from a private key consists of a few steps.</p>

<p>Which of the intermediate keys is used to sign transactions with? </p>

<p>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?</p>

<transactions><address><message-signing>
Do all private keys that are resolved to the same address give access to the bitcoins on this address?
Steven Roose
# Do all private keys that are resolved to the same address give access to the bitcoins on this address?

(Asked by: username_0 on 2013-05-14)

The [algorithm](https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses#How_to_create_Bitcoin_Address) 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?

**Tags:** transactions, address, message-signing


---

## 1 answers

### Answer by username_1 on 2013-05-14. Score: 3 | Accepted answer

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*

> **Comments:**
> **username_0**: After a second look, I noticed that the private key -> public key translation is only a single step. Thanks for the answer anyways!  

---

