
适用范围:以同质化代币合约为中心
以下讨论主要适用于以太坊ERC-20代币及采用类似访问控制机制的合约。Ethereum.org的ERC-20说明侧重统一接口,OpenZeppelin的访问控制文档侧重权限分配。两者分别回答“代币如何交互”和“哪些账户可以执行特定操作”,不能据此认定某个具体项目已具备相应保障。
误区一:符合标准就证明资产有保障
ERC-20约定余额查询、转移及授权等接口,便于应用之间对接。代币可以表达不同类型的资产或权益,但接口本身不验证这些权益是否真实存在,也不建立链外资产的兑现机制。理解项目时,需要把链上余额记录与其声称代表的资产关系分开。

误区二:同质化意味着价格固定
同质化描述的是同一种代币的单位可以互换。它不表示不同代币具有相同价值,也不意味着某种代币的外部计价固定。标准中的单位等同性,不能延伸为对资产价值稳定性的保证。

误区三:查询总量就能确认供应上限
总供应量接口反映查询时的数量。未来能否增发,需要结合合约功能及其权限判断。如果存在受角色控制的铸造入口,还要区分直接执行铸造的账户与能够授予该角色的管理员。当前数量、数量上限和增发权限是不同问题。
误区四:放弃所有权就消除了全部控制权
OpenZeppelin区分单一所有者管理与基于角色的管理。放弃所有权会使依赖该所有者权限的操作无法调用,但不能据此推断其他角色也被取消。这个判断尤其适用于同时设置多套权限的系统:角色名称不同,也不代表实际由不同账户控制。
误区五:转移成功就代表应用已接收处理
ERC-20的普通转移没有强制通知接收合约的机制。余额已记在合约地址下,不等于该应用已完成业务入账;若合约缺少相应处理或转出能力,代币可能无法取回。因此,链上转移结果与应用处理结果需要分别理解。
常见问题:授权是否等于转账
授权表示允许指定账户在额度范围内支用代币,授权本身通常不改变持有人的余额。实际转移还需要后续调用。授权流程也不能自动解决所有接收问题,其效果取决于接收应用如何实现业务逻辑。判断这类功能时,应明确授权对象、允许执行的操作以及合约能否处理相应代币。