文章详细解释了以太坊智能合约升级中使用的Proxy模式可能被恶意利用的漏洞,并介绍了如何通过函数选择器的冲突隐藏恶意代码,最后提出了解决方案。
智能合约一经部署后代码不可变,这是保障链上安全性的重要特性。但现实中,大多数 Web3 项目需要随着协议演进、功能扩展而持续更新。为了在不丢失状态和地址的前提下迭代逻辑,Proxy(代理)升级模式逐渐成为智能合约工程的事实标准。