ApproveとRevokeの話

ツール

さて、Cbridgeという有名なブリッジサイトがハッキングにあいました。
ドメインを乗っ取られた…ということですが直近コントラクトにapprove、権限を渡している場合はRevokeをしてねとのことでした。

Approveが渡す権限について

Approveとはなにかから始めると
そのコントラクト(プログラム)が自分のトークンを利用することを承認することです。

OpenseaでのNFTの売買を例に考えてみるとわかりやすくて
最初にApproveでコレクションを承認します。
Openseaのコントラクトへの依頼なのでガスがかかります。
そしてNFTをリストをするわけですが、
リストする際はガスはかからず価格設定を署名だけで登録できます。

この際のNFTがどこにあるのか?と考えてみると
常に自分のウォレットの中にあります

売買を仲介するOpenseaは欲しいという人から支払いの依頼を受けて
そのNFT欲しい人がいるよと自分のウォレットから勝手に引き出して売却してくれます
ここで初めてNFTの移動が起きています。

Approveは相手に勝手に引き出す権利を与えること。ですね。

ぽけなさんの記事が非常にわかり易く丁寧に書いてあります。
https://hide.ac/articles/8-HZjxHEO

Approveはかなり強い権限で
NFTの場合は引き出す権利
トークンの場合も同様に引き出す権利を委ねている
(リミットの設定は可能です)

Revokeをしよう

Revoke Your Token Approvals on Over 40 Networks | Revoke.cash
Take back control of your wallet and stay safe by revoking token approvals and permissions you granted on Ethereum and over 40 other networks.

RevokeはApproveの取り消しになります。
ブロックチェーン上での操作となりますのでガスがかかります。
安い時間にやるのがいいですね。

各チェーンで選択できるのでETHだけでなく
頻繁に使うチェーン(自分の場合はBSC、Poygon、Arb、OPあたり)はしっかり確認したほうが良いと思います。
わからなかったらまとめて1回削除でもいいぐらいかもしれませんね。
自分はBUSDを昔のBCGに許可していたりしてちょっと怖かったです。

Include unverified tokens
Include zero balances
0の通貨が表示されない形になっているのでこの2箇所はチェックを入れてみるとよさそうです。

今回cbridgeの例だと
アナウンスしてくれているコントラクトを
検索して、対象のコントラクトが表示されなければ大丈夫だと思います。

まとめ

Revokeは必要だとというのと、
偽サイトも存在しているようなのでよく確認してからアクセスしてくださいね。
コントラクトに渡す権限はかなり強いと思います。
そういった意味でも権限を渡さないウォレットと渡すウォレットぐらいのレベルで管理してもいいのかもしれません。
難しいですが…。

コメント

タイトルとURLをコピーしました