
适用范围:合约层面的停止新增发行
这里讨论停止通过智能合约新增代币的技术条件,不涉及特定地区的法律停发要求。以太坊代币标准说明主要介绍代币接口及其兼容性;ERC-20、ERC-721等标准本身不能作为某个项目必须停发或已经停发的证明。判断停发是否生效,需要进一步检查具体合约。
条件一:明确新增代币受哪些入口控制
首先要确认哪些功能能够新增代币,以及这些功能受到什么限制。OpenZeppelin访问控制文档说明,合约可以通过所有者权限或角色权限限制铸造操作,角色管理员则可以管理相关角色。
据此,停止新增发行的关键是让所有相关发行入口均无法继续执行。若只限制其中一个入口,却仍有其他可用入口,便不足以认定整个合约停止发行。停止发行的声明也需要明确覆盖哪个合约、哪类代币。
条件二:撤销权限需要覆盖全部相关账户
如果铸造功能仅允许特定角色调用,那么该角色不再有任何持有者时,依赖这一角色的铸造入口就无法通过权限检查。只撤销某一个账户的资格,不能排除其他账户仍然拥有发行能力。
核验时应结合角色授予、撤销记录与当前权限状态。单次撤权记录只能证明发生了一次权限变化,不能独立证明所有发行权限都已消失。
条件三:区分当前停发与永久停发
即使所有铸造角色都已撤销,只要管理员仍能重新授予角色,发行能力就可能恢复。因此,当前无人有权铸造,与永久无法再次铸造,是两个不同结论。
放弃所有权也有适用前提:只有发行入口确实依赖该所有者权限,且不存在其他可用授权路径时,才可能据此判断相关发行功能失效。不能把所有者退出管理直接等同于整个代币永久停发。
常见问题:停发会影响已有代币吗
停止新增发行不会仅凭这一动作自动销毁已有代币。铸造、销毁和转账属于不同操作,具体是否联动取决于合约实现;停止铸造也不能直接证明转账被冻结。
采用某种代币标准能否证明可以停发?不能。标准名称无法替代权限检查。对停发状态的准确描述,应交代受限的发行入口、当前权限持有情况,以及是否存在恢复授权的能力。