[Ethereum] How is it possible to pay 2,100 Ether ($309,267) for a transaction fee

feesgasgas-limitgas-pricetransactions

Here is the transaction details that has transaction fee for
2,100 Ether ($309,267.00) only for sending 0.1 Ether.

There is no fairness for users, hence accidentally adding a zero might cause them to lose thousands of dollars.

enter image description here


[Q] How and why is this possible? Why Ethereum does not provide any protection mechanism for paying very high transaction fees and why there is no limit for that?

Since it is a mistake done by the user, why Ethereum does not provide any payback/refund mechanism?


From this comment, it seems like it is not an accident.

My guess is they have their own block and they add the 300k to it as a
fee. They DO NOT broadcast this transaction out, they are the only
ones that know about it and are the only ones trying to mine the high
fee transaction.

Now they start mining that block, everytime a new block is found by
the network(not them), they move their transaction to the new block
and start mining it, NEVER broadcasting this 300k transaction fee,
sooner or later they will solve this block and the 300k fee they never
broadcast ends up inside the block as valid on the network.

Once the block is mined, they hurry up and broadcast it to the
network, which makes every transaction inside the block valid,
including the secret one they kept from the network while trying to
mine for it for days.

This ETH address has other high fee transactions another one for 420
ETH fee. All these blocks were mined by the SAME miner. The odds of
this being a accident = ZERO.

Best Answer

How and why is this possible?

The user set a value of 0.1 ETH (100,000,000 Gwei) as the gas price. It's possible to set the gas price to anything you want.

Why Ethereum does not provide any protection mechanism for paying very high transaction fees and why there is no limit for that?

It's likely that certain wallets do prevent such mistakes from being made by setting upper limits to gas prices, or warning users before they confirm. (Or just outputting the associated dollar price that the transaction will cost, which the user can see and use to take corrective action.) It's possible the user was using the CLI or an interface that didn't provide any warning or feedback.

Since it is a mistake done by the user...

How do you know it was a mistake?

In this case we can probably all agree that it was a mistake. But how large would a transaction fee have to be before we can all agree that it's a mistake? What if I send a transaction with a slightly higher fee than normal - because I want my transaction to be included in a block promptly - but then change my mind? Should I be able to claim it was a mistake? Where's the line between a mistake and deliberate action?

..., why Ethereum does not provide any payback/refund mechanism?

Because you'd need some sort of social consensus or governance mechanism that would judge whether a transaction is deserving of being reversed.

Because the same mechanism could be used to censor certain transactions and users.

Because it could probably be used as an attack vector. (I pay you for some goods, I use the refund mechanism to get my money back, while walking away with the goods as well. Or at least something along those lines.)

Related Topic