课程学习基础知识Root: 弄清你买的是什么Crypto from first principles, 第 4/8 课

为什么会有这么多代币?

了解ERC-20如何让代币可以在以太坊各类应用之间通用,以及即便有了统一标准,为什么依然存在重要的风险。

CoinBeaver Team发布于 2026年7月14日更新于 2026年7月29日
Standardized tiles pass a shared gate while CoinBeaver checks an imitation beside a separate native asset
本页内容

速读

以太坊让程序可以被公开共享,而ERC-20则为许多这类程序提供了一种通用的方式,来表示彼此可以互换的单位。这节课会讲清楚:为什么有了标准,钱包和应用就能处理不同的代币;为什么代币和ETH、和网络本身不是一回事;以及哪些合约风险和授权风险仍然存在。

需要记住的要点

  • 代币是智能合约在某条它并不拥有的网络上保存的记录,这也是为什么代币不会仅仅因为有了名字和符号,就自动拥有自己的区块链。
  • ERC-20是一种兼容性接口,它能告诉你的只是钱包可以处理这个代币,并不能说明这个代币或其发行方是否可靠。
  • 真正能识别一个代币的是合约地址和所在网络;名字、符号和图标都只是展示信息,任何人都可以照搬复制。
  • 一次授权给出的是可以反复使用的支出权限,而不只是批准一笔转账,因此确认前务必先看清楚被授权的地址和额度。

可编程合约出现后,为什么代币会大量涌现?

以太坊让智能合约可以自己保存一份记录,记下有多少单位、又分别由哪些账户掌控。这些单位通常被称为代币(token)。代币可以代表许多不同的东西,但它并不会仅仅因为有了名字或符号,就拥有属于自己的区块链。

ETH则不同:它是以太坊的原生资产,用来支付Gas费。而ERC-20代币是以太坊上一份智能合约记录。在以太坊上转移这类代币,仍然需要用ETH支付网络手续费。

ERC-20统一了什么?

ERC-20是同质化代币的通用接口。有了它,不需要每个项目各自发明一套查询余额或发送代币的方法——只要合约兼容ERC-20,就会公开一组大家都熟悉的函数,例如balanceOftransferapproveallowance

这种统一的接口形态,让一个钱包或应用可以同时对接许多不同的代币合约,而不必为每一个都单独开发一套集成。这只是一条兼容性规则,并不代表每个代币都有相同的用途、发行方或风险水平。

原生资产与ERC-20代币,是同一种体验下的不同层级
问题ETHERC-20代币
规则来自哪里?以太坊的协议规则。智能合约的代码,通常遵循ERC-20接口。
谁来支付以太坊的Gas费?ETH。转账仍然需要用ETH支付Gas费。
熟悉的名字或符号能证明什么?在这个语境下,它标识的就是原生资产本身。本身几乎说明不了什么;名字和符号只是展示信息,不是安全检查。

为什么通用接口对应用来说很重要?

以太坊上的智能合约是公开的程序,其他应用都可以调用它们。当代币合约公开了一套大家熟悉的接口时,新应用就可以把现成的部件组合起来使用,而不用从零开始搭建。这被称为可组合性(composability):各个独立的组件可以协同工作,组合出一项新的服务。

可组合性可以解释,为什么同一个代币会出现在好几个不同的钱包、应用和交易场所里。但这并不意味着这些产品出自同一家公司,也不意味着每一次集成都经过了安全审查。

这项标准没有承诺什么?

ERC-20描述的只是一套接口,它并不说明一个项目是否值得信任、一个代币是否有价值、是否有资产或储备做支撑,也不说明合约的设计是否安全。就连标准里的namesymboldecimals这几个方法,都只是为了方便使用而设的可选功能,所以一个看起来熟悉的名称,并不能证明身份或价值支撑。

真正决定使用的是哪个程序的,是合约地址以及它所运行的网络。一个在界面里看起来眼熟的代币,实际上仍然可能是一个毫不相关、规则完全不同的合约。把代币部署在以太坊上,并不代表以太坊对它做过任何审批或背书。

为什么授权是另一种风险?

ERC-20的转账(transfer)会直接移动代币。**授权(approval)**则不同:它设定一个授权额度(allowance),允许另一个地址——往往是一个智能合约——之后通过transferFrom来动用最多这个额度的代币。这项许可可以被反复使用,直到授权额度被用完或被替换为止。

这种灵活性有助于不同应用协同工作,但也意味着一次授权并不只是对某一笔转账的预览,而是依据代币合约的规则,授予某个特定被授权地址的一项许可。

结论

代币之所以大量涌现,是因为以太坊让智能合约可以自己保存一份记录,记下有多少单位、又分别由哪些账户掌控,而ERC-20则为这些合约提供了一种统一的方式,来响应余额查询或转账指令。正是这套共用的接口,让一个钱包可以同时处理成千上万种不同的代币,而不必为每一种都单独开发集成;也正是它,让新应用可以把现成的部件组合起来使用,而不用从零开始。

这项标准最关键的一点,就是它不会为任何事情做担保。ERC-20描述的只是一套接口,并不说明一个项目是否值得信任、一个代币是否有任何东西做支撑,也不说明它的合约是否被安全地编写。就连namesymboldecimals,都只是为了方便展示而设的可选项,所以一个看起来熟悉的标签,并不能证明身份。真正能识别一个代币的,是它的合约地址和所运行的网络——界面里显示的任何内容,都不能替代对这两者的核实。

授权之所以值得单独关注,是因为它的行为方式和转账不一样。一笔转账只移动一次代币;而一次授权,则是给某个被授权地址一份授权额度,对方可以通过transferFrom反复支取,直到这个额度被用完或被替换。如果把授权提示只当作某一笔交易的预览,就低估了自己实际授予的权限。在确认授权之前,务必先确认被授权的是哪个地址,以及授权了多少额度。

标准帮助许多应用和资产共享了以太坊这个可编程环境。但这种实用性也意味着,会有更多活动来争夺同一个Layer 1网络的执行资源和区块空间。下一课将探讨,随着需求增长,一个共用的基础层为什么会变得昂贵或拥堵。


常见问题

相关币种

继续学习

根据本课推荐的后续阅读。