In this question user @lungj suggests using "satoshi" as a marker for user deposits.
Another method I’ve seen used on bitcoin is using satoshis as a marker. For example, when paying for a one bitcoin item, an additional 7 satoshi could be added to the amount due to distinguish from another user asked to add 6 satoshi. Payments must be in exact amounts for this to work (but you can always refund an incorrect payment, less fees, to a sender). This does not scale all that well if your IDs must be permanent. This avoids the need for users to interact with a contract to include metadata.
This method basically allows all users of a service to deposit funds to the same Bitcoin address while allowing us to keep track of who deposited which funds.
Off hand I can think of two potential issues with this method:
- If we reserve 1 Bitcoin address to 100 users, we are adding a minuscule amount of $$$ to each payment (between 1 - 10 cents if Bitcoin exchange rate = $100,000)
- It only works when we know in advance how much the user intends to deposit (otherwise there's no way of calculating how much extra "satoshi" was added to a payment (so it won't work for general deposits)
What are some of the other pros and cons of using this protocol to keep track of user deposits? Are the issues above solvable?