After two months in the trial period, Open Zeppelin and Tabookey launched the Gas Service Stations in the main Ethereum network for meta transactions. It is a decentralized network of retransmitters that are used to send ETH transactions without end-users paying for the gas normally charged for the cost of the transactions.
The Stations Gas Service (GNS for its acronym in English) emerged as an alternative to the obstacles solution hinder the adoption mass of criptomonedas, in the case of network ethereum require to interact with multiple applications, install extensions and pay by gas, among other requirements for the user.
Zeppelin and Tabookey focused on solving the difficulties faced by users of the Ethereum network, such as going to a centralized exchange, going through a KYC process and waiting for approval, transferring money from their bank, buying ETH, installing MetaMask, Learn to use it and transfer ETH to it. Processes that they consider to exclude the population that has no mastery of technology, as explained by both companies in their blogs.
The Ethereum Gas Service Stations network then emerged as a decentralized way of adding reimbursed collection calls to smart contracts. The relay network pays the cost of gas from verified transactions and in turn, they are reimbursed directly for the contract with which users wish to interact.
This means that the GSN relays to transfer the responsibility of paying for the user fee to the developers of the application. In this case, the payment of the gas is considered as the acquisition cost of the user, so only new users will be free of this transaction expense.
GSNs can also be used for more specific situations, such as paying the transactions of users of a Decentralized Autonomous Organization (DAO) from their main account, or the cases in which users pay their transactions through smart contracts.
Martin Tellechea, Zeppelin developer, explained to CryptoNews that Ethereum Service Stations are a solution that Dapp developers can integrate to prevent their users from having to go to install MetaMask to interact with their Dapp.
In order for broadcasters to pay the cost of gas from transactions, it is required that the contract with which the user is interacting is enabled for the GSN for which developers must code their contracts with the application found in the OpenZeppelin Contracts library or download the GSN Starter Kit already configured with all components.
Users sign messages, not transactions, that contain information about a transaction they would like and arguments they would like to go through. The relays are then responsible for signing the valid Ethereum contract. Transactions with this information in the contract preserve the identity of the user who originally requested the transaction. In this way, users can interact directly with smart contracts without having a purse or their own ETH.
Martin Tellechea Zeppelin developer.
According to the Dapp business model, users can be charged through other means, such as credit cards, or they can sponsor transactions while capturing value elsewhere.
A single RelayHub open-source smart contract acts as a registrar for relays. It is a mediator in transactions between repeaters and Dapp contracts, and issues events that help users find relays and assess their reputation. RelayHub retains small deposits of Dapps and uses them to compensate for transactions accepted by Dapps.
The ABC of service stations
To explain in basic terms how the service stations work we will associate it with a post office, that to send a letter requires an address so that to send a transaction in ETH a destination address that can be another person is required or a smart contract.
The transaction in ETH is like putting some cash in the envelope, while the price of gas is like the incentive given to the mailman to deliver the letter. On the other hand, there is the signature that is the stamp that the sender of the letter leaves on the form of the post office as proof that the content of the envelope has been verified.
GSNs work using a public group of repeaters and allowing the sender to select one. It is as if the sender of the letter selects the post office that offers the best service.
Thus, the sender in control, instead of a public group of transactions, has the option of negotiating its rate, verifying its reliability and sending the transaction.
The public group of transactions can be associated with a group of mailmen in dispute for carrying more letters than other mailmen, where it may be the case that they act selfishly and can abuse the system if this increases their profits.
Post offices are the network of service stations (relays), which publish their rates and URLs in the blockchain, accepting transactions with no time limit for users, filling them with gas, signing them, returning them to the user, relaying them to the blockchain and getting compensation for your effort.
Post offices are associated with the main office that acts as a registrar whose associated post office data is used to prevent abuse of services or censorship. The offices with better performance, earn transaction fees, and the less honest lose their bet.
From the user’s perspective, the application (web or mobile) transparently selects a relay and delivers the transaction to the blockchain. Behind the scenes, the application selects a repeater using information in the chain about the transaction fees and the current reputation, tries to send the transaction through the selected repeater, knows immediately if the request was handled or retries with the next repeater.
The immediate validation process allows for rapid interaction, so malfunctioning or malicious relays cannot cause long delays, and the transaction is delivered on time.