なぜ「送金していないのに減る」のか

ERC-20 などのトークンには、指定した相手にトークンの引き出しを許可する「承認(Approve)」という仕組みがあります。分散型取引所を使うときに必要な操作ですが、承認先が悪意のある契約だった場合、以後は利用者の操作なしに残高を引き出せる状態になります。出金のたびに署名を求められないため、「送金していないのに減った」と感じられます。

公開事実にもとづく記述

被害の相談では、エアドロップの受け取り画面や、取引所を装ったサイトで承認を求められた例が多く見られます。承認の上限額が無制限に設定されているケースが大半です。

オンチェーン分析にもとづく記述

まず確認すること

確認したいこと一般的な可否
承認を与えた日時と承認先の契約確認できる
引き出されたトークンと数量確認できる
承認先の契約の運用者条件による
資金の最終的な受取人法的手続きが必要
オンチェーン分析にもとづく記述

被害の拡大を止める手順

  • 残っている資産を、新しく作成したウォレットへ移す(承認は移動先には引き継がれません)
  • ブロックチェーンエクスプローラの承認管理画面から、身に覚えのない承認を取り消す
  • 取り消しの取引にもガス代が必要なため、少額の手数料分を残しておく
  • 秘密鍵やリカバリーフレーズを入力した可能性がある場合は、承認の取り消しでは不十分です。ウォレット自体を作り直してください

承認を取り消しても、すでに引き出された資金が戻るわけではありません。取り消しは、それ以降の出金を止めるための操作です。

公開事実にもとづく記述