宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > Bitcoin > 正文

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

作者:

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

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

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

Dillon Chen:Edgeware可能成为波卡网络第一个智能合约平台:BiKi交易平台与Polkadot(波卡)生态联合举办的主题为“探究Polkadot生态的奥秘”AMA于2020年3月20日20点举行,参与此次AMA的分别为波卡生态内五个项目,分别为Edgeware、Phala Network、LamianrChain、ChainX、Darwinia。

Edgeware联合创始人及CEO Dillon Chen在此次AMA中表示:Edgeware很可能会成为波卡网络上第一个智能合约平台,我们的竞争优势在于波卡区块链互操作性、安全性、以及我们的WASM合约运行。[2020/3/20]

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

现场 | TronsTronics创始人:智能合约在地产方面有很大社群基础:金色财经现场报道,旧金山时间1月18日,在niTROn SUMMIT 2019区块链峰会有关“社区在区块链大规模应用上扮演的角色”的圆桌讨论中,TronsTronics创始人Robert Tarquin表示,在地产方面,很多地方已经用到了智能合约。对于买卖房产来说,很多优质资产交易的非常快,通过智能合约一两天内就可以确定买到优质资产,通过激励的方式再把优质资产的中间方也带到平台上来,可以促进在世界各地使用智能合约开展业务。在地产方面,智能合约有很大的社群基础。[2019/1/19]

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

动态 | 研发团队实现可以进行数字资产保密交易的智能合约:据trustnodes消息,一个编码器团队实现了一个叫阿兹特克协议的智能合约,该合约可以对Ethereum上的任何通用数字资产(包括现有资产)进行保密交易。为了证明实现了阿兹特克协议,研发团队在MakerDAO的DAI令牌上附加了一个阿兹特克令牌。智能合约可以用来将DAI从它的ERC-20公共表单转换为一个机密的阿兹特克表单。[2018/12/2]

在上面的示例中,当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

标签:SOLLIDSOLIDDITsol币是山寨币吗Lido Staked ETHMOSOLIDSMARTCREDIT价格

Bitcoin热门资讯
OKEx投研:主流币普遍现上攻动能萎缩现象,短期或陷入调整

BTC/USDT永续合约 各级别性质:日线-盘整,4小时-盘整,1小时-盘整截图来自OKEXBTC/USDT永续合约1小时图:对于行情从两个角度来说,一个角度是客观的走势状态以及根据客观走势所制定的应对策略.

1900/1/1 0:00:00
疯涨30%,超越EOS,LINK大涨背后的秘密

编者按:本文来自深潮TechFlow,作者:宋小丸,Odaily星球日报经授权转载。比特币还在横盘,LINK早已一飞冲天。7月13日,LINK价格突破8美元,再创新高,24小时涨幅超过30%.

1900/1/1 0:00:00
ChainsMap周报:活跃数据小幅反弹,国内大所正遭遇国外两大所强势吸金?

从过去一周数据来看,链上数据从交易额上小幅下降,但是其它活跃性数据大都小幅反弹,而币安和火币两大交易所的链上交易额则都明显增长,且整体流入增长更大,火币净流入率先转正.

1900/1/1 0:00:00
黄奇帆教授最新演讲:数字化时代的全新数字货币

编者按:本文来自混沌大学,Odaily星球日报经授权转载。数字化时代对人类社会的影响遍及各行各业,不仅大幅提高了生产效率,以区块链为核心的技术甚至开始改造组织中的生产关系.

1900/1/1 0:00:00
谷歌云推出机密虚拟机,隐私计算云或将成为风口?

作者/FredericLardinois翻译/周禹涵在GoogleCloudNext'20大会上,谷歌云推出了一款“可保密虚拟机”(ConfidentialVMs).

1900/1/1 0:00:00
分析了上半年的公链数据,我们发现了这些

链上数据往往能反应区块链网络的真实状况,我们期望通过对比和分析,在繁杂的市场中找到一些潜力项目。活跃与新增地址数 比特币六月的活跃地址数为2540.85万,较五月下降了4.42%。不断收窄的波动区间似乎在蚕食存量市场上投资者们的耐心.

1900/1/1 0:00:00