スマートコントラクト
ブロックチェーン
Ehteruem

Ethereumのスマートコントラクトで気をつけるセキュリティ的な面

Ethereumのスマートコントラクトで気をつけるセキュリティ的な面

堅牢なスマートコントラクト開発のためのブロックチェーン技術入門という本を読んでの自分用のメモ

  • 返金を受ける側でthrowがおこると、返金処理ができない ->返金する側の関数の処理がthrowとなる
  • 状態確認 -> 返金 -> 状態変更 の順番で行うと、返金処理の部分で、この処理をループさせ、何回も返金を行ってしまう(the DAO)
  • ブロックに取り込まれる順番は基本的にGas Priceの大きい順なので、実行される順番を意図的に変えることができる
  • block.timestamp(now)は、トランザクションが取り込まれたブロックのタイムスタンプなので、マイナーによって意図的に操作が可能
  • たとえプライベートな変数であっても、通信を見ればそこに収納された値を見ることができてしまう
  • 意外とオーバーフローには気をつける