Page 52 - 《软件学报》2026年第1期
P. 52
郭涛 等: 智能合约可升级技术综述 49
表 4 基于可升级智能合约的应用升级需求方法小结
类型 名称 发表年份 主要工作
Lopez Marin [17] 2022 分析DApp架构的可升级智能合约设计模式
Marchesi等人 [64] 2020 分析24种设计模式, 提供一套基于以太坊的Gas优化方案
合约效率
Chen等人 [65] 2020 分析10种Gas效率低下的编程模式, 并提出一种基于符号执行的方法
Hu等人 [66] 2021 分析当前最新的智能合约构建和执行方案
Kim等人 [67] 2022 允许加密资产恢复的智能合约
Dai等人 [68] 2019 讨论工业智能合约的固件升级功能如何部署在工业网络中
Dorri等人 [69] 2017 基于区块链的互联智能汽车个性化远程软件更新服务
Wang等人 [70] 2020 根据预制建筑项目供应链的加工情况进行合约功能更新
Zhang等人 [71] 2023 提出一种基于碳交易的智能合约拆分设计
Leng等人 [72] 2023 智能合约个性化需求调度更新服务
Lu等人 [73] 2021 对建筑供应链管理服务质量和信誉评价的更新
合约应用 Feng等人 [74] 2019 智能合约分解, 根据合约内容顺序或并行执行多个步骤, 防止死锁
Nelaturu等人 [75] 2022 引入图形符号 (称为部署图) 来指定合约类型之间交互推理
Sookhak等人 [76] 2021 数据拥有者的用户控制访问权限更新智能合约
Gilani等人 [77] 2022 自我主权维护与特定属性相关联的身份
Xue等人 [79] 2022 移动车联网中基于智能合约的漫游服务实现撤销验证功能
Kim等人 [80] 2023 可更新智能合约的分布式和联邦身份验证方案
Yang等人 [81] 2022 提出一种联盟区块链信息系统优化查询效率
Kumar等人 [82] 2022 基于区块链的零接触网络执行合约升级操作授予访问权限
Chen等人 [83] 2021 讨论部署后以太坊智能合约开发的维护相关问题
Samreen等人 [84] 2023 定义DApp代码维护合规系数
Rodler等人 [85] 2021 利用字节码重写器将最小侵入式补丁应用到EVM智能合约中
Zhang等人 [86] 2020 通过控制流转换和数据插入保护机制两种策略来修复合约
合约维护 [87]
Ferreira等人 2022 提出Elysium, 在字节码级别实现自动智能合约修复的可扩展方法
Qin等人 [88] 2021 提出一种可理解描述语言合约, 实现合约转换, 用于修补合谋风险
Chen等人 [89] 2024 提出一种将EVM智能合约升级到WASM的二进制翻译方案EVMBT
Chu等人 [90] 2023 总结现有的研究主要集中在合约部署前如何对检测到的漏洞进行修复
3 升级框架
2021 年, Reijers 等人 [91] 通过反思法律哲学中关于构建实证主义法律秩序的长期辩论, 探讨“链上”和“链下”治
理的问题 [18] . 对于未部署的智能合约, 需要更高效的链下修复方案来保证合约安全. 而对于已部署的合约, 则需要
进一步发展链上升级技术, 以便实时更新补丁合约确保合约安全. 为实现这一目标, 需要全面分析智能合约安全升
级框架, 从链下和链上两个维度来保护智能合约的安全.
3.1 链下升级框架
智能合约的链下升级通常指在区块链之外对合约数据或逻辑进行更新, 这种更新不会直接影响链上合约代
码. 链下升级涉及数据层和计算层的优化, 例如使用链下计算来减轻链上计算负担, 或者通过链下数据存储来提高
效率. 这种方法的优点在于能够提高交易性能和扩展性, 但同时会牺牲一定的去中心化程度, 因为链下组件可能不
如链上合约那样透明和不可篡改.
OpenZeppelin [92] 是用于在以太坊平台上构建安全、模块化和可重用智能合约的插件. 它提供一套全面的库和
工具, 利用代理允许开发人员部署合约作为用户和实现合约之间的中介, 帮助开发人员编写包括透明代理、可升
级代理或信标代理等升级模式. 主要目标是通过提供经过审计和测试的合约模板和工具, 减少智能合约开发中的

