币与代币不是一回事:原生币和合约代币的差异 图 1
币与代币不是一回事:原生币和合约代币的差异 · 图 1

钱包应用里,原生币与代币长得一模一样:同名条目、地址余额、扫码收款。界面把它们排进同一个列表,用户就默认它们是同一种东西——这正是大量困惑的源头:为什么钱包要求你先攒一点 ETH 才转得动 ERC-20?为什么充错网络时币找不回而代币换个网络就能补?为什么同样叫币,有的自带矿工费体系、有的连自己网络的账都记不起?答案都藏在一个结构差异里:一个是一条链的本位账,另一个是账本之上的一段程序状态。

记账位置:链条正文与合约附件

原生币的记账发生在协议层:比特币里它体现为交易输出集合中的一条条未花费记录,以太坊里它是世界状态里账户余额字段的一部分,由共识规则直接维护——篡改它等于篡改区块本身,会被全节点拒绝。合约代币则完全不同:ERC-20 代币的余额写在一个合约自己的存储里,转账是调用合约函数让程序改两行数字,共识网络只保证这段代码被忠实执行,不关心数字代表什么。用书本类比:原生币是正文,代币是正文里某页脚注定义的表格——表格再重要,也改变不了装订方式属于正文这一事实。

费用货币:燃料费只能烧原生币

执行任何操作都要有东西为计算付钱,而链只认自己的本位资产作为燃料:以太坊上,转一笔 ERC-20 代币要付 ETH 作为 Gas;比特币上,动一笔彩色币类资产也要花 BTC 来支付交易费。这个结构造成新手最常撞的墙——钱包里代币满仓、原生币为零,结果显示无法转账:不是网络拒收你的币,而是没人替这笔改表格的操作交手续费。反过来,代币自身很少能规定自己更稀缺:它的总量、增发与暂停权限写在合约里,改动的路径是权限与治理,不是共识投票。

地址语义与充提风险

同一串地址字符,在两种资产上的含义并不重合:给一个地址转原生币,改的是共识记录的余额;转代币,是那个地址被写进某个合约的账页。合约地址同样能收币、收币,说明地址只是坐标系上的一个点,能装什么由那层账本决定。交易所充提因此有了一套必查清单:币种是某链代币时,必须选对发行它的网络,错链意味着你的币被记在另一张合约账页上,找回要靠对方是否在那条链持有你的记录;原生币充错网络则常常连对方的钱包软件都装不下。同名同符号的代币在不同链上互不相干,符号只是标签不是身份。

风险边界:各自会坏在哪

原生币的风险在协议:共识缺陷、货币规则争议、升级分裂,坏起来牵动整条链。代币的风险在合约:铸造权限、可升级代理、隐藏的暂停与黑名单函数,坏起来可以只坏这一份币。审查一个资产的哪一面,取决于你持有的是正文还是脚注:前者看链的治理与去中心化程度,后者逐行看合约权限与已验证源码。把两本风险册混着翻,就会得出公链很稳所以代币也稳的错觉。

快速问答

问:那包装类资产算什么? 答:它是用合约机制把 A 链原生资产映射成 B 链代币形态的脚注资产,风险叠加托管与合约两层,另当别论。

问:一条链必须有自己的币吗? 答:凡按燃料计价收费的链都有本位资产;不发币的许可链网络可以靠治理与法币预算维持节点,两种模型都成立。

问:钱包删除代币条目算卖掉吗? 答:只是隐藏显示,链上记录分毫未动,重新添加合约地址即可恢复可见。

常见误区

把代币当链、把链当代币是最深的一个:持有某代币不等于拥有那条链的使用权或治理权,除非合约明确赋予。另一个是把符号当身份:同名代币满地都是,唯一的身份是合约地址加所在链这一对坐标。

风险提示:本文为概念辨析,不构成对任何资产的持有建议;合约特性以已验证源码为准。