长话短说:坎昆升级临近,本次升级主要包含六个EIP提出的执行层变更,EIP-1153、EIP-4788、EIP-4844、EIP-5656、EIP-6780和EIP-7516。EIP-4844是本次升级的主角,旨在提升以太坊的可扩展性,为L2降低交易成本、提升交易速度。坎昆升级已分别于1月17日、1月30日、2月7日在以太坊Goerli、Sepolia和Holesky测试网完成升级,并计划在3月13日在以太坊主网上激活。在升级前,Salus整理了此次升级的重要安全注意事项,供开发者自行检查。
EIP提案回顾
官方披露的安全考量
智能合约相关风险
扩展阅读
EIP提案回顾
EIP-1153
EIP-1153引入了临时存储操作码,这些操作码用于操作状态,其行为与存储几乎相同,但每笔交易结束后临时存储将被丢弃。这意味着,临时存储不会从存储中反序列化值,也不会序列化值到存储,因此,由于不需要磁盘访问,临时存储成本更低。通过两个新的操作码TLOAD和TSTORE(其中“T”代表“临时”),智能合约可以访问临时存储。这项提议旨在为Ethereum的交易执行中的多个嵌套执行框架之间的通信提供一个专用且高效的解决方案。
EIP-4788
EIP-4788旨在将信标链区块的哈希树根暴露于EVM中,以允许在智能合约内部访问这些根。这样做可以无需信任地访问共识层状态,支持staking pools、restaking结构、智能合约桥、MEV缓解等多种用例。该提案通过一个智能合约存储这些根,并使用环形缓冲区来限制存储消耗,确保每个执行区块只需常量空间即可表示这些信息。
EIP-4844
EIP-4844介绍了一种新的事务格式,称为"分片Blob事务",旨在以简单、向前兼容的方式扩展以太坊的数据可用性。这项提案通过引入包含大量数据的"blob-carrying transactions",这些数据不能被EVM执行访问,但可以访问其承诺。这种格式与将来全分片使用的格式完全兼容,为滚动式扩容提供了临时但显著的缓解。
EIP-5656
EIP-5656引入了一种新的EVM指令MCOPY,用于高效复制内存区域。这项提案旨在降低在EVM上执行内存复制操作的开销,通过MCOPY指令直接实现内存之间的数据复制。MCOPY允许源地址和目标地址重叠,其设计考虑到了向后兼容性,并旨在提升包括数据结构构建、内存对象的高效访问和复制在内的多种场景的执行效率。
EIP-6780
EIP-6780修改了SELFDESTRUCT操作码的功能。在这个提案中,SELFDESTRUCT只会在与合约创建相同的交易中删除账户和传输所有以太币,除此之外,执行SELFDESTRUCT时,合约将不会被删除,只是将所有以太币转移到指定目标。这一改变是为了适应未来Verkle树的使用,旨在简化EVM实现,减少状态变化的复杂性,同时保留SELFDESTRUCT的部分常用场景。
EIP-7516
EIP-7516引入了一个新的EVM指令BLOBBASEFEE,用于返回当前区块执行中的blob基础费用值。这个指令与EIP-3198中的BASEFEE操作码相似,不同之处在于它返回的是根据EIP-4844定义的blob基础费用。这个功能使得合约可以编程地考虑blob数据的气体价格,例如,允许rollup合约无需信任地计算blob数据使用成本,或者基于此实现blob气体期货,以平滑blob数据成本。
官方披露的安全考量
EIP-1153
智能合约开发人员应在使用前了解瞬态存储变量的生命周期。由于临时存储会在交易结束时自动清除,因此智能合约开发人员可能会试图避免在调用过程中清除插槽以节省 Gas。然而,这可能会阻止在同一事务中与合约进行进一步的交互(例如,在重入锁的情况下)或导致其他错误,因此智能合约开发人员应小心,仅在临时存储槽被保留时保留非零值。旨在供同一事务中的未来调用使用。SSTORE否则,这些操作码的行为与和完全相同SLOAD,因此所有常见的安全注意事项都适用,特别是在重入风险方面。
智能合约开发人员也可能会尝试使用瞬态存储作为内存映射的替代方案。他们应该意识到,当调用返回或恢复时,临时存储不会像内存一样被丢弃,并且应该在这些用例中优先选择内存,以免在同一事务中的重入时产生意外的行为。内存上的瞬态存储成本必然很高,这应该已经阻止了这种使用模式。内存中映射的大多数用法可以通过按键排序的条目列表来更好地实现,并且智能合约中很少需要内存中映射(即作者知道生产中没有已知的用例)。
EIP-4844
此 EIP 使每个信标块的带宽要求最多增加约 0.75 MB。这比当今区块的理论最大大小(30M Gas / 每个 calldata 字节 16 Gas = 1.875M 字节)大 40%,因此它不会大幅增加最坏情况下的带宽。合并后,区块时间是静态的,而不是不可预测的泊松分布,为大区块的传播提供了保证的时间段。
即使调用数据有限,此 EIP 的持续负载也比可降低调用数据成本的替代方案低得多,因为不需要将 Blob 存储与执行负载一样长的时间。这使得实现这些 blob 必须保留至少一段时间的策略成为可能。选择的具体值是MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS纪元,约为 18 天,与建议的(但尚未实施)执行有效负载历史的一年轮换时间相比,延迟要短得多。
EIP-5656
客户端应注意其实现不使用中间缓冲区(例如 C stdlibmemmove函数不使用中间缓冲区),因为这是潜在的拒绝服务 (DoS) 向量。大多数用于移动字节的语言内置函数/标准库函数在这里都具有正确的性能特征。
除此之外,对拒绝服务 (DoS) 和内存耗尽攻击的分析与其他接触内存的操作码相同,因为内存扩展遵循相同的定价规则。
EIP-6780
以下应用程序SELFDESTRUCT将被破坏,并且以这种方式使用它的应用程序不再安全:
WhereCREATE2用于在同一位置重新部署合约,以使合约可升级。不再支持此功能,应改用ERC-2535或其他类型的代理合约。
如果合约依赖于通过以SELFDESTRUCT合约作为受益人燃烧以太币,则合约不是在同一交易中创建的。
智能合约相关风险
EIP1153
设想使用操作码TLOAD和TSTORE的两种场景:
- 被调用合约使用该操作码
- 发起调用合约使用该操作码
风险1:
相比于传统的 SSTORE 和 SLOAD ,新增的瞬态存储主要改变了数据的存储期限,tstore存储的数据通过tload进行读取,在一笔交易执行结束后该数据将会被释放,而不是同sstore一样写入合约被永久性的记录。开发者在使用该操作码时应该认清该操作码的特性,以免错误的使用导致数据不能正确的写入到合约中而造成损失。另外,tstore的数据属于私有变量,仅合约本身可以访问。如果想要外部使用该数据只能通过参数的形式进行传递或暂存到一个public stroage变量中。
风险2:
另一个潜在风险是,如果智能合约开发人员不正确管理瞬态存储变量的生命周期,可能导致数据在不应该的时间被清除或错误地保留。如果合约期望在事务的后续调用中使用存储在瞬态存储中的数据,但未能适当地管理这些数据的生命周期,可能会在不同调用之间错误地共享或丢失数据,从而导致逻辑错误或安全漏洞。考虑到类似于Token项目的balance或者allowance数据未能正确的存储将会导致合约逻辑的错误,造成损失。或在对owner地址进行设置时使用了该操作码将会导致特权地址不能正确的被记录从而丢失对合约重要参数的修改。
考虑一个智能合约,该合约使用瞬态存储来临时记录一个加密货币交易平台上的交易价格。该合约在每笔交易完成时更新价格,并允许用户在短时间内查询最新价格。然而,如果合约设计没有考虑到瞬态存储在交易结束时被自动清除的特性,那么在一笔交易结束后到下一笔交易开始之前的这段时间内,用户可能会得到一个错误或过时的价格。这不仅可能导致用户做出基于错误信息的决策,还可能被恶意利用,影响平台的信誉和用户的资产安全。
EIP-6780
该提案改变了之前selfdestruct操作码的行为,不销毁合约,仅转移token,仅与自毁同一交易中创建的合约才会被销毁。这个EIP的影响相对较大。
用create2在同一地址重新部署合约,以使合合约升级。不再支持此功能,应改用 ERC-2535 或其他类型的代理合约。(这可能会影响到使用create2实现可升级合约的链上合约的安全性)
智能合约中的SELFDESTRUCT操作允许合约销毁,并将合约余额发送给指定的目标地址。在这种情况下,合约使用SELFDESTRUCT销毁以太币,并将销毁的以太币发送给了合约。但是该合约仅能是在同一笔交易中创建的合约(同一笔交易中由本合约或其他合约创建的合约)。否则将仅转账以太而不销毁合约(例如自毁且受益者为自毁合约,这将会不产生任何改变)。这将会影响一切依赖于selfdestruct进行提款或其他操作的合约。
一种类似于 1inch CHI Token的Gas Token的工作原理:保持一个偏移量,始终在此偏移量处执行 CREATE2 或 SELFDESTRUCT。在此更新之后,如果当前偏移量的合约尚未正确自毁,则之后的CREATE2 将不能成功的部署合约。
该提案实施并不能导致直接对合约进行攻击,但会损害原有已部署的依赖selfdestruct操作的合约的正常逻辑(仅依赖自毁进行资金转移的合约不受到影响,如果后续操作必须要求自毁的合约被删除,则受到影响),导致合约非预期工作,仅对合约以及用户而言,可能导致合约的罢工,损失资金等危害(例如原本利用create2在原地址部署新合约,自毁原合约进行升级的合约,不再能够成功部署)。长远来看,修改某项操作码的功能可能会带来中心化的问题。
例如现有一个金库合约vault进行更新:
create2临时存储合约用来临时储备vault的资金
自毁vault合约,资金转账到临时合约(仅转移了资金而没有销毁合约)
在原地址create2新的vault合约(失败,因为原有vault合约没有被销毁)
自毁临时合约将资金还给vault(资金损失,vault合约没有被创建)
扩展阅读
坎昆升级将进一步增强以太坊的竞争优势。但此次升级对核心智能合约层的改动带来了风险,这会影响现有的DApps的安全运行。在进行智能合约开发的过程中,这些改变以及可能引发的风险同样需要被高度关注。您可以与Salus联系获得风险检查或审计支持,也可以通过进一步阅读相关内容以了解变化。
以上是坎昆升级前的重要安全检查的详细内容。更多信息请关注PHP中文网其他相关文章!

TrendResearch自2025年4月24日研报全网发出至今,ETH自1800美元涨至2400美元附近,一个月内涨幅约30%,研报撰写前的预判更是在1450美金开始,作为千亿规模的资产标的,是大资金短期实现高回报的难得机会。彼时坚定看多的主要原因包括:ETH依然拥有稳健的金融数据,是加密重要基础设施的地位没有改变;短期高点巨大的调整幅度(4个月跌幅超60%);衍生品市场空头规模庞大,底部现货放量后攀升至重要支阻互换区域,传统金融的

区块链技术持续改变着人们在线上交换价值、验证信息和建立信任的方式。随着去中心化应用在各行各业的蓬勃发展,跨多个区块链确认声明和身份的能力变得越来越重要,也越来越复杂。传统的、依赖于中心化权威的信任模型往往不足以支撑去中心化的生态系统,因此对区块链原生验证解决方案的需求也日益增长。SignProtocol(SIGN)通过提供一个用于跨多个区块链网络创建、验证和管理证明的框架来应对这一挑战。SignProtocol旨在打造一个全链

加密货币交易所Bitget近日因VOXEL合约市场的异常交易波动,宣布将回滚该时段内的交易,并提出赔偿方案。然而,官方公告中使用「用户操纵市场」的说法,引发外界对其公关处理不当的质疑,担心这将导致危机进一步扩大。BitgetVOXEL代币现异常交易,引发内部做市担忧北京时间昨日上午8:00至8:30,Bitget交易所爆发了VOXEL代币的异常交易事件,该时段的交易量甚至一度超过了比特币,引发市场对其内部操作透明度的高度质疑。事件源于VOXEL代币价格出现剧烈波动后,社群开始质疑Bitget可能

目录KuCoin交易所是什么?KuCoin交易所背景KuCoin交易所品牌故事KuCoin交易所安全吗?KuCoin开户注册教学第一步:注册KuCoin账户第二步:完成身份验证第三步:开启两步骤验证同场加映:KuCoin特有的GemSPACE总结KuCoin是全球前15大加密货币交易所,以全民的交易平台为理念,提供安全、便利的交易体验。这篇文章将带你深入了解KuCoin的背景、安全性、开户流程,以及如何利用KuCoin独有的Ge

目录ALPACA币最新新闻和价格动态AlpacaFinance(ALPACA)是什么?AlpacaFinance是如何运作的?ALPACA币是什么?ALPACA代币经济学ALPACA价格走势分析2025年ALPACA价格预测AlpacaFinance(ALPACA)未来展望ALPACA币怎么买?总结AlpacaFinance(ALPACA)是币安智能链上的借贷协议,具有杠杆收益农业的特征。自币安宣布将于5月2日下架AL

我们所熟悉的BitMex创始人ArthurHayes再次发表了看盘言论!这次他在X平台上表示:「说真的,亲人们,现在可能是你在比特币10万元以下最后的购买机会。」在过去30小时的比特币上涨行情中,ArthurHayes发文称:「就像复活节兔子,$BTC的价格将要连续跳跃五次!」Hayes还透露,他将在本周发布一篇新文章,主题是「BBCBazooka」与国债回购。ArthurHayes在比特币价格回落到9万元内后,一直在预测价格下跌,现在却转为看涨。回顾他过去几个月对比特币的预测,尽管具体数字可能

Cardano(ADA)2025–2028年10倍潜力解析:智能合约平台的价值重估之路当前ADA价格约为$0.778,若实现10倍增长,未来潜在价位将达到$7.78,市值约2,700亿美元。这一预测并非空想,而是基于Cardano在技术创新、生态拓展及市场需求等多重因素驱动下的强劲潜力。一、技术进步:智能合约与零知识证明的结合自Vasil升级以来,Cardano的智能合约平台Plutu

加密货币市场项目随着区块链发展而不断涌现,目的就是改变传统金融实践,SwissCheese就是其中一个项目。据了解,SwissCheese是一个让用户能够交易通证化股票的去中心化平台,旨在增强市场的可及性并降低交易成本,为更具包容性的金融环境铺平道路。平台的原生代币为SWCH,主要作用就是交易、治理等。该项目上线后立即引起了投资者的关注,但仅仅了解SWCH是什么币种?还不能分析出SWCH值得投资吗?结合当前数据来看,SWCH具有一定的

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3汉化版
中文版,非常好用

Dreamweaver CS6
视觉化网页开发工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)