I’m building a cryptocurrency marketplace where users mainly buy and sell small ticket items (worth $10 - $50) using cryptocurrency. Typically, the average user will deposit $100 at a time into a personal/private/dedicated ETH address and we would then keep track of the user's balance internally.
However, since ETH uses account-based model to track transactions, when I try to consolidate all user deposits into a single ETH address I would pay a gas fee for each deposit. I'm trying to consolidate all of the deposits made by our users into a single ETH account without paying a separate miner/gas fees for each one.
TIME SLOT APPROACH
My approach to solve this problem is by using a "time slot" -- where every user of the site deposits funds to a single ETH address. In order to track which user to credit for a deposit I plan on dedicating a particular address to a single user for a period of time (“time slot”) and credit any incoming transaction to that user for that period of time.
My question is if a user sends funds to an address under someone else's "time slot" is it possible for him to prove that he was the sender the funds? Using publicly available information such as the amount sent obviously won't cut it because anyone has access to this info.
Is this possible?