MetaMaskでAaveに預ける時の接続・承認・供給の違い|解除で資産は戻る?

MetaMaskでAave V3にUSDCなどを預ける時、「接続」「承認」「供給」はそれぞれ別の操作で、変わる中身もまったく違う。接続を解除しても承認は残り、承認を取り消しても預けた資産は引き出されない。

接続・承認・供給はそれぞれ何を変えるのか

接続・承認・供給はそれぞれ何を変えるのか

結論から言うと、3つの操作の役割は別々だ。「サイトにアドレスを見せる」「トークンを動かす許可を出す」「実際にトークンを移す」に分かれる。どれか1つの成功表示が、ほかの操作の結果を保証することはない。

操作何が変わるか解除・取り消しをするとどうなるか
接続サイトがアドレスを見て、取引や署名の依頼を出せるようになる解除してもブロックチェーン上の承認は消えない
承認特定のコントラクトが、特定のトークンを上限額まで動かせるようになる取り消しても預けた資産は戻らない
供給トークンがAaveのプールへ移り、預け入れ残高が生まれる自分で引き出しをしない限り預けたまま

ここでは、MetaMaskの拡張機能で通常のアカウントを使う流れを例にする。EthereumメインネットのAave V3にUSDCを預けるケースだ。

通常のアカウントはEOA(Externally Owned Account / 外部所有アカウント)とも呼ばれる。秘密鍵1つで管理する、普通のウォレットアドレスのことだ。ETHそのものを預ける場合やスマートアカウント、ほかのプロトコルでは流れが変わることがある。

サイトへの「接続」で何が起きるのか

サイトへの「接続」で何が起きるのか

接続で起きることは2つだけだ。サイトがあなたの公開アドレスを見られるようになり、取引や署名の依頼を出せるようになる。接続しただけで、トークンを動かす権限が渡ることはない。

たとえるなら、店に名刺を渡した状態に近い。店は名刺を見て「この内容で支払いますか」と頼めるようになる。それでも財布が開くのは、あなたが承諾した時だけだ。

注意したいのは逆の方向だ。後から接続を解除しても、ブロックチェーン上に記録済みの承認は消えない。接続解除は「サイトとの会話を切る」操作で、許可の取り消しとは別物だ。

承認(支出上限)の画面で何を確認すべきか

承認(支出上限)の画面で何を確認すべきか

承認とは、特定のコントラクトに、特定のトークンを決めた上限まで動かす許可を与える操作だ。許可を受ける側のコントラクトをspender(スペンダー / 使用者)と呼ぶ。許可された上限額はallowance(アローワンス / 許可額)と呼ばれる。

この仕組みが必要なのは、USDCがERC-20というトークン規格に沿っているからだ。ERC-20はEthereum上の一般的なトークンの共通ルールにあたる。ERC-20のトークンは、コントラクトがあなたの代わりに動かす前に、事前の承認が要る作りになっている。

MetaMaskでは、支出上限の設定を求める趣旨の画面が表示される(英語表示ではSpending cap)。文言はバージョンによって変わるが、確認すべき点は次の4つだ。

  • ネットワークがEthereumメインネットになっているか
  • 承認するトークンのコントラクトが本物のUSDCか
  • 許可を受けるspenderがAaveのコントラクトか
  • 許可額が預けたい額に見合っているか

spenderのアドレスは、Aaveの公式ドキュメントに載っているPoolコントラクトのアドレスと照合するのが確実だ。記憶や検索結果の断片に頼らず、最新の値を必ず公式情報で確かめる。

ガス代がかからない「署名」でも許可は渡る

Aaveは対応トークンについて、署名だけで承認を済ませる方式にも対応している。ガス代のかかる承認取引の代わりに、無料の署名で許可を出す。そのうえで、供給の取引の中でまとめて処理する仕組みだ。

誤解しやすいのが「ガス代がないから安全」という思い込みだ。署名による許可も、ガス代を払う承認と同じ重みを持つ。ポップアップが無料でも、何をどこまで許可するのかは必ず読む。

同じ理由で、ポップアップの回数で進み具合を判断するのも当てにならない。署名方式なら承認の取引自体がない。「承認と供給で2回ガス代を払う」とは限らないのだ。

承認が成功しても預け入れは終わっていない

承認の完了表示は、許可が記録されたことを示すだけだ。この時点でUSDCはまだあなたのウォレットにあり、Aaveには何も預けられていない。

承認のあとで供給の確認画面を閉じてしまうと、許可だけが残った状態になる。「承認したのにAaveに残高がない」という場合は、まずここを疑うとよい。

「供給」が本当に完了したか確かめる方法

「供給」が本当に完了したか確かめる方法

供給は、USDCを実際にAaveのプールへ移す取引だ。プールとは、預け入れられた資金を貸し出しに回すための共同の資金だまりのこと。完了したかどうかは、取引の結果とAave上の残高の両方で確かめる。

MetaMaskの取引履歴で結果を確認する

MetaMaskの「アクティビティ」タブを開くと、承認と供給は別々の取引として並ぶ。供給の取引を選び、ブロックエクスプローラーで開いて状態が成功になっているかを見る。

ブロックエクスプローラーとは、Etherscanのように取引記録を誰でも閲覧できるサイトのことだ。取引が失敗していればガス代だけが消費され、USDCはウォレットに残る。成功していれば、USDCがウォレットからAaveのコントラクトへ移った記録が残る。

Aaveのダッシュボードで預け入れ残高を見る

次にAaveのアプリで、正しいアカウントと正しいマーケットを選んで残高を見る。Aave V3にはEthereum以外にも複数のマーケットがある。表示中のマーケットが違うと、預けたはずの残高が見えない。

供給が成功すると、ウォレットにaToken(エートークン)が届く。預け入れの証明となるトークンで、USDCならaEthUSDCのように元の名前にaが付いた形になる。要は、aTokenが増えていれば預け入れは記録されているということだ。

接続解除や承認の取り消しで預けた資産は戻らない

MetaMaskを閉じても、サイトとの接続を解除しても、預けたUSDCは戻らない。残った許可を取り消しても同じで、すでに預けた分が引き出されることはない。

資産を手元に戻すには、Aaveのアプリで引き出し(Withdraw)の取引を自分で実行する必要がある。逆に、接続解除や取り消しのせいで預け入れが消えることもないので安心してよい。

担保設定(Collateral)は何を意味するのか

担保設定(Collateral)は何を意味するのか

担保設定は、預けた資産を借入の担保として使うかどうかを決めるスイッチだ。資産の種類や状況によって、供給と同時に担保がオンになる場合もならない場合もある。供給後はAaveのダッシュボードで、実際の設定状態を確かめておく。

担保がオンになっているだけでは借金は生まれない

担保として使える状態になっていても、それだけで借入が発生することはない。借入が生まれるのは、自分で借り入れ(Borrow)の操作をした時だけだ。

担保がオンになっているのを見て、借金をしたと慌てる必要はない。借入残高がゼロなら、担保の設定は使われていない準備状態にすぎない。

借入があると引き出しや担保の解除が制限される

借入が残っていると、担保を外す操作や預けた資産の引き出しが制限されることがある。判断の基準になるのはヘルスファクターだ。担保に対して借入がどれだけ安全な水準にあるかを示す数値のことを指す。

この数値が1を下回ると、担保が強制的に処分される清算の対象になる。そのため、実行後にヘルスファクターが1を割り込むような引き出しはできない。先に借入を返済すれば、引き出せる額は増える。

プールの資金が足りないと引き出せないこともある

引き出しは、プールに貸し出されずに残っている資金の量にも左右される。ほかの利用者が多く借りていてプールの空きが少ないと、希望額を一度に引き出せないことがある。

この場合も、資産が消えたわけではない。返済や新しい預け入れでプールに資金が戻れば、引き出せるようになる。

担保のスイッチは承認の取り消しではない

担保をオフにしても、ウォレットに残っているトークンへの許可は取り消されない。担保設定はAaveの中での資産の扱いを決めるもので、MetaMaskで出した承認とは別の仕組みだ。

許可そのものを消したい場合は、次に説明する取り消しの操作が必要になる。

残った承認を取り消す方法と記録の付け方

残った承認を取り消す方法と記録の付け方

預け入れが終わったあとも許可額が残っているなら、取り消しておくと安全性が上がる。取り消しは許可額をゼロに書き換える取引で、ガス代がかかる。

許可額が残りやすいのは、無制限で承認した場合や、預けた額より多く承認した場合だ。預ける額ちょうどを承認していれば、供給の取引で使い切られて残らないことが多い。

承認の状況を確認して取り消す手順

自分が出した承認の一覧は、専用の確認ツールで見られる。Etherscanのトークン承認チェッカー(Token Approval Checker)やRevoke.cashがよく使われている。MetaMaskの公式サポートも、接続解除と許可の取り消しは別の操作だと案内している。

  1. 確認ツールに自分のウォレットを接続する
  2. ネットワークをEthereumメインネットにする
  3. USDCとAaveのspenderの組み合わせを探す
  4. 取り消し(Revoke)を選び、MetaMaskで取引を承認する

取り消しの取引も、MetaMaskの確認画面を通る。取り消しツールを装った偽サイトによる詐欺もあるため、ツールのURLが正規のものかは必ず確かめる。

3つの数字を別々に記録しておく

100 USDCを預ける場合を例にすると、記録しておきたい数字は3つある。それぞれ答えてくれる問いが違うので、1つにまとめて考えないことが大切だ。

記録する項目わかること確認する場所
spenderに残っている許可額ウォレットのトークンがあとどれだけ動かされうるか承認の確認ツール
実際に供給した額Aaveにいくら預けているか供給取引の記録とAaveの残高
借入の担保になっているか引き出しや担保解除に制限がかかるかAaveのダッシュボード

たとえば無制限で承認して100 USDCを預け、借入はしていないとする。この場合、許可額は残ったまま、供給額は100 USDC、担保は借入に使われていない状態だ。緑の完了表示1つで、この3つすべてがわかるわけではない。

よくある質問

サイトとの接続を解除したら、Aaveに預けたUSDCはどうなる?

何も変わらない。預け入れはAaveのコントラクト上に記録されており、接続の有無とは関係なく残り続ける。引き出す時は、もう一度接続して引き出しの取引を実行すればよい。

承認だけして供給しなかった場合、USDCは減っている?

USDCそのものは減っていない。承認の取引でガス代としてETHが消費されただけだ。ただし許可は残っているので、預けるつもりがなければ取り消しておくと安心できる。

承認の時にガス代がかからなかったのはなぜ?

署名で承認を済ませる方式が使われた可能性が高い。この方式では、許可の処理を供給の取引にまとめるため、承認単体のガス代が発生しない。無料であっても許可は出ているので、署名の内容は必ず確認する。

承認を取り消すとAaveの預け入れに影響はある?

影響はない。預けた資産や付いている利息はそのまま残る。ただし、あとで同じトークンを追加で預ける時には、改めて承認が必要になる。

無制限の承認は危険なのか?

相手のコントラクトに不具合や悪用が起きた場合、そのトークンの残高全部が動かされるおそれがある。毎回の承認の手間は省けるが、リスクとの引き換えになる。MetaMaskの承認画面で上限額を編集できる場合は、預ける額に絞っておくのが無難だ。

この記事のポイント

  • 接続・承認・供給は別々の操作で、変わる中身が違う
  • 接続を解除してもブロックチェーン上の承認は消えない
  • 承認の成功は預け入れの完了を意味しない
  • 承認の取り消しや担保オフでは預けた資産は戻らない
  • 許可額・供給額・担保の状態は別々に確認して記録する
共有:

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)