﻿---
title: "ERC-2612 Permit簽章：Nonce與Deadline怎麼核對"
description: "ERC-2612 Permit允許用簽章設定代幣授權。本文說明Owner、Spender、Value、Nonce與Deadline的逐項檢查。"
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ERC-2612 Permit簽章：Nonce與Deadline怎麼核對

> 僅供教育參考，不構成投資建議；投資可能產生損失。

<a id="answer"></a>

## 直接答案

ERC-2612使用EIP-712簽章設定ERC-20代幣的`allowance`，不必另外發送`approve`交易。本文說明如何檢查Owner、Spender、Value、Nonce、Deadline，並核對鏈上結果。

有效的`permit`上鏈成功後，代幣合約會將`allowance(owner, spender)`設為`value`，並把所有者的`nonce`加 1。中繼者或第三方可以提交簽章，因此所有者不必發送交易或支付這筆交易的Gas。`deadline`只在提交`permit`時檢查，不會讓已寫入的額度自動到期。只要額度不為 0，Spender就能在額度內呼叫`transferFrom`。

<a id="mechanism"></a>

## 機制

訊息綁定`owner`、`spender`、`value`、`nonce`和`deadline`；EIP-712域會把簽章綁定到正確的代幣合約和鏈ID。合約只在`block.timestamp <= deadline`時接受；成功後寫入額度並將`nonce`加1，但較晚的截止時間不會縮短已寫入的額度。惡意頁面可能把Spender換成攻擊合約，將`value`設為`2^256-1`，或把deadline設得很遠。

鏈上操作應分為錢包介面、RPC廣播、合約執行和區塊最終性四層。任何一層顯示成功都不能取代其他層核驗。真實結果以正確鏈上的交易回執、事件、合約儲存和餘額為準。

<a id="example"></a>

## 例子

使用者只想授權 100 USDC，但簽署的`value`是`2^256-1`，`deadline`在十年後。成功呼叫會寫入這個最大額度並將`nonce`加 1；即使第一次交易只轉出 100，只要額度仍在，攻擊者以後仍能轉走新存入的USDC。截止時間過後，未使用的permit不能再提交，但已寫入的額度不會自動變成 0。應透過`approve(spender, 0)`或其他可信的額度變更撤銷。

案例中的Gas、稅率和區塊時間只顯示數量級。操作前必須讀取目前合約狀態、池內流動性和權限。金額同時記錄人類可讀數量、美元價值和鏈上原始整數，避免精確度錯誤。

<a id="risks"></a>

## 風險

把協議收益與最壞退出損失比較。假設Gas擴大五倍、價格衝擊擴大兩倍、穩定幣折價5%，再加入一天無法退出。若一週或一個月收益無法覆蓋這些摩擦，所謂高收益並沒有提供足夠補償。任何單一協議故障都不應讓整個錢包失去支付Gas或轉移資產的能力。

<a id="misconceptions"></a>

## 常見誤區

- 迷思1：前端顯示就是鏈上事實。 前端可能快取、索引延遲或連接錯誤網絡，必須交叉驗證。

- 迷思2：提高Gas或滑點能解決任何失敗。 Gas只影響排序，滑點只放寬價格；權限、Nonce和合約條件錯誤不會自動修復。

- 迷思3：小額測試成功就永久安全。 管理者升級、動態參數和流動性變化會改變結果，每次擴大部位前都要重複檢查。

<a id="related"></a>

## 相關主題

- [EIP-712結構化簽名](/zh-tw/crypto/eip712-typed-signature/)
- [輕節點Light Client](/zh-tw/crypto/light-client/)
- [Permit2簽名](/zh-tw/crypto/permit2-signature-risk/)
- [代理合約儲存衝突：升級後餘額為何可能錯亂](/zh-tw/crypto/proxy-storage-collision/)
- [錢包授權](/zh-tw/crypto/wallet-approval/)

<a id="sources"></a>

## 來源

- [ERC-2612: Permit Extension for EIP-20 Signed Approvals](https://eips.ethereum.org/EIPS/eip-2612) - Ethereum Improvement Proposals (accessed: 2026-07-28)
- [EIP-712: Typed structured data hashing and signing](https://eips.ethereum.org/EIPS/eip-712) - Ethereum Improvement Proposals (accessed: 2026-07-28)

Source: https://wiki.fcontext.com/zh-tw/crypto/erc2612-permit-nonce-deadline/index.mdx
