I am working on exchange-like project for ETH and ethereum-based tokens. And I am having a problem with token withdrawals for users.
Every user certainly makes a deposit to his own newly generated address, but the ethereum design does not allow me to use redistributing transactions(from several addresses to several addresses) like in Bitcoin, for instance. So it seems to me that I have to accumulate payments at the single address and make payments from that one. But transferring tokens from all the user accounts might be very costly, and require additional transfer of ether to those accounts to pay fees.
In general terms, what I want to achieve is processing user withdrawals from numerous ethereum addresses just like from a single pool.
So is there a proper efficient way to handle this issue?