Should we retain the feature that ETH can be used as an ERC20 token? #245
-
The OVMv1 made ETH accessible via two methods:
However, community consensus over this feature has not yet been reached. Although some of you have expressed that you think this is a great idea, others have also expressed concern. For the moment, it seems prudent to disable ETH ERC20 features for the next release while we have a wider discussion about the features. I'm hoping that we can have the majority of that discussion here. So... let's discuss! Do you think we should retain the ETH ERC20 feature? Do you think we should drop it? Please give reasoning for your answer. |
Beta Was this translation helpful? Give feedback.
Replies: 0 comments 24 replies
-
A RESOUNDING YESDevs want to use WETH because it's safer. Sending ETH is dangerous because the recipient can reenter, and revert which causes all sorts of security and DoS issues. But if you use WETH you force users to wrap and unwrap which is a massive pain. The pain of having to wrap and approve WETH is even worse on a rollup where execution is cheap, and calldata is expensive. Hence, native ETH also being WETH lets devs get the best of all worlds: security, good UX, and cheap txs! |
Beta Was this translation helpful? Give feedback.
-
As much as this comment my seem like I'm trolling at first, I am trying to play devil's advocate so that we don't fall into a trap of groupthink. A RESOUNDING NO
Devs want to use ETH because it's less of a headache for their users! ETH as an ERC-20 has come with minimal UX gain, if any at all. Instead, the net effect of ETH as an ERC-20 has been a significant decrease in an easy onboarding experience.
This is a familiar pain, so I think you're overexaggerating how much of a pain point WETH is.
The goal of all L2s should be 1:1 EVM compatibility primarily because THAT IS WHAT MOST USERS ARE USED TO. Attempting to nudge users behavior while they're also trying to focus on getting familiar with L2 apps, not trying to learn how to use an L2 sounds like we're trying to have users focus on two different parts of the L2 experience at once.
Users care most about accessing new opportunities on L2. They could care less about whether execution or calldata is more expensive. Users want a brain-dead easy experience where they can explore L2 apps with minimal technical hiccups along the way. hint:
|
Beta Was this translation helpful? Give feedback.
-
I said that. But as I also said it comes with security tradeoffs. Hence allowing ETH as an ERC20 lets them everyone to get the best of both worlds: security and UX.
How?
Sure people can understand WETH, but it's a pain to have both ETH and WETH in your wallet. And if you need to pay gas you need to unwrap, etc. People can get adjusted to bad UX, that doesn't mean we should get complacent.
What does this mean?
What?
But they don't? RPC calls for account balance and stuff now return your proper ETH balance. You don't need to add ETH as an ERC20 to your wallet.
Uhh yes they certainly do care when their transactions are expensive?
This can still be provided with ETH as an ERC20. All the issues you listed sound like early hiccups? At least from my experience using OE I've never had to think about ETH being an ERC20, shit just works. Again, keeping ETH as an ERC20 improves UX because they don't have to think about WETH— UX would actually degrade otherwise. |
Beta Was this translation helpful? Give feedback.
-
Current sentiment seems to be leaning towards disabling this feature for the moment and continuing this discussion during the months leading up to system upgrade after this next one. Once we introduce this feature it will be very hard to turn it off, so we need to be 100% certain that this is a good idea. That said, we will leave this discussion page up so that people can give feedback + make arguments that can inform this decision in the meantime. |
Beta Was this translation helpful? Give feedback.
-
I say yes based on the utility of WETH. WETH has proven itself useful in 2 ways:
|
Beta Was this translation helpful? Give feedback.
-
@smartcontracts @transmissions11 @rajivpo just read this thread that these two users, YYY and KEMIO, had last night and feel their pain as users having to use ETH as an ERC20: |
Beta Was this translation helpful? Give feedback.
-
General reminder that under this scheme you would be able to choose which way you want to interact with ETH. You could still use the standard methods like |
Beta Was this translation helpful? Give feedback.
-
No, due to infinite approves on unsafe contractsNo idea if this topic is still on the table, especially with the new EVM equivalence update to Optimism (which is super cool btw, props to all the smart engineers who worked on that), but I just saw this tweet from DC Investor (famous NFT guy on Twitter) on why they like to keep WETH separate to ETH. Essentially, it's because of infinite approve-ing WETH on potentially risky contracts. NFT folks are often also less technical than DeFi folks and programmers, so they're at a higher risk of doing infinite approves. Hopefully, it'd be less of an issue on Optimism with lower gas costs, but all it takes is one badly written Dapp that ask for infinite approve, and I'm sure at least some users won't bother going on Metamask and manually reducing the infinite approve. https://twitter.com/iamDCinvestor/status/1446958378715123716 Edit: Added screenshot of tweet in case tweet gets deleted or for privacy-conscious folk that don't use twitter |
Beta Was this translation helpful? Give feedback.
Current sentiment seems to be leaning towards disabling this feature for the moment and continuing this discussion during the months leading up to system upgrade after this next one. Once we introduce this feature it will be very hard to turn it off, so we need to be 100% certain that this is a good idea. That said, we will leave this discussion page up so that people can give feedback + make arguments that can inform this decision in the meantime.