值得信赖的区块链资讯!
必备九条措施 保障智能合约安全性
以太坊开发者需要知道的四项安全性原则,以及一些基本权衡。

尽管区块链行业的发展日趋成熟,但是智能合约的开发仍是一个相对较新的领域。因此,为了应对新的漏洞和安全危机,以及满足开发新的最佳实践的需要,我们应该不断完善安全性方面的问题。学习最佳实践只是智能合约开发者在安全性方面踏出的第一步。
智能合约编程需要一种不同于传统的工程思维。智能合约失败的代价很高,更新迭代需要较大工程量,这使得它在某些方面更类似于硬件编程或金融服务编程,而不是web或者移动端开发。因此,仅仅防御已知的风险是远远不够的,还需要掌握新的开发理念。
准备应急措施
任何重要的合约都会出现故障。因此,开发者必须做好充足的准备,以便及时应对漏洞。
-
出现故障时暂停合约 (“断路器”)。
-
管理风险资金的数量 (限制流量,最大化利用率)。
-
准备有效的升级路径以修复和改进bug。
防患未然
最好是在完整的产品发布之前发现bug。
-
全面测试合约,并在发现新的攻击向量时添加相应测试。
-
alpha测试网版本发布之后,提供bug赏金。
-
分阶段推出,每个阶段更新功能并添加新测试。
保持智能合约的简洁性
复杂性会提高出现故障的概率。
-
确保合约逻辑简单。
-
模块化代码以使合约和函数保持较小。
-
请尽可能使用既有工具或代码 (例如不要使用自己的随机数生成器)。
-
在保证清晰度的前提下再考虑性能。
-
只在系统中需要去中心化的部分使用区块链技术。
保持更新
跟进新的安全性措施。
-
检查智能合约,以最快的速度定位新漏洞。
-
尽快升级到任何工具或库的最新版本。
-
采用可能有效的保障安全性的新技术。
了解EVM的特性
-
尽管开发者对以太坊编程较熟悉,但仍需要注意一些陷阱。
-
要特别小心外部合约调用,该过程可能会执行恶意代码并改变控制流 (control flow)。
-
要明白,开发者的公共函数是公开的,可能会被恶意调用,调用顺序也可能是任意的。任何人都可以查看智能合同中的隐私数据。
-
注意gas成本和区块gas限制。
-
注意,区块链上的时间戳是不精确的:矿工可以在几秒内影响交易执行的时间。
-
随机性是区块链上一个重要的特性,大多数产生随机数的方法在区块链上是具有博弈性的。
基本权衡因素
在评估智能合约系统的结构和安全性时,需要考虑多种基本的权衡。对于所有智能合约系统的普遍建议是,在这些权衡之间找到平衡点。
从软件工程的角度来看,理想的智能合约系统是模块化的,即重用代码而不是复制代码,以及支持可升级的组件。而从安全架构的角度来看,理想的智能合约系统可能同样会使用这种模式,尤其是面对更为复杂的智能合约系统。
然而,当安全性和软件工程最佳实践出现不一致时,也会有一些例外情况发生。而在每种情况下,可通过选择合约系统上的最佳性能组合来达到平衡,例如:
-
固定版本vs.可升级
-
整块化vs.模块化
-
复制vs.重用
固定版本vs.可升级
当多个资源 (包括此资源) 强调自身的延伸性时 (比如可中断的、可升级的或可修改的模式),那么就需要在延伸性和安全性之间找到一个平衡点。
延伸性增加了复杂性和潜在的受攻击性。如果智能合约系统在预先规定的有限时间内能够完成的功能非常有限,那么这时简洁性比复杂性要有效得多,例如,无治理的限时代币发售合约系统。
整块化vs.模块化
独立的整块化合约允许信息在本地识别和读取。虽然整块化合约一般不被重视,但对于数据和流的极端本地化存在争议,例如代码审计的效率优化。
与本文考虑的其他因素一样,在简单的短期合约中,安全性最佳实践趋向于与软件工程最佳实践相悖;而在更复杂的永久合约系统中,两者趋于相一致。
复制vs.重用
从软件工程的角度来看,智能合约系统希望能够在需要时最大化重用功能。在Solidity语言中,有许多重用合约代码的方法。实现代码重用的最安全的方式通常是:使用自己之前经过验证和部署的合约。
如果之前部署的合约无法使用,开发者通常就需要依靠复制功能了。OpenZeppelin的Solidity库尝试提供一些模式,使得安全代码可以在无需复制的情况下被重用。任何合约安全分析都必须将目标智能合约系统中还没有与风险资金建立相当信任级别的重用代码包含在内。
现如今,在以太坊上创建应用软件无疑是最令软件工程师激动的前沿领域,但这需要持续不断的威胁建模 (threat modeling)、安全审计,还需要做好周全计划以应对故障发生。
原文链接:https://media.consensys.net/the-smart-contract-security-mindset-a09f5f8f5f4f
来源:ETH中文网
比推快讯
更多 >>- Eric Trump:如果你无法承受波动,就远离加密货币
- 数据:某巨鲸波段交易 ETH 获利近 300 万美元后,又重新购入近 2 万枚 ETH
- ZEC 逆市上涨触及 645 美元,24 小时涨幅 23.82%
- Tether:迄今已投放 15 亿美元拓展大宗商品贸易融资,探索稳定币+实物资产新模式
- 美国司法部追捕朝鲜不法分子进行虚假 IT 工作和加密货币窃取,扣押 1500 万美元 USDT
- Yala 稳定币 YU 出现类似 USDX 的可疑情况,相关地址以极高利率成本借出 USDC 但始终未还款
- 数据:ETH 长期持有者日抛 4.5 万枚 ETH,以太坊正逼近 3000 美元关键支撑
- 数据:ETH 当前全网 8 小时平均资金费率为 0.0037%
- Cardone Capital 推出房地产+比特币混合基金,租金收益将持续增持 BTC
- 数据:ETH 全网合约持仓量 24h 减少 7.08%
- Multicoin Capital Liquid Fund 投资 Ethena Protocol 的原生代币 ENA
- 数据:6160.07 枚 ETH 从 Wrapped Ether (WETH) 转出,经中转后转至另一匿名地址
- 金融时报: Tether考虑领投德国科技初创企业Neura Robotics约11.6亿美元的融资
- 瑞穗证券维持对 Circle 股票“弱于大盘”评级,将目标股价下调至 70 美元
- 美劳工统计局:2025年9月就业情况将于11月20日发布,10月各州就业与失业情况于11月21日公布
- 数据:过去 24 小时全网爆仓 10.29 亿美元,多单爆仓 8.43 亿美元,空单爆仓 1.85 亿美元
- 洛根:劳动力市场逐步降温,符合降低通胀预期
- 美联储理事米兰:数据支持降息,美联储应更加偏鸽
- 美联储洛根:核心服务业通胀未见向 2% 靠拢迹象
- 美联储洛根:很难支持在12月会议上再次降息
- 米兰:数据支持美联储降息,倾向鸽派政策
- 数据:Coinbase Prime 流入 192.7 万枚 ENA,价值约 551 万美元
- 白俄罗斯总统卢卡申科支持加密货币挖矿,称其可替代美元
- 以太坊金库公司 BitMine 任命新CEO,并扩大董事会规模
- Michael Saylor否认Strategy出售47,000枚比特币的传闻,表示“我们正在买入”
- 巴克莱预测美联储明年 2 月将开始购买国库券
- 投资者对美元态度首次转为中性,结束八个月看空趋势
- 数据:过去 1 小时 Binance 净流出 7,653.58 万 USDT
- 一软件公司前 CFO 挪用 3500 万美元投入 DeFi 全亏后被判欺诈罪
- 数据:今日加密货币市值前 100 代币涨跌
- 过去 24 小时 Circle 增发 10 亿枚 USDC
- BlackRock BUIDL 基金正式登陆 BNB Chain
- 美股科技股抛售加剧,降息预期引发市场恐慌
- 施密德:进一步降息可能对通胀产生持久影响
- 施密德,美联储将密切关注劳动力市场恶化迹象
- 施密德:美联储可通过降低准备金利率缓解流动性压力
- 数据:300 万 XUSD 转入 StraitsX (Xfers),价值约 300 万美元
- 数据:比特币 ETF 今日净流出 4,828 枚 BTC,以太坊 ETF 净流出 70,248 枚 ETH
- 加密货币投资公司创始人因 90 亿庞氏骗局被判 5 年监禁
- 美股三大股指集体低开,道指跌 0.49%
- 某巨鲸已从做空转为做多,开设了 25,000 ETH 多头仓位
- Binance 将 BlackRock 旗下 BUIDL 基金纳入机构离线抵押框架
- 数据:某巨鲸向 HyperLiquid 存入了 400 万枚 USDC,并以 20 倍杠杆做多 SOL
- 分析师:无需过度担心此轮市场下跌,因其更多为获利了结而非恐慌抛售
- Michael Saylor,公司将公布最新比特币购买计划
- 全球市场持续动荡,华尔街仍在苦苦等待经济数据指引
- Bit Digital 发布 Q3 财报, 以太坊持仓增至 153,547 枚, 价值近 6 亿美元
- Applied Digital 完成 23.5 亿美元高级担保票据定价用于扩建北达科他数据中心
- 美联储鹰派言论打击降息预期,全球市场遭遇重创
- American Bitcoin:比特币持仓增至 4090 枚,三季度挖矿产出 563 枚 BTC
比推专栏
更多 >>观点
比推热门文章
- ZEC 逆市上涨触及 645 美元,24 小时涨幅 23.82%
- Tether:迄今已投放 15 亿美元拓展大宗商品贸易融资,探索稳定币+实物资产新模式
- 【比推每日新闻精选】金融时报: Tether考虑领投德国科技初创企业Neura Robotics约11.6亿美元的融资;美国 SEC 发布关停后文件处理指导,多只加密 ETF 或将加速生效;美劳工统计局:2025年9月就业情况将于11月20日发布,10月各州就业与失业情况于11月21日公布
- 美国司法部追捕朝鲜不法分子进行虚假 IT 工作和加密货币窃取,扣押 1500 万美元 USDT
- 消失的Strategy溢价
- Yala 稳定币 YU 出现类似 USDX 的可疑情况,相关地址以极高利率成本借出 USDC 但始终未还款
- 数据:ETH 长期持有者日抛 4.5 万枚 ETH,以太坊正逼近 3000 美元关键支撑
- 数据:ETH 当前全网 8 小时平均资金费率为 0.0037%
- Cardone Capital 推出房地产+比特币混合基金,租金收益将持续增持 BTC
- 数据:ETH 全网合约持仓量 24h 减少 7.08%
比推 APP



