Solidity 0.8.0 之前,整数运算默认不检查溢出,uint256 加法回绕可导致代币余额凭空增加。0.8+ 默认内置溢出检查,但开发者使用 unchecked 块优化 Gas 时若逻辑不当,会重新引入溢出风险;此外乘除顺序不当会造成精度损失。 一、unchecked 块的安全边界与精度修复
分类:区块链安全
共 2 篇文章区块链安全相关技术文章
专注于分布式系统、Linux内核、数据库存储与后端工程实践
区块链安全相关技术文章
Solidity 0.8.0 之前,整数运算默认不检查溢出,uint256 加法回绕可导致代币余额凭空增加。0.8+ 默认内置溢出检查,但开发者使用 unchecked 块优化 Gas 时若逻辑不当,会重新引入溢出风险;此外乘除顺序不当会造成精度损失。 一、unchecked 块的安全边界与精度修复
在智能合约中,若在修改内部状态变量(如扣减余额)之前直接向外部合约转账,攻击者可利用合约的 fallback() 函数递归重新调用提现函数,导致合约金库被抽空(如著名的 The DAO 事件)。 一、遵循 ChecksEffectsInteractions 模式修复漏洞