火星链 火星链
Ctrl+D收藏火星链

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

作者:

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

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

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

Babylon上线测试网V0.7.1,启用CosmWasm智能合约支持:6月20日消息,旨在将比特币安全性带至Cosmos生态的项目Babylon宣布上线Babylon测试网V0.7.1,启用CosmWasm智能合约支持以及IBC客户端双向数据共享等。[2023/6/20 21:49:35]

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

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

Celestia:启动区块链就像部署智能合约一样简单:8月15日消息,Celestia希望通过使用自己的规则轻松部署自己的区块链,赋予在线社区自己的主权。

上周,在韩国区块链周2022上,Celestia联合创始人Ismail Khoffi表示在接受Cointelegraph采访时表示,该项目的愿景是分离共识和应用执行层,为去中心的应用构建者解锁新的可能性。Celesita基本上是一个剥离的极简层区块链,为用户提供了易于部署自己的区块链或第二层汇总的基础设施。Khoffi表示,开发者和社区可以“点击一个按钮”,部署自己独立的、定制的区块链。

(Cointelegraph)[2022/8/15 12:26:09]

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

蚂蚁集团魏长征:区块链从业者需重点关注智能合约等方向:金色财经报道,针对“人社部发布区块链工程技术人员等新职业”一事,蚂蚁集团区块链平台高级技术专家魏长征建议区块链的从业者,首先要打好技术基础。区块链是综合性的平台技术,需要加强计算机领域的基础课程,比如程序设计、操作系统、体系架构、编译原理。其次,在基础之上,根据自身兴趣考虑发展方向。目前涉及的方向有共识算法方向,需要深耕分布式系统原理和设计;智能合约方向,要了解主流合约编程技术和虚拟机技术;隐私保护方向,要钻研密码学理论和应用技术,并全面了解零知识证明、多方安全计算、硬件可信执行环境等。对于刚入门区块链工程建设可选择学习知名的公链和联盟链开源项目,如以太坊、超级账本等。[2020/7/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

标签:区块链ELELIDSOLID区块链的几个大局elementiumBLID币VSolidus

火币APP下载热门资讯
TER:?威廉:加密货币期盼怎样的2020下半年

编者按:本文来自威廉闲谈,作者:陳威廉,Odaily星球日报经授权转载。时光荏苒,我们很快来到了2020年的下半年。不得不说,2020这个上半年真的过得那叫一个惊心动魄.

1900/1/1 0:00:00
COMP:热门DeFi项目Compound还有投资机会吗?

最近Compound的代币COMP成为币圈很多投资者热捧的代币。它的代币价格从最低的65美元上涨到了340多美元,涨幅达5倍多。其价格已经超过了以太坊.

1900/1/1 0:00:00
COIN:加密货币+电商带货令人眼前一亮,币市近日活跃度变差不是错觉

币圈近期的活跃度变低并不是错觉,根据数据显示,6月份比特币期货交易量较5月份下降40%,由5570亿美元降至3320亿美元,现货交易量也在6月份月下降逾31%.

1900/1/1 0:00:00
以太坊:以太坊可扩展性挑战:状态数据

编者按:本文来自以太坊爱好者,作者:Trustnodes,翻译&校对:闵敏&阿剑,Odaily星球日报经授权转载.

1900/1/1 0:00:00
比特币:美国SEC主席离任,对加密数字资产方面的监管政策有何改变?

在刚刚过去的这个周末,在美国的证券行业发生了一个非常有趣的事情。美国总检察长WilliamBarr提议现任SEC主席JayClayton担任纽约南部辖区的美国检察官。这是一个非常有意思的事情.

1900/1/1 0:00:00
OIN:IPFS风口在即,如何埋伏“存储”板块?

DeFi屁股还没坐热,Filecoin这边主网将在7月20日-8月20日之间启动,尽管这是Filecoin的第N次跳票,但并不妨碍大家对它的追捧,因为错过机会的代价要远比错误的代价高得多.

1900/1/1 0:00:00