本文是智能合约安全系列文章的第一部分,主要讨论了智能合约中拒绝服务(DoS)攻击的威胁与防范。文章通过实际案例Fomo3D,讲解了DoS攻击如何利用以太坊的gas限制使合约不可用,并重点介绍了利用无限制循环和外部调用失败两种主要攻击手段。文章还提供了使用“拉取而非推送”模式、限制状态增长、熔断器等多种缓解措施,以及Slither、MythX、Foundry等高级工具,以构建更具弹性的智能合约。