EIP‑2612 Permitとは、ERC‑20 トークンに対する承認(approve)をオフチェーンで署名し、オンチェーンで検証して実行できるようにする標準規格である。
概要

従来の ERC‑20 では、トークン保有者が他者に転送権限を与えるために approve トランザクションを発行し、その後別途 transferFrom を呼び出す必要があった。これには2つのガスコストとユーザー操作が伴い、特に DeFi で頻繁に発生する「承認+転送」のパターンは手間が大きくなっていた。
EIP‑2612 はこの課題を解決すべく策定された。署名済みメッセージ(Permit)をスマートコントラクトへ送信し、承認と転送の両方を一度に実行できるようにすることで、ユーザーはガス代の支払いを回避できる。また、オフチェーン署名は取引の前に確認できるため、UX が向上した。
役割と機能

Permit の主な機能は「gasless approval」です。トークン保有者は自分の秘密鍵で permit メッセージを署名し、それを任意のアプリケーションへ送信するだけで、スマートコントラクト側が承認と転送を同時に処理します。
- 取引前確認:ユーザーは自分のウォレットから署名した内容を確認できるため、不正なトランザクションを防止。
- 一括実行:approve と transferFrom を分離する必要がなく、DApp での操作回数を削減。
- nonce 管理:各 Permit にユニークな nonce が付与されるため、重複送信や replay 攻撃に対して耐性。
- 有効期限:署名時に deadline を設定でき、古い署名の利用を制限。
これらは主に DeFi プロトコル(レンディング、スワップ、流動性供給)や DEX で採用されており、ユーザーがウォレットから直接ガス代を払わずに取引できるようになっている。
特徴

- EIP‑712 形式:署名は EIP‑712 の型付きデータ構造に準拠しているため、メッセージの整合性が保証される。
- 非同期実行:オフチェーンで署名した後、任意のタイミングでオンチェーンへ送信できる。
- 互換性:ERC‑20 の既存インタフェースに
permit関数を追加するだけで動作し、他のスマートコントラクトは変更不要。 - 低リスク設計:nonce と deadline により重複送信や期限切れの利用が防止される。
これらの特徴により、Permit は従来の承認フローを大幅に簡素化し、ユーザー体験と取引効率を向上させている。
現在の位置づけ

EIP‑2612 Permit は Ethereum エコシステムで広く採用されており、多数の ERC‑20 トークンがこの機能を実装している。DeFi プラットフォームは Permit を利用した「gasless」取引を標準化し、ユーザーに対するフロントエンド体験の向上を図っている。
Layer‑2 ソリューション(Optimistic Rollup, zk‑Rollup)でも Permit がサポートされており、スケーラビリティと低コスト取引が両立できる環境が整いつつある。
規制面では、Permit による署名は従来のトランザクションと同等に扱われ、KYC や AML の観点から追加的な要件は課されていない。ただし、セキュリティ上は nonce 管理や期限設定を正しく実装する必要がある。
近年は「gasless」取引の需要増加とともに Permit を活用した新規プロトコルが登場しており、今後もエコシステム全体での採用拡大が見込まれる。
続きを読むには確認が必要です

