原则上不可变,设计上可升级:智能合约升级性的探索性研究
软件工程
2024-07-02 v1
摘要
智能合约因其不可变性而闻名,可通过自动执行确保信任。然而,由于意外的漏洞和后部署的功能需求,智能合约已演变为需要升级性。这种不可变性与修改需求之间的矛盾导致了可升级智能合约的开发。这些合约原则上不可变,但设计上可升级,允许在不改变底层数据或状态的情况下进行更新,从而保留合约意图的同时允许改进。本研究旨在理解可升级智能合约在以太坊区块链上的应用和影响。通过引入一个目录智能合约版本及其演化轨迹的数据集,研究探讨了关键维度:升级机制的普遍性和采用模式、合约升级的可能性和发生情况、升级后修改的性质以及其对用户参与和合约活动的影响。通过经验分析,本研究识别出可升级合约并检视其升级历史,以揭示与修改相关的趋势、偏好和挑战。分析超过4400万个合约的证据显示,仅有3%具有可升级特征,其中仅0.34%发生了升级。这一发现凸显了开发人员对修改的谨慎态度,可能是由于升级过程的复杂性或维持稳定性的偏好。此外,本研究表明,升级主要旨在功能完善和漏洞缓解,尤其是在合约源代码可访问时。然而,升级与用户活动之间的关系复杂,表明智能合约使用远超其演化之外的额外因素。
引用
@article{arxiv.2407.01493,
title = {Immutable in Principle, Upgradeable by Design: Exploratory Study of Smart Contract Upgradeability},
author = {Ilham Qasse and Mohammad Hamdaqa and Björn Þór Jónsson},
journal= {arXiv preprint arXiv:2407.01493},
year = {2024}
}