随着越来越多的人参与区块链行业,同时为该行业注入了新的活力,由于相关知识的薄弱和缺乏安全意识,它也为攻击者提供了更多的机会。面对频繁发生的安全事件,SlowMist发布了一系列区块链安全入门笔记,介绍了与区块链安全相关的术语,以便新手可以更快地适应危机重重的区块链安全攻防世界。智能合约智能合约不是一个新概念。早在1995年,跨领域法律学者Nick Szabo就提出了这一建议:Smart Contract是一套以数字形式定义的承诺,包括合同参与者。可以在其上执行这些承诺的协议。在区块链领域,智能合约的本质可以说是在区块链网络中运行的一段代码。它以计算机指令的形式实现传统合同的自动处理,并完成用户分配的业务逻辑。随着区块链智能合约数量的增加,越来越多的安全问题被暴露出来。攻击者经常可以利用漏洞入侵系统,并给智能合约用户造成巨大损失。根据SlowMist Hacked的统计数据,到目前为止,只有ETH,由于智能合约对EOS和TRON这三个链的攻击所造成的损失高达126,883,725.92美元。具有相同攻击特征的方法已显示出多种成功和跨公共链的趋势。接下来,我们将向您展示所有介绍近年来常见的智能合约攻击方法的方法。事务回滚攻击顾名思义,回滚攻击(Roll Back Attack)是指回滚事务状态的能力。回滚到底是什么意思?回滚具体是指将已发生的状态恢复到未发生时的状态。然后,交易回滚意味着将已经发生的交易改变为未发生的状态。也就是说,攻击者已经付款,但是通过某种方式,转帐过程是错误的,因此整个交易过程都被回滚以达到交易回滚的目的。这种攻击方法主要是在区块链上的智能合约中启动的。在游戏中,当用户的下注动作和抽奖合同的动作在同一笔交易中时,这是一个内联交易。当交易发生时,攻击者可以检测到智能合约的某些状态,获取彩票信息,并根据彩票信息选择是否回退投注交易。早期,这种攻击技术经常在EOS DApp上使用,然后逐渐传播到TRON等其他公共链上。到目前为止,已有12个DApp被攻击。 SlowMist安全团队建议开发人员不要在同一笔交易中进行用户下注和抽奖,而是通过检测智能合约中的彩票状态来防止攻击者实现交易回滚攻击。交易融合攻击交易融合攻击(TransacTIon CongesTIon Attack)是一种针对使用延期在EOS上抽奖的游戏合约的攻击方法。攻击者可以使用某些方法在游戏合同的平局交易之前发送大量的延期付款。延期交易恶意入侵了该区块中的CPU资源,使得智能合约中应在指定区块中执行的延期彩票交易由于资源不足而无法执行,只能执行到下一个区块。由于EOS上的许多游戏智能合约都将区块信息用作智能合约本身的随机数,因此同一延期彩票交易在不同区块中的执行结果是不同的。这样,当攻击者知道自己无法赢得奖金时,他发送大量的延期交易以迫使智能合约重新打开奖金,从而达到了攻击的目的。该攻击方法是在黑客loveforlover对EOS.WIN发起攻击时首次发现的,然后同一攻击方法多次成功。根据SlowMist Hacked的统计数据,仅在2019年就有22个测验DApp。因此,损失了很多钱。 SlowMist安全团队建议智能合约开发人员不要将延迟交易用于在不同区块中具有不同结果的关键操作,以降低合约攻击的风险。随机数攻击随机数攻击(Random Number Attack)是攻击智能合约的随机数生成算法并预测智能合约的随机数。当前,区块链上的许多游戏都使用链信息(例如区块时间,未来区块哈希等)作为游戏合约的随机数来源,也称为随机数种子。随机数生成