みなさんがNFTを購入する時に、いろいろなサイトにウォレットを接続すると思います。そして実際にNFTを購入するときには、ウォレットに対して「承認」(アプルーブ)という行為をしていると思います。
突然ですが、ここで注意が必要です!実はみなさんがNFTを購入し終わった後も、サイトに対してずっと「承認」した状態が継続しているということをご存じでしょうか?
正規のサイトでしたら問題はありませんが、万一詐欺サイトなどに対して承認している場合、ウォレットが悪用されてしまうことがあります。最悪の場合、ウォレット内のトークンやNFTが盗まれてしまうこともあります。
そこで、本記事ではウォレットのセキュリティ対策のひとつであるリボークの方法をお伝えいたします。本記事を読むことにより、実際にウォレットのリボークができるようになります。できるだけ簡単な方法をお伝えしますので、ぜひ参考にしてみてください!
ぼくは2022年3月に初めてNFTを購入し、2023年1月現在100体以上のNFTを保有しています。そんなわたしの経験から、みなさんにウォレットのセキュリティ対策で大切なリボーク方法をお伝えしたいと思います。
アプルーブとリボーク
さて、そもそもリボークとは何でしょうか?リボークとアプルーブはセットとなる考え方ですので、まずはアプルーブについて説明します。
アプルーブとは?
アプルーブとは、サイトに対してウォレット内の仮想通貨やNFTに対する操作権限を与えることです。日本語では「承認」ですね。
例えば、OpenSeaでNFTを購入する時には、みなさんはOpenSeaに対してメタマスクへの操作権限をアプルーブしています。「そんなことをした覚えはない!」という方もいらっしゃるかもしれません。そんな方でも、メタマスクで「署名」というボタンをタップしたことは覚えていると思います。この「署名」がアプルーブなのです。
OpenSeaに対してウォレットへの操作権限をアプルーブしているため、OpenSeaはウォレットから仮想通貨を取得し、その代償としてNFTをあなたのウォレットに配布することができます。
逆に言えば、あなたがアプルーブしなければ、どんなサイトであってもウォレットから仮想通貨を取得することはできません。
リボークとは?
次にリボークについて説明します。リボークとは、サイトに対するウォレットへの操作権限を取り消すことです。日本語では「取消」ですね。先ほど説明したアプルーブを取り消す行為のことです。
リボークすることにより、サイトはウォレットに対する操作権限を失います。つまりリボークすれば、サイトはウォレットから仮想通貨を取得することはできなくなります。
さて、NFTを購入する際に、メタマスクの署名ボタンをタップしたことがアプルーブに相当するということは説明しました。しかしながら、リボークをした記憶はないのではないでしょうか。実はその通りです。リボークは明示的に操作しないと実行されません。
次からはリボークの具体的なやり方を説明したいと思います。
リボークのやり方
本記事ではAndroidスマホを使うことを想定して説明します。iPhoneユーザの方でもほとんど同様の手順で実施できると思いますので、ぜひお試しください。
まずメタマスクを起動し、メニューから「Etherscanで表示」をタップします。
Etherscanが開きます。EtherscanとはEthernetと呼ばれるブロックチェーン上のウォレットや仮想通貨に関する情報を検索、確認、検証できる便利なツールです。Etherscan画面右上の「≡」をタップします。
Etherscanのメニューが開きますので、「More」→「Token Approvals」の順に選択します。(Token approvalsはメニューの下の方にあります。)
Ethereum Token approval画面が開きますので、「Connect to Web3」ボタンをタップします。
この機能はβバージョンとして提供されているという説明が表示されますので、内容確認し「OK」をタップします。
すると、ウォレットの選択画面が表示されますので、リボークしたいウォレットを選択します。ここでは「MetaMask」をタップします。
万一、MetaMaskをタップしてもMetaMaskが起動しない場合は、「WalletConnect」をタップしてください。WalletConnectとはウォレットそのものではなく、ウォレットとEtherscanのようなDappsを連携するための便利なプロトコルです。WalletConnectをタップ後、スマホ内のウォレットが選択できます。
「Connected – Web3 [0x…]」と表示されれば、ウォレット接続完了です。この表示の下に3つのタブが表示されていると思います。
- ERC-20
- ERC-721
- ERC-1155
これらは仮想通貨やNFTを扱うための規格です。仮想通貨やNFT毎に使う規格が異なります。Etherscanでは接続したウォレットに関する情報を規格毎に確認できますので、順番に確認してみましょう。
まずERC-20に関してです。「No approved contracts found for the address」と表示されています。このウォレットアドレスに対してアプルーブされたサイトはないということです。
次にERC-721に関してです。この例の場合、1行だけ何か記録されています。画面を右にスクロールしてみましょう。
「Approved Spender」で表示されているサイトに対して、このウォレットがアプルーブしていることがわかります。今回はこれをリボークしてみることにします。「Revoke」ボタンをタップします。
すると「Revoke Approval」という確認メッセージが表示されますので、「Revoke」ボタンをタップします。
メタマスクが起動します。リボークそのものは無料ですが、リボークするためにはブロックチェーンに対するトランザクションが発生しますので、NFTを購入する時と同様にガス代が必要になります。ガス代を確認後、「確認」ボタンをタップします。
しばらくするとリボークのトランザクションが通り、下のような画面が表示されます。トランザクションが成功したことを確認するために、「View your transaction」をタップしてみましょう。
ブラウザが起動します。下の画像のようにStatusが「Success」になっていれば、リボーク成功です。
リボークが必要な理由
改めて、なぜリボークが必要なのかを整理してみましょう。
最初に説明したように、アプルーブすることにより、サイトはみなさんのウォレット内の仮想通貨やNFTを操作することが可能となります。正規サイトでNFTを購入する場合などには、こうした操作が必要ですのでアプルーブ自体は必要な手続きと言えます。
しかしながら、これが悪意のある詐欺サイトであった場合はどうでしょうか。詐欺サイトをアプルーブすることにより、詐欺サイトは皆さんのウォレット内の仮想通貨やNFTを自由に操作できてしまいますので、皆さんが知らない間にこっそりと全ての仮想通貨やNFTを抜き取ってしまうかもしれません。
また、たとえ安全であると思われている正規サイトであっても、サイトに脆弱性が発見されてハッキングされたりした場合、やはりあなたのウォレット内の仮想通貨やNFTは抜き取られてしまう可能性があります。
こうしたリスクを軽減するためにも、利用しなくなったサイトや身に覚えのないサイトはリボークすることを推奨します。
リボークと切断の違い
リボークと似て非なる手続きに「切断」というものがあります。切断とは読んで字のごとく、サイトとウォレットとをネットワーク的に切り離すだけの手続きです。
切断することにより、サイトはウォレットにアクセスはできなくなりますので、ウォレットの内容(アドレス、仮想通貨、取引履歴など)を確認することはできなくなります。
しかしながら、まだサイトはアプルーブされた状態ですので、アプルーブされた範囲の権限で、ウォレットに関連付けられている仮想通貨やNFTに対して操作することができてしまいます。
すなわち、切断はセキュリティ対策としてはほとんど効果がありません。前述したウォレットのセキュリティ対策のためには、リボークが必須となります。
リボークの基準
リボークがウォレットのセキュリティ対策として重要であることはご理解いただけたかと思います。それでは実際にはどのようなサイトをリボークすべきでしょうか。個人的には次のようなサイトはリボークすることを推奨します。
- よくわからないサイト
- 身に覚えがないサイト
- もう利用しないサイト
リボークしてしまっても、利用する際には再度アプルーブすればOKです。迷ったらリボークするようにしましょう。
まとめ
以上、ウォレットのセキュリティ対策のひとつであるリボークの方法をお伝えしました。まとめると以下の通りです。
- アプルーブとリボーク
- リボークのやり方
- リボークが必要な理由
- リボークと切断の違い
- リボークの基準
本記事で説明したリボークにより防御力を高め、NFTライフを楽しみましょう!
尚、本記事を読んで「NFTについてもっと深く知りたい!」と思った好奇心たっぷりのあなた!NFT界隈のインフルエンサーでもあるイケハヤ氏がNFTで稼ぐ方法を解説しています。
ビジネス本1冊程度の価格でNFTについてより深い知見が得られますので、興味がある方はぜひ読んでみてください。このような体系的なNFTの解説は、他にはあまりないと思います。