-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Description
EIP: 1837
Title: Explicit transaction fees
Author: CryptoManiacs team: Anton Bukov <k06aaa@gmail.com> and Sergej Kunz <info@deacix.de>
Type: Core
Category: Core
Created: 2019-03-09
Updated: 2019-03-09
This EIP was started as part of ETHParis 2019 hackathon project: https://devpost.com/software/qrtoken
Simple Summary
Let's allow Ethereum users to pay fees over smart contract by sending funds directly to miner via block.coinbase
during zero-gas-price transaction execution.
Abstract
We would like to propose a safe way for existing Ethereum nodes to consider transactions with zero gas price
to be included in blocks due to their ability to pay fees directly to miners over block.coinbase
. This would allow users to pay fees in any desired token, using on-chain exchanges (Bancor Network, Kyber Network, Uniswap, 0x). And would allows IoT devices to avoid problems with topping up their ETH balances and pay fees from the managing smart contract.
Motivation
- IoT devices without ETH balance interacting with the managing smart contracts
- Ability to send tokens without having any ether, involving paying fees in the token or by using any on-chain exchange
Specification
Ethereum miners should consider zero gas price transactions as one's possible to pay directly to them over smart contract. And since EVM checks of this payments are much harder than cheks gas_limit * gas_price <= sender_balance
we have to propose several cases to protect from a cheap flood, so we found 2 approaches at that moment:
-
On-chain registration of wallets which would like to send this kind of transactions and blacklists of these wallets on nodes, which tries to send free transactions without any payments.
-
Off-chain HashCash of transactions by tweaking their signatures until Tx with enough number of leading zero bits in hash found.
Activity
[-]Explicit transaction fees[/-][+]EIP1837 Explicit transaction fees[/+][-]EIP1837 Explicit transaction fees[/-][+]EIP-1837 Explicit transaction fees[/+]deacix commentedon Mar 9, 2019
Here we go :)
yoav-tabookey commentedon Mar 9, 2019
Consider using the gas stations network, which solves the same problem without requiring miners to learn new skills. See EIP 1613 or Google 1-800-ethereum. Already deployed on ropsten if you want to use it during the hackathon.
crazyrabbitLTC commentedon Mar 9, 2019
I second @yoav-tabookey suggestion, gas stations network can handle this use case pretty effectively.
radotzki commentedon Mar 9, 2019
And - you can use Portis and get an out-of-the-box solution with the gas stations network:
https://docs.portis.io/#/gas-relay
k06a commentedon Mar 9, 2019
@yoav-tabookey @crazyrabbitLTC @radotzki Portis gas station looks working solution but requires smart contracts adoption. I still prefer to modify nodes software to make it possible for every Etheruem user.
deacix commentedon Mar 12, 2019
I agree with @k06a! The miner client needs only small changes in the transaction sort function, to allow to pay the fee from smart contract.
gluk64 commentedon Mar 15, 2019
The necessity to adjust smart contracts is a barrier for adoption. @radotzki, you can onboard more users in Portis if it's not application-specific.
@k06a you should talk to the mining pools first. They are the only people who you need to convince and the number is limited.
deacix commentedon Mar 15, 2019
@gluk64 Thank you for the feedback! May you can provide some contacts to the mining pools?
snjax commentedon Mar 15, 2019
I think HashCash will not work in general case, because GPU or ASIC miners of attackers will have much more power to produce the hashes.
But if we make hashcash mining process like ethereum mining and bring it to 3rd party (so, there are two reward transfers inside the block: one transfer for
block.coinbase
, another transfer to hashcash provider address, which is set with additional blinding parameter to get the hash), it seem to be viable.k06a commentedon Mar 15, 2019
@snjax but I think ASIC miners will have not enough incentive to block valid gas-less transactions. Are you talking about generalizing transaction mining by 3rd parties? This would allow wallet owners to mine their client's transactions with some pools cooperation and earn on this.
snjax commentedon Mar 15, 2019
@k06a yes, I said about generalizing transaction mining.
Also, there is another way how to provide gas-less transactions: wallet contracts.
dex can setup such contracts to their users. After that, the user can sign some instructions for such a contract and send it to somebody who executes the instructions at the contract.
github-actions commentedon Nov 20, 2021
There has been no activity on this issue for two months. It will be closed in a week if no further activity occurs. If you would like to move this EIP forward, please respond to any outstanding feedback or add a comment indicating that you have addressed all required feedback and are ready for a review.
github-actions commentedon Dec 4, 2021
This issue was closed due to inactivity. If you are still pursuing it, feel free to reopen it and respond to any feedback or request a review in a comment.