🐟 链上拆解 01|为什么合约已经丢权限了,项目方还能动?
很多人看一个新币,第一件事就是:
“Owner 是 0x000...,已经丢权限了,安全。”
其实这是链上最常见的误区之一。
丢 Owner ≠ 丢掉所有权限。
renounceOwnership() 通常只是把 Owner 这个角色放弃了。
但一个合约里,还可能存在:
🔹 MINTER_ROLE —— 仍然可以增发
🔹 ADMIN_ROLE —— 仍然可以管理部分参数
🔹 operator / manager —— 独立操作权限
🔹 ProxyAdmin —— 代理合约仍然可以升级
🔹 白名单 / 黑名单控制地址
🔹 手续费、交易开关等独立控制地址
🔹 外部合约拥有实际控制逻辑
甚至有些合约的关键函数,压根就没有 onlyOwner 限制。
所以看到:
✅ Ownership Renounced
不能直接得出:
❌ 合约已经彻底无法修改
❌ 无法增发
❌ 无法限制交易
❌ 项目方彻底失去控制
真正应该问的是:
“这个合约还有谁拥有权限?”
而不是:
“Owner 还在不在?”
链上没有一句“已丢权限”就能证明安全。
代码不会骗人,但你得知道该看哪里。
🐟 下一期:
一个新币,怎么用 5 分钟把隐藏权限扒出来?
$币安人生 #合约安全