Vitalik Buterin, Chief Scientist at the Ethereum Foundation, has suggested there should be “a community norm that client/wallet devs can/should charge a 1 gwei/gas fee for txs sent through their wallet, we don’t try to circumvent such fees, and we support protocol changes to make such fees easier (eg. abstraction enabling multisends).”
MultiSend is a method to send eth to multiple addresses at once with a single transaction fee. It’s apparently “the first production ready Dapp to be built with Vyper – the new ethereum programming language” according to their website.
Buterin is presumably referring to the underlying code that makes the above possible, rather than this specific dapp, with the idea being that the ecosystem should help or support devs towards charging fees including potentially making protocol level changes to make it easier or more efficient. Buterin says:
“At the cost of only increasing average user gas costs by ~7%, it would raise up to $2m/year in sustainable non-institutionally-biased market-based funding for client/wallet developers.
For reference, that would cover all EF grants to date to eth2 client devs (not including Parity, which is not just eth2…) with room to spare.
Right now, the fees would probably best be implemented as one-off transactions sent once usage hits a certain amount (eg. 1m gas) but in the future they could be done via multisends…
The reason to make the fee a flat 1 gwei instead of x% is to avoid creating a perverse incentive to not optimize gas fees.”
There was discussion on whether people wouldn’t just fork the node client or wallet and remove the added fee, with Buterin publicly stating:
“I don’t expect that to be a sustainable strategy; people expect ongoing updates, so if a ninja fork outcompetes the original the original devs will stop working and the fork dies.”
Another argument he made was that people wouldn’t bother if fees are low enough and/or the ecosystem should discourage such ninja forks that remove the fee. He said:
“Users could certainly freeride by using a ‘pirate’ version of a client with the fee stripped out, but the hope is that if the fee is low enough (eg. 1 gwei) there’s not much incentive to develop or seek such things out.
Remember that an ethereum wallet/client is inherently a high trust thing; a bad one could steal all your money. This works against forking wallets to remove the fee, I would predict to a large extent.
To be clear, I am NOT advocating a norm *mandating* the 1 gwei fee. I am arguing for a norm diacouraging overly complaining about and/or trying to circumvent the fee if/where it exists.”
A more complex argument would be that the free version wouldn’t be quite free. Of course there are instances when someone does do something altruistically without expecting anything in return, but a good example here would be pirated software.
They tend to contain viruses, presumably because that is how those that worked to remove the licensing requirements get “paid.”
Finally, you can argue that some using the “free” version is fine as long as most or a sufficient number are using the “paid” version because the availability of the free version will make devs work even harder to make the paid version even better.
A Solution to Many Problems?
Ethereans in general seem to like the idea. At 1 gwei per gas, it would translate to one cent or so per transaction. For smart contract transactions it might be a bit more, but quite minimal.
That’s if they charge 1 gwei. They can charge less in a race to the bottom of zero, or they can charge more in a race to becoming a monopoly where they can rent seek.
The former would be kept in check by the need to pay expenses. Some client or wallet devs would perhaps offer it for free, but then you’d have to wonder where the funding is coming from, what is their business model, what is the paid part of “free” – whether “paid” today or once they have enough users to the point they can afford losing some when/if there is an outrage over something.
While regarding racking up fees, the barriers to entry are minimal so there can be plenty of competition which may drive fees close to zero, but not quite zero.
One interesting aspect of this is an alignment of devs and user incentives. Currently developers in eth and other public blockchains are effectively volunteers.
As with the free version, these “volunteers” do get “paid” by the Ethereum Foundation or Blockstream or in some cases miners and so on. Yet devs don’t necessarily have to care of the users’ experience and they might even see users as ungrateful free riders, as a demanding nuisance.
If they’re actually getting paid by users, then the dynamics completely change. They do so in the obvious aspects of wanting to provide the best experience and so on, but they do so even regarding scalability or capacity.
An Incentive to Scale?
It was some eight years ago when the suggestion was first made that miners will want to limit capacity so as to increase fees.
Where developers are concerned, they might – ideologically or for other reasons – want scaling or a better product, but where direct incentives are concerned, they might not necessarily care.
Worse, where there isn’t a non-profit foundation, their incentives might be to align with miners and use that limited capacity to provide extra services where they get “paid.”
If instead the “free-riders” become “customers” at the layer one level, then naturally they will want as many customers as possible, as many transactions as possible, and thus as much capacity as possible while keeping users satisfied regarding their values of decentralization, trustlessness, permissionlessness and so on.
Paying 1 gwei per gas looks like a very cheap price for that. At the individual level, it’s effectively free, about a penny. Collectively however, presumably at current usage levels, ethereans would be paying devs $2 million a year.
Devs will probably want to get that to $20 million, or 10 million transactions, and why not $200 million, or 100 million transactions. So providing an incentive to scale.