With Ethereum it's notoriously difficult to accept deposits from many users due high operational costs for making new ETH addresses. On the other hand, if all users of a service send ETH to one address it would be impossible to track who sent which funds.
To solve the tracking issue when sending funds to a single address, a user suggests using the "satoshi" method as a marker for user deposits in Bitcoin in this question.
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.
In short, the method 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.
I would like to know if this concept can be applied to Ethereum.
Off hand I can think of two potential issues with this method:
- If we reserve 1 ETH address for 100 users, we are adding a minuscule amount of $$$ to each payment
- 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 "wei" 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?