ERC20的完整全称是EthereumRequestforComments20,中文可译为以太坊征求意见稿第20号,是以太坊网络主流同质化代币技术标准。

我们可以把全称拆分成两段逐一解读,先看ERC,EthereumRequestforComments对标互联网领域经典的RFC文档体系,是以太坊社区统一发布技术规范、改进提案的文档体系。任何开发者都能向社区提交EIP以太坊改进提案,提案经过社区评审、测试、落地标准化后,就会被归类为ERC规范,数字20代表这份规范是整套体系里编号20的代币标准文档,2015年11月由开发者FabianVogelsteller正式提交提案,2017年完成全网标准化落地。在这套命名规则下,以太坊上NFT通用标准ERC721、多资产混合标准ERC1155,命名逻辑和ERC20完全一致,数字仅用于区分不同功能规范。

完整全称对应的标准核心作用,是给以太坊智能合约设定统一代币交互接口,规定所有发行代币必须实现6个强制函数与2个核心事件,也是所有钱包、交易所、DeFi应用能统一识别代币的底层基础。totalSupply用于读取代币发行总量,balanceOf查询任意地址持币数量,transfer支持用户直接转账,approve、allowance、transferFrom组合实现第三方授权代转,用户在去中心化交易所质押、兑换代币,全部依靠这套授权函数运行。除此之外,标准还提供代币名称、符号、小数位数三个可选字段,也就是我们日常看到的USDT、UNI这类代币标识,小数位普遍设置18位,和ETH原生单位精度保持统一。
弄懂ERC20全称对应的技术定义,能帮助普通币圈用户分清代币底层差异,避免混淆不同链代币标准。ERC20仅适用于以太坊主网,而BNB链、Polygon等兼容EVM的公链,只是复刻这套标准逻辑,对应代币不会被称作ERC20,而是各自链原生代币标准。同时ERC20定义的是同质化代币,同币种任意两枚代币价值完全等价,这和ERC721非同质化NFT形成本质区分,日常交易的稳定币、DeFi治理代币、项目功能币,几乎全部基于ERC20标准发行。普通用户转账、存币、参与流动性挖矿时,钱包页面标注的ERC20通道,本质就是遵循这份编号20的以太坊规范完成链上交互。

虽然ERC20是币圈使用最广泛的代币标准,但这份早期规范存在原生设计缺陷,也是很多用户资产丢失的常见诱因。标准内没有强制代币接收回调函数,若用户将ERC20代币转入不支持代币识别的合约地址,资产会永久锁定无法取回;同时早期合约缺少黑名单、铸币销毁权限管控,部分山寨项目会利用合约漏洞增发代币,造成持有者资产贬值。当下新项目常会搭配ERC20扩展规范优化缺陷,不过主流主流稳定币、头部DeFi代币依旧沿用原版ERC20合约,用户转账前需要确认接收地址支持ERC20代币接收,降低资产损失风险。
