CIP编号:131
标题:在合约删除时保留白名单
作者:Chenxing Li(@ChenxingLi)
状态:最终版
类型:规范改变
创建日期:2024-01-11
本文是整理好的CIP-131中文介绍,供大家交流讨论。
CIP-131详情链接:https://github.com/Conflux-Chain/CIPs/blob/master/CIPs/cip-131.md
内容
此 CIP 旨在解决 Conflux 区块链中发现的有关合约删除时清除合约白名单功能的漏洞。目前,当一个合约被删除并由新合约在同一地址替换时,新合约不需要继承前一个合约的白名单。然而,由于解决现有漏洞面临技术挑战且此功能的使用有限,该提案建议删除此功能。
摘要
在最近对 Conflux 执行层重构的过程中,发现了两个与“在删除合约时清除合约白名单”功能有关的漏洞。在现有的Conflux MPT(Merkle Patricia Tree)版本中修复这些漏洞具有挑战性。
该功能最初引入时存在争议,旨在改善用户在极端情况下的体验,特别是当一个合约被终止并在同一地址部署另一个合约时,新的部署者可以避免继承旧合约的白名单。
此 CIP 建议删除此功能。当一个合约被删除时,它的白名单将被保留。
动机
鉴于解决此功能带来的错误行为的难度较大,我们建议将其移除,主要有以下 3 个原因。
首先,目前没有生态项目依赖于该功能,这表明它的移除不会对当前的运营产生不利影响。
其次,以太坊社区对消除类似的“终止合约”操作码的考虑,表明此类功能可能会过时。
第三,即使没有此功能,在同一地址的合约重新部署时“继承义务(如白名单)”仍然是合理的。
规格说明
在给定的区块编号之后,合约删除时不会移除白名单。
后向兼容性
此改动将改变原有系统规范。
版权
此提案遵守CC0 协议,所有版权及相关权利不设限。