I'm exploring ways to enable contracts/dApp owners to pay for gas on behalf of users.

I know contact abstraction should enable this eventually, and the first step has been done with EIP208 which introduces NULL_SENDER, but I'm interested in what can be done now.

From what I've seen here on StackEchange and elsewhere, it all comes down to two options:

1. Refund users after they perform a transaction

This is actually not an option :) because I want users not to touch ETH, they don't even need to know that ETH exists.

2. Collect signed TXs/messages from users and forward them to the blockchain (and pay for gas, of course)

This is a valid solution, but the big problem is that users need to trust the dApp owner/message handler to forward their messages. I've stumbled upon uPort's meta transactions and their concept of multiple relayers is somehow appealing, but it's not clear how are relayers incentivized to forward TXs/messages and pay for gas? I've send uPort team a message, waiting for the answer... Ethereum Alarm Clock is a great project and something similar can be also implemented for the problem I'm talking about, but there are no guarantees that TXs will be executed.

Regarding all of this, I have two questions:

  1. Is there any way/idea to do this forwarding in a trustless way now, when we still don't have account abstraction)?

  2. Can anyone explain how this will work when account abstraction gets implemented?

Thanks! :)

  • what about just asking user for parameters and sending all transactions with a unique account (your dapp account), then you can have user specific balances, information, etc in a smart contract. – Jaime Jun 25 '18 at 8:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.