<p>Expanding shesek's comment as an answer:</p>

<p>The "SIN" key you're looking at, on a profile on bitrated.com, is a particular feature of that site.  These keys are not directly used for Bitcoin transactions at all, so you certainly can't discover addresses from them.</p>

<p>As for Bitcoin public keys, one public key generates one address; you cannot use a public key to compute other addresses belonging to that user.  (Though you might find other addresses that participate in transactions with the first one, and guess that they belong to the same person; but that's not proof.)  </p>

<p>If someone is using an HD wallet, there is a concept of a <em>master public key</em>, from which one can determine the public keys for many different addresses that the user might be using.  People usually don't share those if they value their transaction privacy.</p>

CC BY-SA 4.0
2018-09-21T03:12:22.397Z
2018-09-21T03:12:22.397Z
Nate Eldredge
<p>One Private key can generate only one public key and in a similar manner one public key can generate only one bitcoin address. So a proper question should be is there a way to find out whether two addresses or two public keys belong to the same person ? Then answer is No, you can not efficiently find out whether these two addresses belong to the same person or not. Even if that person tells you, he has to reveal corresponding private keys in order to prove this thing to you. </p>

CC BY-SA 3.0
2017-12-13T07:12:09.137Z
2017-12-13T07:12:09.137Z
DOLLY PATWA
<p>I'm trying to find the set of bitcoin addresses from a public key associated with a user just to analyse this user transaction. Is there any way to derive/find all the addresses that have been generated by this public key so far?</p>

CC BY-SA 3.0
2015-06-21T14:52:46.897Z
Public keys generally only create one address. Are you asking about deterministic seeds for creating many addresses, or perhaps BIP32?
Nick ODell
CC BY-SA 3.0
2015-06-21T14:55:26.033Z
@NickODell Actually I'm trying to find all transactions where any of the input addresses were  generated by a public key. So I guess I have to find all bitcoin addresses that have been generated by this public key before. Makes sense?
Saulo Ricci
CC BY-SA 3.0
2015-06-21T14:56:23.170Z
What you're saying describes extended public keys, but not normal public keys. Is that what you're asking?
Nick ODell
CC BY-SA 3.0
2015-06-21T14:59:41.147Z
@NickODell let me exemplify: this link points to a user profile page on Bitrated platform: https://www.bitrated.com/collincrypto I just picked up randomly this profile page. If u scroll down the page u will notice a public key and encoded public key to SIN hashes. So what I want is to find all transactions associated with this user. I guess there is a link between this public key and his transactions. I'd like to find all the addresses where this public key were used to generate them. Is this clear? Thank you
Saulo Ricci
CC BY-SA 3.0
2015-06-21T15:48:45.487Z
related: [Is it possible to figure out if two addresses are in the same wallet?](http://bitcoin.stackexchange.com/q/7447/5406)
Murch
CC BY-SA 3.0
2015-06-21T17:28:20.623Z
@Murch actually that post tries to explain how to associate two addresses with the same wallet. In my case I wanna discover the transaction itself related with that wallet(public key). But I have to find these addresses themselves in order to get the transactions.
Saulo Ricci
CC BY-SA 3.0
2015-06-21T17:35:51.580Z
@Murch I think this question is different, and it might be possible to link a SIN to addresses that it used. I'm having trouble finding details of how it actually works.
Nick ODell
CC BY-SA 3.0
2015-06-21T19:43:54.890Z
@NickODell take a look in this link: https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses it seems they show how to convert the public key to bitcoin address. What do you think? I'll make some tests here
Saulo Ricci
CC BY-SA 3.0
2015-06-21T19:45:37.063Z
@SauloRicci They show how to convert a public key to a single address. The question implies that you're asking about something else.
Nick ODell
CC BY-SA 3.0
2017-11-24T13:10:37.213Z
If it is a 'regular' public key then it will have only one bitcoin address associated with it. The one you referenced above on bitrated.com looks like a compressed public key (33bytes). You would need tools to convert from compressed key into a bitcoin address (sadly my google skills failed me here). But the public keys on bitrated are not necessarily used to derive bitcoin addresses are they? They are used to verify messages from that user or similar, right? Or was bitrated thing just an example of a public key you found?
Fraggle
CC BY-SA 3.0
2017-11-25T07:31:17.577Z
The public key on user profiles (SIN) is used to sign ratings, profile fields, trade contracts, etc. It is not used for the multi-signature transactions themselves (which use keys derived from a separate HD master key associated with the user). Therefore, the SIN cannot be used to locate transactions on the blockchain.

(I'm Nadav, the founder of Bitrated.)
shesek
<address><public-key><cryptography><address-generation>
Is it possible to discover the set of bitcoin addresses from a public key?
Saulo Ricci
# Is it possible to discover the set of bitcoin addresses from a public key?

(Asked by: username_0 on 2015-06-21)

I'm trying to find the set of bitcoin addresses from a public key associated with a user just to analyse this user transaction. Is there any way to derive/find all the addresses that have been generated by this public key so far?

**Tags:** address, public-key, cryptography, address-generation

> **Comments:**
> **username_1**: Public keys generally only create one address. Are you asking about deterministic seeds for creating many addresses, or perhaps BIP32?  
> **username_0**: @username_1 Actually I'm trying to find all transactions where any of the input addresses were  generated by a public key. So I guess I have to find all bitcoin addresses that have been generated by this public key before. Makes sense?  
> **username_1**: What you're saying describes extended public keys, but not normal public keys. Is that what you're asking?  
> **username_0**: @username_1 let me exemplify: this link points to a user profile page on Bitrated platform: https://www.bitrated.com/collincrypto I just picked up randomly this profile page. If u scroll down the page u will notice a public key and encoded public key to SIN hashes. So what I want is to find all transactions associated with this user. I guess there is a link between this public key and his transactions. I'd like to find all the addresses where this public key were used to generate them. Is this clear? Thank you  
> **username_2**: related: [Is it possible to figure out if two addresses are in the same wallet?](http://bitcoin.stackexchange.com/q/7447/5406)  
> **username_0**: @username_2 actually that post tries to explain how to associate two addresses with the same wallet. In my case I wanna discover the transaction itself related with that wallet(public key). But I have to find these addresses themselves in order to get the transactions.  
> **username_1**: @username_2 I think this question is different, and it might be possible to link a SIN to addresses that it used. I'm having trouble finding details of how it actually works.  
> **username_0**: @username_1 take a look in this link: https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses it seems they show how to convert the public key to bitcoin address. What do you think? I'll make some tests here  
> **username_1**: @username_0 They show how to convert a public key to a single address. The question implies that you're asking about something else.  
> **username_3**: If it is a 'regular' public key then it will have only one bitcoin address associated with it. The one you referenced above on bitrated.com looks like a compressed public key (33bytes). You would need tools to convert from compressed key into a bitcoin address (sadly my google skills failed me here). But the public keys on bitrated are not necessarily used to derive bitcoin addresses are they? They are used to verify messages from that user or similar, right? Or was bitrated thing just an example of a public key you found?  
> **username_4**: The public key on user profiles (SIN) is used to sign ratings, profile fields, trade contracts, etc. It is not used for the multi-signature transactions themselves (which use keys derived from a separate HD master key associated with the user). Therefore, the SIN cannot be used to locate transactions on the blockchain.  (I'm Nadav, the founder of Bitrated.)  

---

## 2 answers

### Answer by username_5 on 2018-09-21. Score: 1

Expanding username_4's comment as an answer:

The "SIN" key you're looking at, on a profile on bitrated.com, is a particular feature of that site. These keys are not directly used for Bitcoin transactions at all, so you certainly can't discover addresses from them.

As for Bitcoin public keys, one public key generates one address; you cannot use a public key to compute other addresses belonging to that user. (Though you might find other addresses that participate in transactions with the first one, and guess that they belong to the same person; but that's not proof.)

If someone is using an HD wallet, there is a concept of a *master public key*, from which one can determine the public keys for many different addresses that the user might be using. People usually don't share those if they value their transaction privacy.


---

### Answer by username_6 on 2017-12-13. Score: 0

One Private key can generate only one public key and in a similar manner one public key can generate only one bitcoin address. So a proper question should be is there a way to find out whether two addresses or two public keys belong to the same person ? Then answer is No, you can not efficiently find out whether these two addresses belong to the same person or not. Even if that person tells you, he has to reveal corresponding private keys in order to prove this thing to you.


---

