-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
ERC-20 トークンの「承認と転送」フローとは何ですか?またそのリスクは何ですか?
The ERC-20 approve and transferFrom functions enable secure token spending by third-party dApps, but unlimited approvals can pose risks if contracts are compromised.
2025/11/20 03:20
Approve および TransferFrom メカニズムを理解する
1. ERC-20 標準は、イーサリアムベースのトークンの一連のルールを定義し、分散アプリケーション間の相互運用性を可能にします。その機能の中で、 approveとtransferFrom は、サードパーティ契約によるユーザー資金の管理を可能にする上で重要な役割を果たします。
2. ユーザーが DeFi プラットフォームと対話したいとき (分散型取引所でトークンを交換するなど)、最初にトークン コントラクトの承認関数を呼び出す必要があります。このアクションにより、特定のスマート コントラクトに、定義された量のユーザーのトークンを使用する権限が付与されます。
3. 承認後、ユーザーはサービス契約に対するアクションをトリガーし、 transferFromを呼び出して、承認されたトークンをユーザーのウォレットから自分自身または別の宛先に移動します。この 2 段階のプロセスにより承認と実行が分離され、資金移動の制御が強化されます。
4. 承認関数は、支出者のアドレス (支出が許可された契約) と支出が許可されたトークンの数という 2 つのパラメータを取ります。この許可は一度実行されると、変更またはリセットされるまでアクティブのままになります。
5. このメカニズムにより、ユーザーが各トランザクションの前にトークンを手動で送信する必要がなく、ウォレットと dApp 間のシームレスな統合が可能になり、イールド ファーミングや流動性プールなどの自動化された環境でのユーザー エクスペリエンスが向上します。
無制限の手当に伴うリスク
1. ユーザーが大量または無制限のトークンを承認すると、大きなリスクが発生します。悪意のある契約または侵害された契約が承認された場合、複数の transferFrom 呼び出しを使用していつでも承認された残高全体を排出することができます。
2. 一部の dApp は、トランザクションの繰り返しを避けるために無限の承認を要求しますが、この利便性により長期にわたる危険にさらされます。 dApp が最初は安全であっても、将来のアップデートや悪用により、不正な引き出しが可能になる可能性があります。
3. ユーザーは、トークン契約に保存されている既存の承認を見落とすことがよくあります。これらの残留許可は対話が終了した後も存続し、秘密鍵が侵害されたり、プラットフォーム間で再利用されたりすると、攻撃ベクトルが作成されます。
4. フィッシング攻撃は、ユーザーをだまして正規のサービスを装った悪意のある契約を承認させることで、この動作を悪用することがよくあります。承認されると、攻撃者は直ちに transferFrom 呼び出しを開始するか、適切な瞬間を待ちます。
5. 許容値を手動でゼロに設定すること以外に、取り消しメカニズムが組み込まれていません。多くのユーザーは、未使用の承認を監査またはキャンセルするためのツールを認識していないため、サイレントエクスプロイトに対して脆弱なままになっています。
セキュリティのベスト プラクティスと緩和戦略
1. 無制限のアクセスを許可するのではなく、常に必要最小限の量を承認します。これにより、承認された契約が危険であることが判明した場合の潜在的な損失が制限されます。
2. ブロックチェーン エクスプローラーまたは専用のセキュリティ ダッシュボードを使用して、アクティブなトークンの承認を定期的に確認します。直接トランザクションを通じて不要な権限を取り消し、危険にさらされることを減らします。
3. 現在の許容量の表示や失効プロセスの簡素化など、承認管理機能を提供するウォレットを使用します。これらのツールは、委任された支出権限の可視性と制御を強化します。
4. 不明な契約や未監査の契約とのやり取りは避けてください。トークンの転送を承認する前に、コミュニティ チャネル、監査レポート、コードの透明性を通じて dApps の正当性を検証します。
5. ERC-777 などの代替トークン標準や、基本的な ERC-20 実装では利用できないオペレーター制御やキャンセルメカニズムなど、改良された安全性モデルを提供するメタトランザクション システムの使用を検討します。
よくある質問
詐欺契約を承認するとどうなりますか?悪意のある契約を承認すると、transferFrom 関数を使用して、承認された金額までいつでもウォレットから引き出すことができます。即時取り消しによりさらなる流出は止まる可能性がありますが、すでに送金された資金を取り戻すことはできません。
私の承認なしに誰かが私のトークンを盗むことはできますか?いいえ。最初にapproveを呼び出さないと、外部コントラクトはユーザーに代わってtransferFromを呼び出すことができません。特定のアドレスに明示的に使用許可を付与しない限り、トークンは安全なままです。
承認を取り消すにはどうすればよいですか?支出者の許容量をゼロに戻すトランザクションをトークン コントラクトに送信することで、承認を取り消すことができます。これにはガス料金の支払いが必要ですが、その特定の契約に伴うリスクはなくなります。
ERC-20 の承認はすべて危険ですか?本質的にはそうではありません。このメカニズム自体は DeFi 機能の基礎です。リスクは、支出者契約の信頼性と承認された金額によって異なります。十分な情報に基づいて慎重に使用することで、潜在的な危害を最小限に抑えます。
免責事項:info@kdj.com
提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。
このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。
- リップル、銀行、現金: デジタル財務革命とワシントンの新たな青写真
- 2026-01-31 22:40:02
- ビットコインの危険行為: レバレッジ比率の急上昇、ボラティリティが地平線に迫っている
- 2026-01-31 22:20:02
- Spur ProtocolのSONトークン:上場騒動とその不透明な価格見通し
- 2026-01-31 22:15:04
- 機関投資家が数十億ドルを引き出す中、ビットコイン価格の内訳が迫る:BTCは重大な岐路に直面している
- 2026-01-31 22:10:07
- Tria Airdrop の第 2 幕: シーズン 2 がキックオフ、XP の詳細が明らかに
- 2026-01-31 22:05:08
- 銀の清算で眉毛が上がった:何が起こったのか、そしてそれが何を意味するのか
- 2026-01-31 22:00:07
関連知識
LayerZero コントラクトを使用してクロスチェーン メッセージを実行するにはどうすればよいですか?
2026-01-18 13:19:39
LayerZero アーキテクチャを理解する1. LayerZero は、信頼できる仲介者やラップされた資産に依存せずにブロックチェーン間の通信を可能にする、軽量で許可のない相互運用性プロトコルとして動作します。 2. 各チェーンに展開されたウルトラ ライト ノード (ULN) を利用して、ブロック...
安全な署名検証のために EIP-712 を実装するにはどうすればよいですか?
2026-01-20 22:20:26
EIP-712 の概要と主な目的1. EIP-712 は、イーサリアム アプリケーションにおける型付き構造化データのハッシュと署名の標準を定義します。 2. これにより、ウォレットは、署名リクエスト中に未加工の 16 進文字列の代わりに人間が判読できるドメインおよびメッセージ フィールドを表示できる...
新しい契約を交わしてエアドロップの資格を得るにはどうすればよいですか?
2026-01-24 21:00:23
契約のやり取りの要件を理解する1. ほとんどのエアドロップ キャンペーンでは、Ethereum、Arbitrum、Base などのサポートされているブロックチェーンにデプロイされたスマート コントラクトとの直接対話が義務付けられています。 2. インタラクションには通常、dApp インターフェースに...
スマート コントラクトのセキュリティ アラートを監視するにはどうすればよいですか?
2026-01-21 07:59:57
オンチェーン監視ツール1. Etherscan や Blockscout などのブロックチェーン エクスプローラーを使用すると、コントラクト バイトコード、トランザクション ログ、内部呼び出しをリアルタイムで検査できます。 2. オンチェーンデータを信頼する前に、契約の検証ステータスを確認する必要が...
自動支払いのための契約を設定して資金を調達するにはどうすればよいですか?
2026-01-26 08:59:35
スマートコントラクトの展開を理解する1. 開発者は、ガス効率とセキュリティ要件に基づいて、Ethereum、Polygon、Arbitrum などの互換性のあるブロックチェーン プラットフォームを選択する必要があります。 2. Solidity は、特に定期的な送金や条件付き送金の場合、支払い自動化...
OpenZeppelin コントラクトを使用して安全な dApp を構築するにはどうすればよいですか?
2026-01-18 11:19:49
OpenZeppelin コントラクトの基礎を理解する1. OpenZeppelin Contracts は、イーサリアムおよび EVM 互換ブロックチェーン用に構築された、再利用可能なコミュニティ監査済みのスマート コントラクト コンポーネントのライブラリです。 2. ライブラリ内の各コントラクト...
LayerZero コントラクトを使用してクロスチェーン メッセージを実行するにはどうすればよいですか?
2026-01-18 13:19:39
LayerZero アーキテクチャを理解する1. LayerZero は、信頼できる仲介者やラップされた資産に依存せずにブロックチェーン間の通信を可能にする、軽量で許可のない相互運用性プロトコルとして動作します。 2. 各チェーンに展開されたウルトラ ライト ノード (ULN) を利用して、ブロック...
安全な署名検証のために EIP-712 を実装するにはどうすればよいですか?
2026-01-20 22:20:26
EIP-712 の概要と主な目的1. EIP-712 は、イーサリアム アプリケーションにおける型付き構造化データのハッシュと署名の標準を定義します。 2. これにより、ウォレットは、署名リクエスト中に未加工の 16 進文字列の代わりに人間が判読できるドメインおよびメッセージ フィールドを表示できる...
新しい契約を交わしてエアドロップの資格を得るにはどうすればよいですか?
2026-01-24 21:00:23
契約のやり取りの要件を理解する1. ほとんどのエアドロップ キャンペーンでは、Ethereum、Arbitrum、Base などのサポートされているブロックチェーンにデプロイされたスマート コントラクトとの直接対話が義務付けられています。 2. インタラクションには通常、dApp インターフェースに...
スマート コントラクトのセキュリティ アラートを監視するにはどうすればよいですか?
2026-01-21 07:59:57
オンチェーン監視ツール1. Etherscan や Blockscout などのブロックチェーン エクスプローラーを使用すると、コントラクト バイトコード、トランザクション ログ、内部呼び出しをリアルタイムで検査できます。 2. オンチェーンデータを信頼する前に、契約の検証ステータスを確認する必要が...
自動支払いのための契約を設定して資金を調達するにはどうすればよいですか?
2026-01-26 08:59:35
スマートコントラクトの展開を理解する1. 開発者は、ガス効率とセキュリティ要件に基づいて、Ethereum、Polygon、Arbitrum などの互換性のあるブロックチェーン プラットフォームを選択する必要があります。 2. Solidity は、特に定期的な送金や条件付き送金の場合、支払い自動化...
OpenZeppelin コントラクトを使用して安全な dApp を構築するにはどうすればよいですか?
2026-01-18 11:19:49
OpenZeppelin コントラクトの基礎を理解する1. OpenZeppelin Contracts は、イーサリアムおよび EVM 互換ブロックチェーン用に構築された、再利用可能なコミュニティ監査済みのスマート コントラクト コンポーネントのライブラリです。 2. ライブラリ内の各コントラクト...
すべての記事を見る














