I would like to invite researchers to investigate the problem of Ethereum token standards and most notably ERC-20. I am the author of ERC-223 token standard and a security expert.
First, I described this issue in 2017. This can be a precedent of a vulnerability discovery in a “final” EIP. The EIP process does not allow changes even upon vulnerability disclosure.
Also there is a heavy ongoing censorship on Ethereum reddit r/ethereum
For example there is a post about ERC-20 security flaws made on r/Cybersecurity and this post was assigned “Vulnerability Disclosure” status: Reddit - Dive into anything
The same exact post was removed from r/ethereum with a reason “Not related to Ethereum or ecosystem” Reddit - Dive into anything
Excuse me, when ERC-20 became “not related to Ethereum ecosystem”?
No, OP points to the fact that ERC-20 standard is designed in a way that violates secure software design practices which resulted in (1) impossibility of handling transactions and (2) the implementation of pull transacting method which is not suitable for decentralized trustless assets and must be avoided.
The impossibility of handling transactions in turn resulted in impossibility of handling errors.
The impossibility of handling errors resulted in the fact that “it’s possible to send erc20 tokens to token contract address” as @p_m said but this is just the top of the iceberg. The root of the problem is a bit more complicated.
It must be noted that:
It is not possible to send plain ether to any contract address that is not designed to receive it, the tx will get reverted because ether implements transaction handling
It is not possible to send ERC-223 token to any contract address that is not designed to receive it because ERC-223 implements transaction handling
It is not possible to send ERC-721 NFT to any contract address that is not designed to receive it because the transferring logic of ERC-721 is based on ERC-223 and it implements transaction handling
It is only possible to send ERC-20 token and lose it to a software architecture flaw that does not implement a widely used mechanism
Lack of error handling is a cruel violation of secure software designing principles and it resulted in a loss of $130M worth of ERC-20 tokens already.
Its weird to see how people are eager to investigate and debate some abstract paper but not to devote their attention and conduct an investigation of a real ongoing scandal of the decade. A true story of millions of dollars losses and a problem that was getting silenced for years by Ethereum Foundation.
The incident serves as a reminder that while blockchain and smart contract technologies offer numerous benefits, security risks are a significant concern. Proper development practices, rigorous testing, code audits, and ongoing monitoring are essential to mitigate these risks and protect both users and valuable assets.