Comparisons

Nghiên cứu đã kiểm chứng nguồn: Permit2 VS Token Approval

6 phút

Nội dung bài viết đang hiển thị bằng bản gốc tiếng Anh đã xác minh. Bản dịch sẽ được thêm sau khi rà soát nguồn.

Verified Fact Boundary

1. Uniswap Permit2 documentation describes two modules: SignatureTransfer for signature-based one-time transfers and AllowanceTransfer for amount-and-duration permissions. 2. Uniswap AllowanceTransfer documentation says its approve function includes token, spender, amount and expiration parameters. 3. Uniswap Permit2 documentation says users still need a one-time standard ERC-20 approval of the Permit2 contract before Permit2 can move a token. 4. Uniswap SignatureTransfer documentation describes one-time permissions that are signed and consumed without leaving a standing allowance. 5. EIP-2612 defines a token-native permit function that modifies allowance through a signed message instead of msg.sender. 6. A wallet safety checklist should not treat Permit2 expiration, token-contract revoke and EIP-2612 permit as the same control.

Thu gọn

Decision Matrix

Bảng trong bài viết: cuộn ngang hoặc đặt tiêu điểm vào vùng bảng và dùng các phím mũi tên.

CheckWhat it meansPractical actionUnknown to keep explicit
Permission layerPermit2, token approval and token-native permit sit at different permission layersname the layer before signing or revokingwallet UI labels that collapse multiple layers into one approval screen
Spender identitythe spender can be Permit2, a router, a protocol contract or another addressrecord token, spender and contract address from the official flowspoofed spender names in wallet prompts
Amount and expiryAllowanceTransfer carries amount and expiration controls while some token approvals are open-endedprefer bounded amount and expiration when the workflow supports itfuture dapp compatibility when an old allowance is reduced
Nonce and replaysignature permissions depend on nonce and deadline semanticstreat nonce, deadline and spender as part of the evidence recordcross-wallet presentation of signed-data details
Revoke costexpiring or reducing permission can require a different action depending on whether the flow is Permit2 or token-nativechange only the specific spender, token and allowance layer that the evidence identifiesgas cost and wallet UX during urgent incident response
Incident responsecompromised wallet response is broader than a single allowance adjustmentseparate allowance reduction, asset migration, device cleanup and support evidencewhether a private key or seed phrase is already exposed
Stop rulesigning should pause when layer, spender, amount or expiry cannot be verifiedstop before blind-signing typed data or approving max allowancewallet extensions that omit structured fields

Source Map

Control Notes

1. Permission layer

Permission layer is the decision point where public documentation must become an operating rule. In this package, it means Permit2, token approval and token-native permit sit at different permission layers. The practical action is to name the layer before signing or revoking. The unresolved edge is wallet UI labels that collapse multiple layers into one approval screen, so the article keeps that edge explicit instead of turning it into a reward claim, licensing claim, approval claim, recovery guarantee, price implication, settlement guarantee or platform ranking.

2. Spender identity

Spender identity is the decision point where public documentation must become an operating rule. In this package, it means the spender can be Permit2, a router, a protocol contract or another address. The practical action is to record token, spender and contract address from the official flow. The unresolved edge is spoofed spender names in wallet prompts, so the article keeps that edge explicit instead of turning it into a reward claim, licensing claim, approval claim, recovery guarantee, price implication, settlement guarantee or platform ranking.

The operating test is also narrow. A public page can prove public wording.

3. Amount and expiry

Amount and expiry is the decision point where public documentation must become an operating rule. In this package, it means AllowanceTransfer carries amount and expiration controls while some token approvals are open-ended. The practical action is to prefer bounded amount and expiration when the workflow supports it. The unresolved edge is future dapp compatibility when an old allowance is reduced, so the article keeps that edge explicit instead of turning it into a reward claim, licensing claim, approval claim, recovery guarantee, price implication, settlement guarantee or platform ranking.

The operating test is also narrow. A public page can prove public wording.

4. Nonce and replay

Nonce and replay is the decision point where public documentation must become an operating rule. In this package, it means signature permissions depend on nonce and deadline semantics. The practical action is to treat nonce, deadline and spender as part of the evidence record. The unresolved edge is cross-wallet presentation of signed-data details, so the article keeps that edge explicit instead of turning it into a reward claim, licensing claim, approval claim, recovery guarantee, price implication, settlement guarantee or platform ranking.

The operating test is also narrow. A public page can prove public wording.

5. Revoke cost

Revoke cost is the decision point where public documentation must become an operating rule. In this package, it means expiring or reducing permission can require a different action depending on whether the flow is Permit2 or token-native. The practical action is to change only the specific spender, token and allowance layer that the evidence identifies. The unresolved edge is gas cost and wallet UX during urgent incident response, so the article keeps that edge explicit instead of turning it into a reward claim, licensing claim, approval claim, recovery guarantee, price implication, settlement guarantee or platform ranking.

The operating test is also narrow. A public page can prove public wording.

6. Incident response

Incident response is the decision point where public documentation must become an operating rule. In this package, it means compromised wallet response is broader than a single allowance adjustment. The practical action is to separate allowance reduction, asset migration, device cleanup and support evidence. The unresolved edge is whether a private key or seed phrase is already exposed, so the article keeps that edge explicit instead of turning it into a reward claim, licensing claim, approval claim, recovery guarantee, price implication, settlement guarantee or platform ranking.

The operating test is also narrow. A public page can prove public wording.

7. Stop rule

Stop rule is the decision point where public documentation must become an operating rule. In this package, it means signing should pause when layer, spender, amount or expiry cannot be verified. The practical action is to stop before blind-signing typed data or approving max allowance. The unresolved edge is wallet extensions that omit structured fields, so the article keeps that edge explicit instead of turning it into a reward claim, licensing claim, approval claim, recovery guarantee, price implication, settlement guarantee or platform ranking.

The operating test is also narrow. A public page can prove public wording.

Known Unknowns

  • wallet UI labels that collapse multiple layers into one approval screen
  • spoofed spender names in wallet prompts
  • future dapp compatibility when an old allowance is reduced
  • cross-wallet presentation of signed-data details
  • gas cost and wallet UX during urgent incident response
  • whether a private key or seed phrase is already exposed
  • wallet extensions that omit structured fields

Practical Takeaway

Permit2 and standard ERC-20 approval revokes solve different wallet-control problems. Uniswap documentation says Permit2 combines SignatureTransfer and AllowanceTransfer, with one-time signatures, time-bound allowances and per-spender permissions after an initial token approval. EIP-2612 separately defines a token-native permit method that changes allowance through a signed message. The decision outcome is to identify whether the user is managing a Permit2 permission, a token-contract allowance or an EIP-2612 token-native permit, then record spender, token, amount, expiry, nonce and adjustment cost before signing or revoking anything. The article stops at the evidence boundary. It helps the reader decide what to inspect next without converting public documentation into a promise that a private account, wallet, callback, policy framework, settlement route or liquidity position will work under every future condition.

Nguồn

04
  1. Uniswap DevelopersPermit2 Overview
  2. Uniswap DevelopersAllowance Transfer
  3. Uniswap DevelopersSignature Transfer
  4. Ethereum Improvement ProposalsERC-2612: Permit Extension for EIP-20 Signed Approvals