文章目录
  1. 1. 文档更新说明
  2. 2. 前言
  3. 3. ERC20中可能遇到的问题
    1. 3.1. approve方法
  4. 4. 随机数问题
    1. 4.1. 获取伪随机数可能会被攻击

文档更新说明

  • 最后更新 2018年04月08日
  • 第二次更新 2018年04月09日
  • 首次更新 2018年04月09日

前言

  本文用于记录遇到的安全问题,毕竟合约大都关系到财产问题,不可轻视.

ERC20中可能遇到的问题

approve方法

  approve用于授权他人转移自己的代币,对某个地址在已经授权了一次之后,想要修改授权的值时,需要先调用approve方法把值重置为0,等待区块打包确认之后,再重新设置为修改后的值. 攻击方法参考这里

随机数问题

获取伪随机数可能会被攻击

  以太坊上无法直接获取随机数(至于为什么,不在此处讨论),一般我们会通过keccak256 来制造随机数.但是这样有可能会被攻击,假设攻击者拥有超高算力,他可以提前运行赌博游戏的方法,偷窥结果,从而来决定要不要广播这个结果.当然这种攻击方法成本还是很高的.
下面是一些得到随机数的方法理论:
区块链中的随机数
以太坊合约中如何获得真随机数

文章目录
  1. 1. 文档更新说明
  2. 2. 前言
  3. 3. ERC20中可能遇到的问题
    1. 3.1. approve方法
  4. 4. 随机数问题
    1. 4.1. 获取伪随机数可能会被攻击