概述
社区可以提议将以太坊或其他由 ZetaChain 连接的 EVM 兼容链上的同质化(ERC-20)代币加入白名单。被列入白名单后,这些 ERC-20 代币可由 ZetaChain 的全链智能合约通过 ZetaChain EVM 上的 ZRC-20 合约进行管理。
注意:为保护主网测试阶段用户,协议在代币白名单方面设有严格准则,以保障兼容性、性能、经济安全与整体系统完整性。白名单流程能够防止不符合要求或恶意代币带来的潜在风险与漏洞,避免危害用户及生态。任何对本文策略或协议本身的修改都需要通过治理提出。
背景
zetacored 状态会在 foreign_coins 结构中维护连接链上已列入白名单的外部同质化资产列表,其中包括 ERC-20 代币。每个 foreign_coin 都对应 Zeta EVM 上的一个 ZRC-20 合约进行管理。
默认情况下,所有连接链上的原生 Gas 资产都会被自动列入白名单,其他同质化代币则需要经过白名单流程。
ZetaChain 之所以要求执行白名单流程,原因如下:
- 兼容性:系统设计上仅支持“常规”ERC-20 代币,无法对任意实现提供支持。
- 性能:跟踪数量无上限的代币合约会造成性能问题。
- 经济安全:僵尸代币、无限增发或经济上不可行的代币可能在 ZetaChain 上引发连锁问题。
- 安全性:非常规的 ERC-20 合约(例如包含重入、
selfdestruct等)会扩大 ZetaChain 系统的攻击面。
ERC-20 白名单准入条件
文中 “必须” 表示必要条件;“应当” 表示强烈建议。
- 必须遵循 ERC-20 标准,且为常规 ERC-20。
- 必须不具备 rebase 机制。
- 必须不收取转账手续费。
- 必须未参与任何诈骗活动。
- 必须在 Etherscan 或其他链的等效区块浏览器上完成合约验证。
- 必须拥有可用产品、实际用途及活跃的社区/用户基础。
- 必须通过审计。
- 应当具备经济价值或可行性。
- 应当不是在接收资金时可执行任意代码的 ERC-777 或类似标准。
- 应当拥有良好的历史记录,近期无安全、运营或实现层面的事故。
- 应当具备初始流动性来源。
流程
首先需要发起并通过一项非约束性治理提案,阐述该代币的详细信息、符合上述条件的理由,以及将其列入白名单的好处。
提案通过后,将根据上述要求与偏好进行审查;若决定继续推进白名单流程,协议管理员第 2 组将签署并广播 MsgWhitelistERC20 交易。随后,ZetaChain 网络会执行以下步骤:
- 在 Zeta EVM 上部署与该外部 ERC-20 映射的 ZRC-20 合约;
- 在状态变量中新增一条记录,可通过
{IP}:1317/zeta-chain/fungible/foreign_coins查看; - 在目标连接链上的
ERC20Custody合约中将该 ERC-20 合约地址加入白名单;
完成上述步骤后,ERC-20 白名单流程即告完成。为保证用户顺畅体验,应尽快为该资产注入流动性,方便用户与该代币交互。