承認の上限を決める
- 執筆
- CRYPTO PORT 編集部
- 公開日
- 更新日
- 読了目安
- 5 分
結論
無制限の承認は、いま持っている分だけでなく、あとから入ってくる分にも及びます。上限を指定できるウォレットなら、その取引に必要な額だけに絞ってください。ガス代は増えますが、被害の上限を自分で決められます。
要点
- 承認は継続的な権限。署名した時点では残高が減らないため気づきにくい
- 無制限の承認は、将来受け取る分まで対象になる
- 上限を絞れば、万一悪用されても被害はその額までに限定される
- 上限を絞ると取引のたびに承認が必要になり、ガス代は増える
定義
トークンの承認(approve)で相手のコントラクトに与える上限額を、無制限ではなく必要額に限定する運用。
分散型取引所やDeFiを使うと、最初に承認の署名を求められます。これは正当な手続きで、そのサービスのコントラクトがあなたのトークンを動かせるようにするものです。問題は既定値です。多くのアプリは、以後の操作で再署名させないために「無制限」を初期値として提示します。利便性としては合理的ですが、権限としては過剰です。
無制限の承認が持つ意味を具体的に言えば、そのコントラクトは、あなたのそのトークンを、いつでも、全額、動かせます。将来ステーキング報酬で受け取った分も、別の取引で買い増した分も対象です。実際の悪用では、承認を得たあとしばらく何もせず、残高が育った頃にまとめて抜き取る例が報告されています。「承認した直後に何も起きなかった」は安全の証拠になりません。
対策は、上限の指定です。主要なウォレットの多くは、承認画面で金額を編集できます。今回のスワップに使う額、あるいはその少し上に設定してください。上限を絞ると、次に同じサービスを使うとき再び承認が必要になり、その分のガス代がかかります。これはトレードオフです。頻繁に使う主要なサービスでは無制限を許容し、初めて使うサービスや小規模なアプリでは必ず上限を絞る、といった使い分けが現実的です。
上限の指定は、承認の見直し(定期的な取り消し)と組み合わせて初めて効果が出ます。上限を絞っていても、承認自体は残り続けるからです。取引を終えたら承認を取り消す、少なくとも数か月に一度は一覧を確認する。この二つをセットで運用してください。なお、上限を0にすることが、そのサービスに対する承認の取り消しにあたります。
注意点
- · 上限を絞っても、承認自体は取り消すまで残ります
- · 既に無制限の承認を与えているサービスは、承認管理ツールで一覧を確認してください
- · 承認画面に出ている相手のアドレスが、使おうとしているサービスのものか確認してください
よくある質問
上限を絞るとガス代が増えるなら、無制限のままでもよいのでは?
取引頻度と残高によります。頻繁に使う大手サービスなら無制限も合理的な選択です。ただし、初めて使うアプリや、素性の確認が十分でないコントラクトに対しては、上限を絞る価値がガス代を上回ります。