美文网首页
Solidity智能合约编程漏洞及对策

Solidity智能合约编程漏洞及对策

作者: af09b3c456ce | 来源:发表于2018-09-04 15:33 被阅读20次

上溢(Overflow)和下溢(Underflow)

Solidity能处理256位的整数。所以2²⁵⁶-1 加1就会为0.这个就是Overflow

0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

+ 0x000000000000000000000000000000000001

----------------------------------------

= 0x000000000000000000000000000000000000

在Solidity中如果使用无符号整数,那么0减1就会得到最大的整数

0x000000000000000000000000000000000000

- 0x000000000000000000000000000000000001

----------------------------------------

= 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

对策是使用SafeMath库来做数学运算

>>>阅读全文

相关文章

网友评论

      本文标题:Solidity智能合约编程漏洞及对策

      本文链接:https://www.haomeiwen.com/subject/mgngwftx.html