
イーサリアムトークンの承認は、ユーザーが資産にアクセスして利用するために分散アプリケーションに与えるオンチェーンの許可です。
Contents
重要なポイント
- トークン承認とは、仮想通貨所有者がWeb3アプリケーションにアクセスして資産にアクセスして自動トランザクションを利用するために与えるオンチェーン許可を指します。
- トークンの承認は、暗号通貨に伴う自己主権の良い例ですが、ユーザーには、自らが背負い込む可能性のあるリスクを認識するという高い責任も課せられます。
- トークンの承認がどのように機能するか、およびその潜在的なリスクを軽減する方法について教育を受けることは、すべてのイーサリアムユーザーが取るべき重要なステップです。
Ethereumトークンの承認の説明
トークンの承認とは何ですか?
トークンの承認は、暗号通貨ウォレットのユーザーが主に分散型アプリケーション(dApps)上でスマートコントラクトに付与するオンチェーンの権限です。これにより、スマートコントラクトは、個々のトランザクションのウォレット署名を必要とせずに、特定の量のユーザーのトークンにアクセスできるようになります。場合によっては、ユーザーの承認により、dAppがユーザーのEthereumウォレットからdAppのスマートコントラクトに資産を転送し、自動的にトランザクションを実行できるようになります。一部のdAppは、制限されたアクセス権を要求する場合があります。
資金量を要求する人もいれば、無制限のアクセスを要求する人もいます。ユーザーは、スマートコントラクトからのトークン承認リクエストを確認する前に、これらのパラメーターを確認する必要があります。承認確認はオンチェーンで行われるため、それに関連してユーザーが支払う必要があるガス料金が発生します。完了すると、ブロックチェーンは透明性とセキュリティのためにトランザクションを不変に記録します。
トークンの承認とは何ですか?
デフォルトでは、dAppはウォレット署名による明示的な許可がなければユーザーの暗号資産にアクセスできません。トークンの承認は、トランザクションに署名するために近くにいない場合でも、dAppsがこれらのアセットを使用するための文書化された許可を表します。
たとえば、Aaveのような融資プラットフォームを使用したいとします。これを行うには、まず貸し出したいトークンを承認する必要があります。トークンの承認により、Aaveがウォレットにアクセスし、資金を融資プールに転送することが許可されます。同様に、NFTマーケットプレイスでもトークンの承認が必要です。OpenSeaのようなプラットフォームでNFTを販売したい場合は、マーケットプレイスにNFTトランザクションを処理する許可を付与する必要があります。
トークンの承認の仕組み
トークン規格が異なれば、トークンの承認方法も若干異なりますが、それらはすべて多かれ少なかれ同じ機能を実行します。
ERC-20トークンの場合、トークンの承認に関連する3つの重要なスマートコントラクト機能があります。
– 「approve」関数。スマートコントラクトアドレスがユーザーのトークンを使用できるようにします。
– 「allowance」関数。ユーザーがスマートコントラクトで使用することを承認したトークンの数を示します。
– transferFrom関数。コントラクトがトークンを使用する方法です。
トークン承認の歴史
ERC-20トークン規格の「承認」
ERC-20トークン標準の「承認」機能は、独自のトークン承認メカニズムです。スマートコントラクトを承認してアカウントから移動するトークンの数を指定できます。イーサリアムトークン承認の基礎であるにもかかわらず、この方法にはいくつかの欠点があります。まず、各承認はブロックチェーン上に個別のトランザクションとして登録されます。取引ごとにガス料金を支払わなければならないため、すぐに金額が膨らむ可能性があります。次に、特定のコントラクトで使用できる一定量のトークンを事前承認する必要があります。これは、契約上のトークンの承認量に達するたびに、新しいトークンの承認を提供する必要があることを意味します。最後に、dAppに無制限のトークン承認を与えると、ウォレットのセキュリティが損なわれる可能性があります。それは、悪意のある攻撃者が無制限のトークン承認を伴うスマートコントラクトを悪用して、ウォレットからトークンを流出させる可能性があるためです。
ERC-2612許可署名
ERC-2612では、許可署名として知られるイーサリアムトークン承認の新しい方法が導入されました。許可署名を使用すると、オフチェーンでメッセージに署名することでトークンの承認を与えることができます。その後、dAppのスマートコントラクトは、このオフチェーン署名を使用して、オンチェーンでトークンの承認を検証し、実行します。このアプローチには、いくつかの重要な利点があります。まず、オフチェーンで承認に署名するということは、トランザクションがオンチェーンで行われるまでユーザーはガス料金を支払わずに済むことを意味します。さらに、これらのオフチェーン承認により、署名のたびに新しいオンチェーントランザクションを実行する必要がなくなり、dAppと対話するユーザーエクスペリエンスが大幅に向上します。ERC-2612許可署名は資産のセキュリティも強化し、ユーザーがトークン承認の制限と有効期限を事前に定義できるようにします。残念ながら、ERC-2612は便利ですが、現時点ではまだ広く採用されていません。
許可2
Permit2は、Uniswapチームによって構築されたオープンソースのトークン承認契約であり、ERC-2612の利点をすべてのトークンに拡張することを目的としています。Permit2を使用すると、トークンにERC-2612が統合されているかどうかに関係なく、任意のトークンに対してガスレス承認を使用できます。さらに、Permit2には自動有効期限が組み込まれており、トークンの承認が長引くことに伴うセキュリティリスクを排除します。Permit2を使用すると、ユーザーは複数のトークンをまとめてバッチ処理し、1つのトランザクションで複数のトークン転送を実行できます。同様に、ユーザーはトークンの承認をバッチで取り消すことができます。
トークン承認のリスク
トークンの承認は、ユーザーの資産へのアクセスを許可するために不可欠なステップですが、留意する価値のあるいくつかのリスクが伴います。悪意のある者がトークンの承認を悪用する主な方法の1つは、悪意のあるスマートコントラクト機能の使用です。疑いを持たないユーザーが悪意のあるコントラクトまたはdAppで「SetApprovalForAll」関数を選択すると、詐欺師はユーザーのウォレットからトークンを流出させる可能性があります。ハッカーも同様に、悪意はないが欠陥のあるスマートコントラクトを悪用してユーザーのウォレットを使い果たす可能性があります。スマートコントラクトは、最初に操作してから長い間侵害される可能性があるため、これは承認が長引くことの危険性の1つです。また、多くの人が、信頼できるdAppのためのものだと思い込んで、間違ったスマートコントラクトを操作し、詐欺師の被害に遭っています。これはフィッシング詐欺の結果として起こることが多いため、トークンの承認に署名する前にプラットフォームを三重チェックすることが非常に重要です。それほど一般的ではありませんが、プロジェクト所有者が不正行為を行い、正規のdApp内で意図的に欠陥のあるスマートコントラクトを作成する可能性もあります。その後、所有者は既存のトークン承認を悪用して資金を盗む可能性があります。
無制限のトークンの承認は、契約が私のすべての資産にアクセスできることを意味しますか?
「無制限」トークンの承認を与えると、それは取引を承認した暗号通貨またはNFTコレクションにのみ適用されます。たとえば、ETHに無制限の承認を提供すると、スマートコントラクトは暗号通貨ウォレット内のすべてのETHにアクセスできます。ただし、USDTやUSDCなどの他の資産がある場合は、その資産にはアクセスできません。同様に、クリプトパンクNFTに無制限の承認を与えた場合、スマートコントラクトはそのコレクションのNFTにのみアクセスできます。
承認を取り消すのはいつですか?
トークンの承認を取り消す必要がある状況は複数あります。
そのアプリやサービスはもう使用しない
dAppの使用を停止すると、プラットフォーム上のデータ侵害などの不審なアクティビティを定期的に追跡しなくなります。したがって、使用しないdAppからのトークンの承認を制限するか取り消すことをお勧めします。ハッキング、フィッシング詐欺、その他の悪用によって資産が失われるリスクを軽減します。
スマートコントラクトにはエクスプロイトがある
スマートコントラクトには、攻撃者が悪用できるセキュリティ上の欠陥がある場合があります。たとえば、NFT取引プラットフォームであるNFTTraderは最近、攻撃者が300万ドル以上相当のNFTを盗むというセキュリティ上の脅威に直面しました。同社は古いスマートコントラクトに対する攻撃を報告し、ユーザーに対し、2つの特定のコントラクトアドレスに対するトークンの承認を取り消すよう要求した。
誤ってスマートコントラクトに接続しました
トークンの承認前に、Etherscanなどのブロックエクスプローラーでスマートコントラクトの詳細を確認する機会があります。これにより、異常なアクティビティや詐欺の可能性が明らかになります。ただし、依然として間違ったコントラクトに接続している場合は、それに気づいたらすぐにトークンの承認を取り消すことができます。
あなたは騙されました
詐欺師があなたの資金を盗んだ場合、トークンの承認を取り消してもお金を取り戻すことはできません。ただし、ハッカーがさらに盗むのを防ぐために、アクティブな承認を取り消す必要があります。トークンの承認を定期的に確認して取り消すことで、承認が悪用される可能性が減ります。
トークンを安全に承認する方法
スマートコントラクトの使用やトークン承認の割り当てに関連するすべてのリスクを手動で評価または予測することはできません。ただし、ハッキングや盗難の被害に遭う可能性を最小限に抑えるために、いくつかの安全対策を講じることはできます。
信頼できるプラットフォームでのみトークンの承認を許可する
トークンの承認は信頼できるdAppにのみ提供する必要があります。トークンを承認する前に、dAppが何を要求しているかを必ず確認してください。dAppが並外れた収益を約束したり、うますぎるようなことを約束している場合は、細心の注意を払い、ウォレットをそれに接続しないようにしてください。また、ブロックエクスプローラーでdAppの名前、URL、スマートコントラクトアドレスをクロスチェックし、見慣れないdAppに対して制限付きのトークンアクセスを提供する必要もあります。
リサーチをしてください(DYOR)
トークンを承認する前にデューデリジェンスを実行することが重要です。偽のdAppの多くには、スペルの間違い、低品質の画像やロゴ、その他の間違いなどの欠陥があります。トークンを承認する前に、徹底的なチェックを行ってください。また、懐疑的なdAppsに関するレビューやコミュニティのディスカッションを探してみることもできます。
資産を隔離する:貴重な資産を冷たく保ちます
あらゆる予防策を講じていたとしても、予期せぬスマートコントラクトの悪用により資金を失う可能性があります。すべての資産を一度に失うことを避けるために、暗号資産を複数のアカウントに分離する必要があります。たとえば、3つの異なるアカウントを持つことができます。長期的な暗号資産を保護するための保管庫として使用できます。このアカウントをスマートコントラクトに接続しないでください。その後、2番目のアカウントを使用して、信頼できるプラットフォームで資産を売買できます。そして最後に、3番目のウォレットは、特に信頼できない可能性のあるプラットフォームに接続するためのバーナーウォレットとして機能します。この設定を使用すると、長期保有資産は他の口座での承認から安全に保たれます。
忘れずに承認を取り消してください
承認の取り消しには費用がかかりますか?
トークン承認の割り当てと取り消しは両方ともオンチェーンプロセスです。つまり、トークン承認の取り消しにはガス料金が発生します。ただし、前述したような新しいブロックチェーンのアップデートでは、ガスレストークンの承認と取り消しのメカニズムに加え、承認をバッチで取り消す機能も提供されています。
イーサリアムトークンの承認を取り消す方法
Revoke.cashとEtherscanのEthereum Token Approvalツールを使用して、Ethereumトークンの承認を簡単に取り消すことができます。
Revoke.cashでトークンの承認を取り消す方法
Revoke.cashを通じてトークンを取り消すには、以下の手順に従ってください。
ステップ 1:右上隅にある「ウォレットを接続」をクリックします。あなたはできる
また、ページ上部の検索バーにウォレットアドレスを入力すると、そのアドレスに対するトークンの承認が表示されます。
ステップ 2:ネットワークおよびその他のフィルタリングオプションを選択して、アクティブな承認を確認します。
ステップ 3:使用しなくなったdAppのトークン承認を取り消すことができます。削除したい承認の横にある「取り消し」ボタンをクリックします。ウォレット内のトランザクションを確認して、取り消しを完了します。
Etherscanでトークンの承認を取り消す方法
EtherscanのEthereum Token Approvalページからトークンを取り消すには、以下の手順に従ってください。
ステップ 1:検索バーにウォレットのアドレスを入力し、検索ボタンをクリックします。アドレスに接続されているスマートコントラクトのリストが表示されます。
ステップ 2:「Web3に接続」をクリックしてWeb3ウォレットに接続します。
ステップ 3:対話したくないスマートコントラクトの[取り消し]ボタンをクリックします。ウォレット内のトランザクションを確認して、承認を取り消します。
すべてのスマートコントラクトには独自の「取り消し」ボタンがあることに注意してください。したがって、それぞれのアクセス権を個別に取り消す必要があります。
トークンの承認に関する最終的な考え
トークンの承認は、Web3ユーザーが実際に自分の資産を所有しており、これらの資産がdAppとどのようにやり取りするかについて主権のある決定を下せることを示します。ただし、それに伴うリスクはユーザーがその概念を明確に理解し、賢明に使用する場合にのみ軽減できます。
ハードウェアウォレットは秘密鍵をより安全に保護できるため便利ですが、悪意のある契約への署名から保護することはできません。そのため、暗号資産を適切に分離することが、トークン承認の潜在的なリスクから身を守る最善の方法の1つとなります。
ありがたいことに、1台のLedgerデバイスで、無制限の数のアカウントを簡単に管理できます。つまり、同じウォレット内に個別の造幣口座、取引口座、保管口座を設定し、LedgerLiveアプリでラベルを付けることができるため、口座を追跡し、貴重な資産を安全に保つことができます。
何を求めている?Ledgerエコシステムに参加すると、暗号通貨の世界が提供するすべてを探索しながら自己管理と強化されたセキュリティのメリットを享受できます。