<p>Just use a new address for every payment request. You can have as many addresses as you want.</p>

CC BY-SA 3.0
2016-06-29T12:20:56.910Z
2016-06-29T12:20:56.910Z
Murch
<p>If you are implementing a web service/site you can have your backend create a new address for each session token/cookie.  These addresses can be associated with users.  One way to implement this would be to associate addresses or sessions with an unused address.   Then transactions could be easily linked to sessions and accounts.</p>

CC BY-SA 3.0
2016-06-29T12:55:53.267Z
Ok thanks.. I thought bitcoin public/private key pairs were way less expendable. Instead it looks like a new pair has to be used for each transaction
Gianluca Ghettini
CC BY-SA 3.0
2016-06-29T12:42:32.353Z
2016-06-29T12:42:32.353Z
Mark S.
<p>It would be possible if you can generate multiple <code>receiving address</code> for each transaction. That can be done using your <code>public</code> and <code>private keys</code>.</p>

<p>Give each user a separate address of yours. Then you should be able to track.</p>

CC BY-SA 3.0
2016-06-29T12:21:24.690Z
oh I see... didn't think about it. I thought a "receiving address" was the public key but from what you say looks like it's not, isn't it?
Gianluca Ghettini
CC BY-SA 3.0
2016-06-29T12:22:35.280Z
@GianlucaGhettini addresses are derived from the `public key`. You can generate as many addresses as you want from it.
jgm
CC BY-SA 3.0
2016-06-29T12:23:04.427Z
Actually, every public key has only corresponding address, but you can have any number of keys.
Murch
CC BY-SA 3.0
2016-06-29T12:23:50.657Z
which in turn means generating many different private keys... (I guess)
Gianluca Ghettini
CC BY-SA 3.0
2016-06-29T12:26:36.490Z
you can use the same `private key` to generate multiple `public keys` and in turn `multiple addresses`.
jgm
CC BY-SA 3.0
2016-06-29T12:19:16.010Z
2016-06-29T12:19:16.010Z
jgm
<p>If I ask two different people to pay me a given amount of bitcoin, how can I tell which one has paid and which one has not?</p>

<p>If the amount is different then it's easy. For the same amount? Public key of the sender? If so, shall I trust my local copy of the blockchain? (I know the "balance" can be faked albeit nobody can steal or send bitcoins in your behalf)</p>

<p>What about big merchants which process large amount of transactions?</p>

<p>Of course I'm not asking how to find out the identity of the senders</p>

<payment>
How can I recognize a bitcoin transaction from a given person?
Gianluca Ghettini
# How can I recognize a bitcoin transaction from a given person?

(Asked by: username_0 on 2016-06-29)

If I ask two different people to pay me a given amount of bitcoin, how can I tell which one has paid and which one has not?

If the amount is different then it's easy. For the same amount? Public key of the sender? If so, shall I trust my local copy of the blockchain? (I know the "balance" can be faked albeit nobody can steal or send bitcoins in your behalf)

What about big merchants which process large amount of transactions?

Of course I'm not asking how to find out the identity of the senders

**Tags:** payment


---

## 3 answers

### Answer by username_3 on 2016-06-29. Score: 6 | Accepted answer

It would be possible if you can generate multiple `receiving address` for each transaction. That can be done using your `public` and `private keys`.

Give each user a separate address of yours. Then you should be able to track.

> **Comments:**
> **username_0**: oh I see... didn't think about it. I thought a "receiving address" was the public key but from what you say looks like it's not, isn't it?  
> **username_3**: @username_0 addresses are derived from the `public key`. You can generate as many addresses as you want from it.  
> **username_1**: Actually, every public key has only corresponding address, but you can have any number of keys.  
> **username_0**: which in turn means generating many different private keys... (I guess)  
> **username_3**: you can use the same `private key` to generate multiple `public keys` and in turn `multiple addresses`.  

---

### Answer by username_1 on 2016-06-29. Score: 1

Just use a new address for every payment request. You can have as many addresses as you want.


---

### Answer by username_2 on 2016-06-29. Score: 1

If you are implementing a web service/site you can have your backend create a new address for each session token/cookie. These addresses can be associated with users. One way to implement this would be to associate addresses or sessions with an unused address. Then transactions could be easily linked to sessions and accounts.

> **Comments:**
> **username_0**: Ok thanks.. I thought bitcoin public/private key pairs were way less expendable. Instead it looks like a new pair has to be used for each transaction  

---

