ERC-7196: Simple token, Simplified ERC-20
Abstract
This ERC is a new asset designed based on the user contract wallet (including account abstraction), and is forward compatible with ERC-20. To keep token assets simple, this ERC removes the transferFrom
, approve
and allowance
functions of ERC-20.
Motivation
ERC-20 defines Ethereum-based standard tokens that can be traded and transferred, but the essence of ERC-20 is based on the externally-owned account (EOA) wallet design. An EOA wallet has no state and code storage, and the smart contract wallet is different.
Almost all ERCs related to tokens add functions, but our opinion is the opposite. We think the token contract should be simpler, with more functions taken care of by the smart contract wallet.
Our proposal is to design a simpler token asset based on the smart contract wallet.
It aims to achieve the following goals:
Keep the asset contract simple: only responsible for the
transfer
functions.approve
andallowance
functions are not managed by the token contract, Instead, these permissions are managed at the user level, offering greater flexibility and control to users. This change not only enhances user autonomy but also mitigates certain risks associated with the ERC-20 contract's implementation of these functions.Remove the
transferFrom
function. A better way to call the other party's token assets is to access the other party's own contract instead of directly accessing the token asset contract.Forward compatibility with ERC-20 means that all fungible tokens can be compatible with this proposal.
Specification
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 and RFC 8174.
Compliant contracts MUST implement the following interface:
Rationale
The proposal is to simplify token standards by removing transferFrom
, approve
and allowance
functions. This simplification aims to enhance security, reduce complexity, and improve efficiency, making the standard more suitable for smart contract wallet environments while maintaining essential functionalities.
Backwards Compatibility
As mentioned in the beginning, this ERC is forward compatible with ERC-20, ERC-20 is backward compatible with this ERC.
Reference Implementation
forward compatible with ERC-20
Security Considerations
It should be noted that this ERC is not backward compatible with ERC-20, so there will be incompatibility with existing dapps.
Copyright
Copyright and related rights waived via CC0.
Last updated