トークンアプルーバル(Token Approval)とは — 知らないうちに資産が抜かれるリスク

DeFi(分散型金融)を利用していると、ウォレットに「Approve(承認)」のポップアップが表示されることがあります。多くのユーザーは深く考えずに承認ボタンを押してしまいますが、このトークンアプルーバルの仕組みを正しく理解していないと、知らないうちに資産を失うリスクがあります。

トークンアプルーバルは、DeFiを便利に使うために必要な機能ですが、悪用されると非常に危険です。本記事では、トークンアプルーバルの仕組み、リスク、そして安全に管理するための方法を詳しく解説します。

トークンアプルーバルの仕組み

イーサリアムやEVM互換チェーン上のトークン(ERC-20)には、approve関数という仕組みが組み込まれています。これは、特定のスマートコントラクト(またはアドレス)に対して、「あなたは私のトークンを一定量まで動かしてよい」という許可を与えるものです。

たとえば、Uniswapでトークンをスワップしたい場合、まずUniswapのコントラクトに対して「私のUSDCを動かしてよい」というアプルーバルを行います。その後、Uniswapのコントラクトがあなたのウォレットからトークンを引き出してスワップを実行します。

この仕組み自体は正当なものですが、問題はアプルーバルの金額にあります。多くのDeFiプロトコルは、利便性のために「無制限(Unlimited)」のアプルーバルを要求します。一度無制限のアプルーバルを与えると、そのコントラクトはいつでもあなたのウォレットからトークンを引き出すことができるのです。

トークンアプルーバルが危険な理由

1. 悪意のあるコントラクトへのアプルーバル
フィッシングサイトや詐欺プロジェクトに誘導され、悪意のあるスマートコントラクトにアプルーバルを与えてしまうと、攻撃者はいつでもあなたのトークンを引き出すことができます。ウォレットから直接盗まれるのではなく、アプルーバルを通じてコントラクト経由で抜き取られるため、気づきにくいのが特徴です。

2. 正規プロトコルがハッキングされた場合
正規のDeFiプロトコルに無制限のアプルーバルを与えていた場合、そのプロトコルのコントラクトがハッキングされると、攻撃者はアプルーバルを悪用してユーザーの資産を抜き取ることができます。実際に、過去にはBadgerDAOやTransit Swapなどで、アプルーバルを悪用したハッキング被害が発生しています。

3. 無制限アプルーバルの放置
一度使ったDeFiプロトコルのアプルーバルを放置していると、そのプロトコルが将来的にハッキングされた場合に被害を受ける可能性があります。使わなくなったプロトコルのアプルーバルは、速やかに取り消すことが重要です。

アプルーバルの確認と取り消し方法

現在有効なアプルーバルは、専用のツールを使って確認・取り消しができます。

Revoke.cash
もっとも人気のあるアプルーバル管理ツールです。ウォレットを接続するだけで、過去に与えたすべてのアプルーバルを一覧表示し、個別に取り消すことができます。イーサリアムだけでなく、Polygon、Arbitrum、Optimismなど多くのチェーンに対応しています。

Etherscan Token Approval Checker
EtherscanのToken Approval Checkerでも、アプルーバルの確認と取り消しが可能です。URLは https://etherscan.io/tokenapprovalchecker です。

取り消しの手順
1. Revoke.cashなどのツールにウォレットを接続します。
2. 有効なアプルーバルの一覧が表示されます。
3. 不要なアプルーバルの横にある「Revoke」ボタンをクリックします。
4. ウォレットでトランザクションを承認します(ガス代がかかります)。
5. アプルーバルが取り消されます。

なお、アプルーバルの取り消しにはガス代が必要です。ガス代が安い時間帯を狙って実行するとコストを抑えられます。

アプルーバルのリスクを最小化するベストプラクティス

1. 無制限アプルーバルを避ける
DeFiプロトコルがアプルーバルを求めてきた場合、MetaMaskなどのウォレットでは承認金額をカスタムで設定できます。必要な金額だけをアプルーバルすることで、万が一の被害を最小限に抑えられます。

2. 定期的にアプルーバルを見直す
月に1回程度、Revoke.cashで有効なアプルーバルを確認し、使っていないプロトコルへのアプルーバルは取り消しましょう。これを習慣にすることで、リスクを大幅に低減できます。

3. 用途別にウォレットを分ける
DeFiで頻繁にアプルーバルを行うウォレットと、資産を保管するウォレットを分けましょう。DeFi用ウォレットには必要最低限の資産だけを入れておけば、万が一アプルーバルが悪用されても被害を限定できます。

4. セキュリティツールを導入する
Pocket UniverseやFireなどのブラウザ拡張機能は、トランザクションの内容をシミュレーションし、危険なアプルーバルを事前に警告してくれます。DeFiを利用するなら必須のツールです。

5. 知らないサイトではアプルーバルしない
SNSで紹介されたサイトや、DMで送られてきたリンク先でアプルーバルを求められても、絶対に承認しないでください。公式サイトかどうかを必ず確認しましょう。

まとめ

トークンアプルーバルは、DeFiを利用するうえで避けて通れない仕組みですが、正しく管理しないと大きなリスクにつながります。以下のポイントを意識して、安全にDeFiを利用しましょう。

・アプルーバルは「コントラクトにトークンを動かす権限を与える」行為
・無制限アプルーバルはできるだけ避け、必要額だけを承認する
・使わなくなったプロトコルのアプルーバルは速やかに取り消す
・Revoke.cashで定期的にアプルーバル状況を確認する
・DeFi用ウォレットと保管用ウォレットを分離する

DeFiの利便性を享受しながらも、リスクを最小限に抑える意識が大切です。「承認ボタンを押す前に一呼吸おいて確認する」、この習慣があなたの資産を守ります。