Is the sender's address the only way to identify the seller?

I don't see how this would work for a large websites that accept bitcoins. Since all of the transactions are visible, anyone can claim address x is theirs and that they sent the payment.

I guess the only way would be to generate a new address for each transaction? Seems messy and hard to keep track of things.

Also, I though I'd add another question since I mentioned large websites. Would it be possible to automatically notify the server when a payment arrives? I'm talking about something like paypal's IPN system. So that everything would be automated. If the person buys a subscription for example, then upon payment confirmation it gets activated automatically.


1 Answer 1


There is nothing messy or difficult to keep track of about generating a new address for each transaction. Generating an address is a very cheap operation and you can generate thousands of them in advance if you want. The way Bitcoin is designed, there is no different between using the same address for multiple transactions or using a new address for each transaction. It makes no difference to the system at all.

That said, I think the Bitcoin system should have permitted you to put an identifier in the transaction. 16-bits would have been sufficient.

  • Cannot you put some custom identifier data (that makes sense only to sender and recipient) into the script part of the transaction (if you really feel you need that)?
    – Thilo
    Commented Mar 19, 2012 at 10:44
  • There is no need to do that: the only data that belongs in a transaction is what is necessary for the world to verify its integrity. In most cases, you are already communicating with the sender by other means (website, e-mail, IM, ...), so why not send the identification there? Sure we need infrastructure to make this user-friendly, but one can send a signed message "please accept bitcoin tx 012d34sf56a as payment for order 12345". Commented Mar 19, 2012 at 11:53
  • 1
    @PieterWuille: The problem with "please accept bitcoin tx X as payment for order Y" is that the transaction information is public. What happens if you receive one of those, ship the order, and then receive another one? The merchant pretty much has to give the buyer some information that the buyer incorporates in the transaction. Right now, that can only be the receiving account. But if you could put the order number in the transaction, you could re-use accounts more easily. Commented Mar 19, 2012 at 15:18
  • What do you mean by "then receive another", and why would it be a problem? Commented Mar 19, 2012 at 19:01
  • @PieterWuille: You receive a message saying that transaction X was payment for order Y. You ship the order. Then you receive another such message saying that transaction X was payment for order Z. What do you do? The transaction information is public, how do you securely map it to an order? Commented Mar 19, 2012 at 19:09

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.