以太坊ERC20代币,是部署在以太坊区块链之上,遵循EIP‑20技术规范的同质化智能合约代币,也是以太坊生态当中使用范围最广的代币类型,绝大多数稳定币、治理代币、项目通证均采用这套标准实现发行。ERC全称是EthereumRequestforComments,也就是以太坊征求意见稿,编号20代表这份提案的序号,该标准由开发者FabianVogelsteller在2015年11月提出,后续正式固化为EIP‑20,彻底改变了以太坊上代币的开发与交互模式。和以太坊原生代币ETH不同,ERC20代币并非区块链底层原生资产,全部依托智能合约运行,代币的总量、余额、转账逻辑全部存储在合约代码当中,每一枚同类型ERC20代币价值、属性完全对等,具备同质化特征,和现实当中的纸币逻辑相近,不存在个体差异。

ERC20标准规定了六项必须实现的核心函数,分别负责查询代币总供给、查询地址余额、直接转账、授权第三方代为转账、查询授权额度、执行授权转账,同时配套转账与授权两类事件,用于链上记录资产变动情况。除此之外,还包含代币名称、代币符号、小数位数这三项常用元数据,开发者可以自定义代币的名称、缩写以及最小分割单位,绝大多数ERC20代币会设置18位小数,和ETH的精度保持统一,方便各类钱包与应用做适配解析。只要合约完整实现这套接口,就可以被所有兼容ERC20的钱包、交易所、去中心化应用识别,不需要额外适配开发,这也是该标准能够大规模普及的核心原因。

在实际链上交互过程当中,用户持有ERC20代币,并不是把代币存放在自己的钱包地址内,钱包地址仅仅是一个标识,代币余额全部记录在对应的代币智能合约内部的映射数据表中。当用户发起ERC20代币转账时,本质是向代币合约发送一笔交易,由合约完成余额的扣减与增加,这笔交易需要消耗ETH作为gas手续费,这也是很多新手容易混淆的点,转账ERC20代币,同样需要钱包内存有ETH来支付网络费用。在DeFi场景下,approve授权函数是高频操作,用户可以授权合约拥有自己代币的使用权限,完成质押、兑换、流动性挖矿等操作,不过无上限授权也会带来不小的安全隐患,一旦合约出现漏洞,用户的资产会面临被盗风险。

ERC20标准的普及,催生了以太坊生态庞大的资产体系,市面上大量稳定币、治理通证、Wrapped资产、流动性池凭证都属于ERC20代币,同时也带来了对应的现实问题。标准本身没有校验接收方合约的能力,如果用户误将ERC20代币发送至不支持接收该代币的合约地址,资产会永久锁死无法找回,这也是链上经常发生资产损失的诱因之一。同时因为创建ERC20代币门槛很低,市面上充斥大量仿盘、空气币,骗子会复刻ERC20合约,使用和主流项目高度相似的名称符号,误导普通用户参与,用户参与交易时,必须核对合约地址,不能仅凭代币名字判断项目真伪。
