已知限制
对 Rome Protocol 当前限制及其影响的坦诚说明。
执行限制
Modexp 预编译已禁用。 模幂运算预编译(0x05)默认禁用。依赖 RSA 验证或其他 modexp 操作的合约将失败。可通过功能开关启用。
SELFDESTRUCT 已移除。 SELFDESTRUCT 操作码不受支持,遵循 Ethereum 的 Dencun 弃用方案。使用 SELFDESTRUCT 的合约将回滚。
每个存储账户 256 个存储槽。 合约存储按每个 256 个槽位分配到 Solana 账户中。具有较大存储占用的合约将使用多个账户,这会影响 CU 成本。
CPI 深度限制为 4。 深度嵌套的 CPI 调用将失败。请将合约设计为浅层调用树。
代币限制
转账钩子仅在 transfer_checked. 普通 transfer 调用时触发钩子会完全绕过。所有 Rome 桥接操作都使用 transfer_checked,但第三方集成必须注意这一点。
铸造和销毁操作不触发钩子。 Token-2022 转账钩子在铸造/销毁时不会触发。由铸造权限控制,而非钩子。
代币包装逃逸。 用户可能将 Token-2022 代币包装为标准 SPL 代币,以绕过转账钩子。可通过包装器黑名单和 PermanentDelegate 扩展进行缓解,但无法完全消除。
预言机限制
没有历史轮次数据。 Oracle Gateway 适配器仅支持 latestRoundData()。通过 getRoundData(roundId) 的历史价格查询将回滚。
解析偏移量已通过实证验证。 Pyth 和 Switchboard 的账户数据使用硬编码字节偏移进行解析。如果 Pyth 或 Switchboard 更改其账户布局,适配器将返回错误数据,直到偏移量重新验证。
基础设施限制
单一运营者模式。 每次 Rome 部署均由单一实体(payer pool 运营者)负责运营。不存在去中心化的运营者集合。
迭代模式锁定。 在迭代执行期间,账户会被锁定 3-4 秒。这可能会导致高频使用账户上的争用。
OP-Geth 分歧风险。 Rome EVM 与 OP-Geth 之间的状态分歧仍然是一个持续的工程挑战。Footprint 验证可缓解但无法消除此风险。
下一步
负责任披露 —— 如何报告问题
最后更新于
这有帮助吗?