投资百科/加密货币/ERC-20是什么?为什么大多数以太坊代币都遵循这个标准?

ERC-20是什么?为什么大多数以太坊代币都遵循这个标准?

ERC-20 是以太坊上最常见的同质化代币标准。本文将解释 ERC-20 的转账、余额和授权机制,以及为什么理解 approve 对钱包安全很重要。

2026-05-28

ERC-20(ERC-20)是很多交易者会看到、但容易只记住名字的概念。ERC-20 是以太坊上最常见的同质化代币标准。

ERC-20是什么?

理解ERC-20,关键不是背术语,而是知道它在什么场景出现、影响哪些成本和风险,以及它和哪些相邻概念容易混淆。它属于加密货币知识体系,核心是把链上机制、交易行为、资产设计和安全风险放在一起理解。

维度要问的问题
场景它主要用于交易、风控、估值、钱包安全还是协议机制?
成本它会不会改变手续费、滑点、权利金、资金费率或机会成本?
风险最坏情况下,损失来自价格波动、清算、合约漏洞还是流动性不足?
时间它是短期事件风险,还是长期结构性风险?
验证有没有数据、链上记录、期权链或官方披露可以交叉检查?

定义:ERC-20究竟标准化了什么?

ERC-20 是以太坊应用层的一套同质化代币接口约定。“同质化”表示同一合约发行的每个最小单位可以互换:地址甲的一枚代币与地址乙的一枚代币在合约记账层面没有编号差异。标准没有规定代币必须值钱、总量必须固定,也不负责审核发行方;它只是让钱包、交易所和 DeFi 协议能用相同方式读取余额和发起操作。

常见接口包括 totalSupplybalanceOftransferapproveallowancetransferFrom。前两个用于查询供应量与地址余额,transfer 由持有人直接转账,后三个共同组成授权代扣机制。成功转账通常还会发出 Transfer 事件,授权变更会发出 Approval 事件,区块浏览器和数据服务据此整理历史。decimalsnamesymbol 常被钱包用于展示,但显示名称和图标都不能替代合约地址验证。

例如某代币 decimals 为 6,合约内部记录的 1000000 才显示为 1 枚。小数位只是显示换算,不会提高精度之外的价值,也不意味着供应量更小。不同链上可以出现同名同符号代币,甚至任何人都能创建名为 USDT 的合约,因此识别资产时应核对网络、合约地址和官方来源。

为什么ERC-20重要?

加密市场里,很多风险隐藏在“可以操作”的界面背后。你看到的可能只是一个按钮、一个收益率、一个交易对或一个合约地址,但背后可能涉及钱包授权、合约权限、清算机制、流动性深度和代币释放。

ERC-20的重要性在于,它能帮助你判断这件事属于资产设计、交易执行、链上安全还是协议机制。层级分清楚之后,才知道下一步应该查合约、看链上数据、读文档还是控制仓位。

原理:转账、授权与合约记账

ERC-20 余额不是一堆存放在钱包里的文件,而是代币合约中的地址到账面数量映射。用户签名调用 transfer 后,交易先进入以太坊网络;执行成功时,合约减少发送方余额、增加接收方余额并产生事件。Gas 用 ETH 支付,而不是默认从代币数量中扣除。交易失败时代币状态回滚,但已经消耗的计算资源仍可能产生 Gas 成本。

授权路径多一步。用户调用 approve(spender, amount),是允许某个 spender 在额度内调用 transferFrom。去中心化交易所路由器要把用户的代币送进资金池时,通常先需要这项许可。授权的是“某代币合约、某持有人、某支出方、某额度”的组合,不是把整个钱包交给对方;然而无限额度会让恶意或被攻破的支出合约反复划走该代币,直到余额或额度耗尽。

授权交易本身通常不完成兑换。界面上第一次操作可能需要两笔交易:第一笔批准额度,第二笔执行兑换。撤销授权则把额度设为零,它不能追回已经转出的资产,也不能撤销其他链、其他代币或其他支出方的许可。部分代币实现与标准存在兼容差异,例如不返回布尔值、收取转账税、支持暂停或黑名单;协议往往使用安全封装处理返回值,但仍无法消除发行方权限和代币经济风险。

标准也不保证总量不变。合约可以拥有增发、销毁、暂停、升级或冻结能力,具体取决于代码与权限。研究者应区分“符合 ERC-20 调用方式”和“合约没有管理风险”。代理合约还可能在地址不变时升级逻辑,所以除接口外还要检查管理员、多签、时间锁及历史权限操作。

举个加密市场例子

假设你准备使用一个新协议、交易一个新代币或参与一个收益策略。表面上收益率很高、操作很简单,但你仍然要问:资产是否托管?合约能否升级?流动性是否足够?是否存在清算、脱锚、授权或跨链风险?

这时ERC-20就不是孤立词条,而是帮助你避免把“能参与”误解成“值得参与”。

具体举例:一次兑换为何要两次签名?

假设小林地址有 2,500 USDC 和 0.08 ETH,准备在某 DEX 用 1,000 USDC 换 ETH。USDC 使用 6 位小数,因此路由器实际处理的输入数量是 1000000000。若当前 allowance 为零,界面先请求给路由器授权 1,000 USDC。小林核对网络、USDC 合约、spender 地址和额度后发送批准交易,支付 0.0012 ETH Gas;批准确认后,余额仍是 2,500 USDC,因为尚未兑换。

第二笔交易调用路由器。路由器通过 transferFrom 拉取 1,000 USDC,资金池按当时价格和费率输出 ETH。假设报价为 0.40 ETH,设置 0.5% 最大滑点,最低接收量约为 0.398 ETH;若执行时输出低于最低值,整笔兑换回滚。若成交得到 0.399 ETH,小林剩余 1,500 USDC,授权额度也可能降为零。两笔交易都可在浏览器中分别看到,不能把批准成功误认为兑换成功。

若小林选择无限授权,之后再兑换通常无需重复批准,但风险窗口持续存在。三个月后路由器若被替换、升级权限失守或用户误批了仿冒 spender,剩余 USDC 可能被转走。更稳妥的操作是给接近本次用量的额度、使用可信前端核对 spender,并定期检查与撤销不再使用的授权。硬件钱包只能保护签名过程,无法阻止用户亲自签署危险授权。

另一个场景是交易所充值。平台给出以太坊 USDC 地址,用户却从另一网络发送同名资产。两边都可能显示“USDC”,但账本和合约不同,ERC-20 标准不会自动跨链。是否能找回取决于平台是否控制目标链地址并支持人工处理,不能假定同一地址格式就一定到账。

使用前检查清单

  • 我知道ERC-20主要解决什么问题吗?
  • 它最大的风险来自价格、时间、波动率、流动性还是合约机制?
  • 有没有可验证的数据或规则,而不只是社区说法?
  • 如果判断错了,我的最大损失是否可控?

加密资产波动大,链上操作不可逆,智能合约、交易所、钱包和跨链桥都有各自风险。本文仅用于投资教育和基础知识解释,不构成投资建议、投资顾问服务或任何交易推荐。

常见误区

误区 1:钱包显示名称正确就是真币

名称、符号和图标可被仿冒,可靠识别项是正确网络上的合约地址。添加自定义代币时尤其要从项目官方渠道和可信浏览器交叉核对。

误区 2:无限授权等于立即转走全部资产

授权本身通常只建立代扣权,不代表资金已转出;但它扩大了未来可被支出的上限和持续时间。风险大小还取决于 spender 代码、升级权限和用户后续余额。

误区 3:所有 ERC-20 行为都完全一致

标准是最低接口共识,实际代币可能有转账税、暂停、黑名单、重基准或增发逻辑。集成成功不等于经济行为相同,操作前应阅读合约和协议说明。

常见问题 FAQ

为什么转 ERC-20 还要持有 ETH?

以太坊验证者处理的是一笔合约调用,Gas 由网络原生资产 ETH 支付。只有代币、没有足够 ETH 的地址通常无法主动发送该代币。

approve 可以授权给普通地址吗?

技术上可以,普通地址也能成为 spender,但只有它发起符合条件的 transferFrom 才会使用额度。实际操作仍应确认对方身份和必要性。

授权撤销后历史交易会消失吗?

不会。撤销只是把当前 allowance 调低或归零,历史批准与转账永久保留在链上,已经完成的资产转移不会反向恢复。

ERC-20 代币能直接发送到其他链吗?

不能仅靠普通转账跨链。跨链通常依赖交易所充提、桥或发行方的原生跨链机制,每种方式都有独立的合约、托管和目标链风险。

一句话总结

KEY TAKEAWAY

ERC-20的核心价值,是帮助你在下单或研究前更早识别成本、风险和适用边界。真正有用的理解,不是记住名字,而是知道它会怎样改变你的决策。