Just an update, I’ve completed the gas usage tests and as it (unfortunately) turns out, batched meta transactions are not cost-effective for M-to-M use cases (many senders, many recipients with 0 previous token balance).
In case of 100 meta txs in a batch (100 senders, 100 recipients with 0-balance, all unique), the average gas per meta tx is 57’000 (see Test #6), which is higher than a normal on-chain token transfer transaction (51’000 gas).
It’s worth noting that this is the case where recipients haven’t held any tokens before, so a “worst-case” scenario. In case all recipients had a non-zero token balance before, the average gas used per meta tx would be 42’032.75 (see Test #7).
Other use cases, such as 1-to-M (1 sender, many recipients - Test #4) and M-to-1 (many senders, 1 recipient - Test #5) have better results (for “zero-balance” recipients). In case of 100 meta txs in a batch, the 1-to-M example used 33’813.11 gas/meta tx, while the M-to-1 example had used 38’025.83 gas/meta tx (34% and 25% gas reduction compared to an on-chain token tx, respectively).
The link to complete test results is in the first post in this topic.
The system doesn’t allow me to post new replies containing a URL address - @jpitts can you look into that? I’m getting the “Sorry you cannot post a link to that host” error.
At this point I don’t think I should publish this as an EIP, because my main hypothesis has failed. But I see potential in the M-to-1 use case, especially as a bridge to other L2 solutions where people have to first deposit their funds to a constant address (this is where batched meta txs might come useful).
Eager to hear your opinions!