木星链 木星链
Ctrl+D收藏木星链
首页 > TUSD > 正文

ERG:智能合约开发必读:这10个Solidity安全问题不容忽视

作者:

时间:1900/1/1 0:00:00

编者按:本文来自登链社区,Odaily星球日报经授权转载。在2018年,我们曾对智能合约安全状况进行过初步研究,重点是Solidity编写的智能合约。当时,我们根据公开的合约源代码编写了最常见的10个智能合约安全问题。两年过去了该更新研究并评估智能合约安全性发展的如何了。值得关注的其他问题

尽管有一个安全问题排名很不错,但它往往一些有趣的细节,因为某些细节与排名列表并不完全一致。在深入挖掘10大问题之前,必要阐述一下原始研究中一些值得关注的亮点问题:在2018年,最主要的两个问题是外部合约拒绝服务和重入。但是现在这些问题有所缓解。可以从我们的研究博客中了解更多有关Reentrancy的信息:从安全角度出发审视智能合约。译者注:实际上由于DeFi应用之间的组合应用,又导致了多起严重的重入攻击事件。现在Solidityv0

Kava 增加对以太坊虚拟机智能合约的支持:金色财经报道,Kava 在其以太坊 Co-Chain 的 Alpha 版发布中增加了对以太坊虚拟机 (EVM) 智能合约的支持。EVM 的发布使来自以太坊生态系统的开发人员和去中心化应用程序或dapps能够在 Kava 上构建和部署。作为 Kava Pioneer Program 的一部分,以太坊 Co-Chain 的封闭测试网将部署超过 15 个协议,包括收益农业协议 Beefy Finance、收益聚合器 AutoFarm 和流动性协议 RenVM。这些项目将在主网启动之前测试 Kava 的以太坊和 Cosmos 联合链之间的互操作性。在主网启动后,在 Kava 网络上启动的协议也将能够利用其 7.5 亿美元的 Kava Rise 开发者激励计划。(coindesk)[2022/3/9 13:46:37]

如上例所示,在乘法之前执行的除法,可能会有巨大的舍入误差。5.依赖tx

Ergo公链创始人:Ergo已破解比特币UTXO不能上智能合约难题:据官方消息,Ergo公链创始人Alexander Chepurnoy近日指出,随着SigmaUSD算法稳定币启动,Ergo拍卖正常运行,ErgoMixer即将代币化收入流,现在开发者们可入驻Ergo平台开发众筹、贷款、挖矿算力衍生品、彩票、利润分享机制、Email和Paper客户端、本地交易所交易系统和其他社区代币、去中心化交易所等DeFi应用。ErgoDEX团队正在开发委托单簿DEX和AMM DEX,但始终欢迎更多开发者参与,特别是DEX UI的开发。

Ergo已有开发工具包括Headless DApp Framework、ErgoAppKit、Ergo Playground、 Ergo JS Template等。[2021/5/3 21:20:15]

}可以在Solidity的文档中找到TxOrigin攻击的详细说明。简单的说,tx

EDU 智能合约出现重大漏洞,可转走任意账户的 EDU Token:据慢雾区披露,EDU 智能合约出现重大漏洞,可转走任意账户的 EDU Token。在 transferFrom 函数中,未校验 allowed[_from][msg.sender] >= _value 并且函数内 allowed[_from][msg.sender] -= _value; 没有使用 SafeMath,导致无法抛出异常并回滚交易。目前发现有大量洗劫行为,攻击者不需要私钥即可转走你账户里所有的 EDU,并且由于合约没有 Pause 设计,导致无法止损,请冷静并关注项目方官方公告。[2018/5/24]

在上面的示例中,当i的值为0时,下一个值为2^256-1,这使条件始终为true。开发人员应当尽量使用<、>、!=和==进行比较。7.不安全的类型推导

该问题在Solidity十大安全问题排行榜中上升了两位,现在影响到的智能合约比之前多了17%以上。Solidity支持类型推导,但有一些奇怪的表现。例如,字面量0会被推断为byte类型,而不是通常期望的整型。在下面的示例中,i的类型被推断为uint8,因为这时能够存储i的值uint8就足够。但如果elements数组包含256个以上的元素,则下面的代码就会发生溢出:for(vari=0;i<elements

在这个例子中,攻击者可能利用此行为来进行拒绝服务攻击,从而阻止其他用户接收以太币。10.时间戳依赖

在2018年,时间戳依赖问题排名第五,重要的是要记住,智能合约在不同时刻多个节点上运行的。以太坊虚拟机不提供时钟时间,并且通常用于获取时间戳的now变量实际上是矿工可以操纵的环境变量。if(timeHasCome==block

由于矿工可以操纵当前的环境变量,因此只能在不等式>、<、>=和<=中使用其值。如果你的应用需要随机性,可以参考RANDAO合约,该合约基于任何人都可以参与的去中心化自治组织,是所有参与者共同生成的随机数。总结

比较2018年和2020年十大常见问题时,我们可以观察到开发最佳实践的一些进展,尤其是那些影响安全性的实践。看到2018年排名前2位的问题:外部合约拒绝服务和重入,已经不再榜单了,这是一个积极的信号,但仍然需要采取措施来避免这类常见错误。请记住,智能合约在设计上是不可变的,这意味着一旦创建,就无法修补源代码。这对安全性构成了巨大挑战,开发人员应利用可用的安全测试工具来确保在部署之前对源代码进行了充分的测试和审核。Solidity是一种非常新且仍在成熟的编程语言,Solidityv0.6.0引入了一些重大更改,并且预计在以后的版本中还会有更多更改。来源链接:securityboulevard.com

标签:ERGDITLIDAVASynergyPitquidity-BSCVSolidusAvatar Moon

TUSD热门资讯
EFI:2020最热DeFi项目大盘点:DEX、去中心化借贷带你一次性全读懂

2020年以来,DeFi代币锁仓量和活跃地址数屡破新高,以COMP和BAL等为代表的DeFi代币价格暴涨,将DeFi代币总市值推向新高。目前,DeFi俨然已成为区块链行业的头号热点之一.

1900/1/1 0:00:00
EFI:Compound顺利登陆OKEx,DeFi会成为交易所新宠儿吗?

或许多年后当人们回忆起2020年第二季度加密货币行业有什么热点时,大家会不约合同的想起一个英文单词——DeFi.

1900/1/1 0:00:00
比特币:亿邦国际欲成立交易所,矿机制造商也来开“”?

编者按:本文来自港股社,作者:大Q,星球日报经授权发布。近年来,市场对区块链的兴趣日益增长。截至2019年12月31日,有5,035种加密货币在流通,总市值约为1,934亿美元,比截至2018年.

1900/1/1 0:00:00
区块链:星球日报 | USDC流通供应量超10亿美元?;数字美元项目联合负责人称美国或将迅速试点数字美元

头条USDC流通供应量超10亿美元Circle产品管理总监JoaoReginatto发推称,USDC流通供应量已超过10亿美元.

1900/1/1 0:00:00
区块链:深度解析明星公链NEAR:以太坊杀手?还是泯然众人?

作者:D1Ventures纵观2020区块链行业最重要的事件,除BTC减半之外,莫过于底层Layer1今年的重大突破:ETH升级2.0,Polkadot、NEAR等上主网.

1900/1/1 0:00:00
BTC:明牌买手灰度一周增持5000BTC

编者按:本文来自蜂巢财经News,作者:嚯嚯,Odaily星球日报经授权转载。6月20日,数据平台QKL123显示,加密资产信托基金灰度的比特币持仓量已达到37.11万枚.

1900/1/1 0:00:00