Given how much attention meta transactions have gotten in the past year, and given the awesome work @ricardo3 has been doing on the relaying functionality (which I cannot wait to try out!), shouldn’t Status officially join the Gas Station Network Alliance and learn/teach with the rest of the gang? I believe there’s much to gain by teaming up with the big players in the ecosystem, as previously stated. Or are we already collaborating and I missed this?
I always been open about my research, and released the work under CC0. I don’t see any problem in being part of that alliance if the intent is to improve Ethereum ecosystem.
Status Gas Relayer could support other ABIs with no problem, the work done by @rramos on the Gas Relayer makes easy to support new types of ABIs.
That’s awesome, @rramos can we make collab official? Can you init talks with GSNA, should I?
I am curious why they didnt contacted us, since we are pioneering this technique, since 2016 (see Gas Relayer for Status Nodes )
We need to verify the vision they have on Gas Abstraction, if they meets our Principles, then its fine.
The way we plan to solve the problem is to allow anyone to become a gas relayer with only needing to hold ether to do so, and it would be one service that status nodes would be able to serve in order to earn money.
So we want to decentralize the gas station and Status itself would only make profit from this if we become a Gas Relayer, and compete in the market.
As final vision is that miners/validators should become Gas Relayers, and they would sign transactions with outer transaction gas price zero and include in their blocks. So Validators would listen to regular ETH transactions signatures and also for ERC20 meta transactions signatures, and in case of ERC20 meta transactions they include themselves.
This would make validators able to accept any token as gas fee to include transactions.
This could be done as a soft fork in all ethereum clients, so all of them would be able to set any ERC20 as gas token, and all miners/validators would be able to choose what tokens they want to accept when mining.
And later on Ethereum could improve to incorporate meta transactions in the protocol itself. (or this could happen earlier, which would be good).
I don’t know, maybe they missed the progress same way I did. I am much more exposed to their work than I am aware of Status’ on the same front. Could be it’s a marketing issue. Worth investigating and opening comms in any case.
This happens quite alot with us. Some important dev/research work just isn’t broadcasted to the wider community. Mostly because we didn’t have a technical writer promoting the work and everyone else bandwidth is maxxed out.
Relevant post - Gas Station Network is out an generally available for integration in apps.
Thanks for the heads-up. In Teller Network we are currently using the GSN contracts (status-teller-network/EscrowRelay.sol at master · status-im/status-teller-network · GitHub) and we were waiting for the mainnet release. It’s nice to know that it will be available next week. (It also means that I need to update the contracts since I was using their previous version )
This is very cool. And now that we do have a technical writer in @rbin, I think we should put some process in place to cover these types of things
@Bruno this is 100% a marketing issue - but we certainly need some help from the developers to not only identify the technical work going on, but then also to brief us on it.
Shall we just use discuss to uncover topics like this? And then we make a call of it is something that A.) we should cover B.) something we have bandwidth to cover
The marketing team is in a perpetual “maxed” out state so prioritization of work is crucial
While it’s a good idea, I would caution everyone to think deeply about the second order effects of gas abstraction. There are some serious consequences I can see that have not been adequately addressed.
- Who subsidizes Gas, and why?
- How do they prevent fraud?
- Will it be ‘free’ for the user?
Alot of solutions require the trade of personal information to establish trust, or shift the problem by moving it to the DApp developer. If the user expects free service, then you can see how quickly this devolves to a paradigm that is no different from the marketing-surveillance complex we have today.
While it’s probably inevitable, in the very least we must always allow the user to not enter these abstractions, and pay their gas without giving up their identity or any other information.
Good questions. One of my main gripes with Nuo was that there is no way to interact with the contracts directly and they did indeed require personal info to offset this gas abstraction cost. Many of us pestered them enough about it to make them say they are working on making direct interaction possible, but like their audits, those claims fell flat so far.
I would argue that an approach like verification of humanity (https://bitfalls.com/aw1p) is a good enough system for low-cost or rare-interaction systems. We just need better humanity daos, both DAOstack’s and Humanity’s are lacking right now. Perhaps Kleros will get it right…
First of all I want to clear that gas abstraction is different from gas relay. Gas relay plays an important role for gas abstraction.
Gas Abstraction means that ETH can be totally replaced by SNT (or any other valued token), therefore the account can make any type of ethereum transaction just like a multisig can.
Gas Relay is a technique of using other account ETH to execute transactions in behalf of other address, this is possible for contracts designed in a way of accepting that one address submit other address call by providing the signature of the call parameters.
In case of Gas Abstraction, the Gas Relay is defined in the Account Contract (e.g. Identity.sol), and the MetaTransaction signed by the owner(s) address(es) of that Account Contract.
For Gas Abstraction:
1. Who subsidizes Gas, and why?
The market would operate similar the gas market, the gas relayers can automate and provide liquidity to tokens by automatically exchanging the tokens on receive, this could be automated with a Gas Relayer Contract and DEX.
The Gas Relaying could become a way of converting tokens for a better rate.
Geth and Parity could support the MetaTransactions for miners/validators, which ones would include this transactions with gasprice zero, meaning that they would direcly only earn the gas tokens specified by the meta transaction.
2. How do they prevent fraud?
- Gas Relayers would block users that send failing transactions.
- The transaction is signed with the Gas Relayer address, preventing other gas relayers to overrun.
Or, best solution: Geth and Parity could start recognizing MetaTransactions and validators would earn also ERC20 tokens they choose, not only ETH, reducing gas costs and making everything safer, as the meta transactions would only be included if valid.
3. Will it be ‘free’ for the user?
GAS is not free, so no. And could be an overhead in price by using this, because the gas market in a specific token could not be so competitive as in ETH.
Oh snap! thanks for the clarification @ricardo3