I involved in a project that aims to create a token for public use (non blockchain familiar users). User will have an ERC20 token, but I don't want they to have ETH to pay the gas.
One obvious solution could be centralize the solution, executing transactions from a server wallet for each user to keep traceability (with ETH, but not accessible to the user). Although that solution could work, I don't think it is the best practice.
Another solution could be to make refunds of expended gas, but that could lead to some users to sell the ETH provided for gas, and not for proper use of the payment token.
Is there a way to fund an Smart Contract, in order to make it available to pay the transaction gas? In that case the user will see 0 gas cost in Metamask, but it seems risky (malicious users could exploit it to empty the funds).
Could I use the Raiden Network to make fast & free payments of my ERC20 tokens, like in Ligntning Network with BTC?
Should I create my own multisignature wallet in order to implement a channel for my ERC20 Token, like Raiden network does?
What could be the best approach if the mission is to provide users an ERC20 token to pay, in an ETH free (transparent) environment?