﻿---
title: "ERC-2612 ลายเซ็นใบอนุญาต: วิธีตรวจสอบ Nonce และ Deadline"
description: "ใบอนุญาต ERC-2612 อนุญาตให้คุณตั้งค่าการอนุญาตโทเค็นด้วยลายเซ็น บทความนี้จะอธิบายการตรวจสอบรายการต่อรายการของเจ้าของ ผู้ใช้จ่าย มูลค่า Nonce และกำหนดเวลา"
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 ลายเซ็นใบอนุญาต: วิธีตรวจสอบ Nonce และ Deadline

> จัดทำขึ้นเพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำการลงทุน การลงทุนอาจทำให้สูญเสียเงินลงทุนได้

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

## คำตอบโดยตรง

ERC-2612 ใช้ลายเซ็น EIP-712 เพื่อตั้งค่า `allowance` ของโทเค็น ERC-20 โดยไม่ต้องส่งธุรกรรม `approve` แยกต่างหาก บทความนี้อธิบายการตรวจสอบ Owner, Spender, Value, Nonce และ Deadline รวมถึงผลลัพธ์บนเชน

เมื่อ `permit` ที่ถูกต้องถูกขุดขึ้น สัญญาโทเค็นจะตั้งค่า `allowance(owner, spender)` เป็น `value` และเพิ่ม `nonce` ของเจ้าของขึ้น 1 รีเลเยอร์หรือบุคคลที่สามสามารถส่งลายเซ็นได้ เจ้าของจึงไม่ต้องส่งธุรกรรมหรือจ่ายแก๊สของธุรกรรมนั้น `deadline` จะถูกตรวจสอบเฉพาะตอนส่ง `permit` และไม่ทำให้ allowance ที่เขียนไว้แล้วหมดอายุโดยอัตโนมัติ ตราบใดที่ไม่เป็นศูนย์ Spender สามารถเรียก `transferFrom` ภายในวงเงินได้

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

## วิธีการทำงาน

ข้อความจะผูกกับ `owner`, `spender`, `value`, `nonce` และ `deadline`; โดเมน EIP-712 จะผูกลายเซ็นกับสัญญาโทเค็นและ chain ID ที่ถูกต้อง สัญญาจะรับลายเซ็นเมื่อ `block.timestamp <= deadline` เท่านั้น เมื่อสำเร็จจะเขียน allowance และเพิ่ม `nonce` แต่ deadline ที่ช้ากว่าไม่ลด allowance ที่เขียนไว้แล้ว หน้าอันตรายอาจเปลี่ยน Spender เป็นสัญญาโจมตี ตั้ง `value` เป็น `2^256-1` หรือกำหนด deadline ให้ไกลมาก

การดำเนินการ on-chain ควรแบ่งออกเป็นสี่เลเยอร์: อินเทอร์เฟซ กระเป๋าสินทรัพย์ดิจิทัล, การออกอากาศ RPC, การดำเนินการตามสัญญา และขั้นสุดท้ายของบล็อก ความสำเร็จของเลเยอร์ใดๆ ไม่สามารถทดแทนการยืนยันของเลเยอร์อื่นๆ ได้ ผลลัพธ์ที่แท้จริงขึ้นอยู่กับการรับธุรกรรม เหตุการณ์ การจัดเก็บสัญญา และยอดคงเหลือในเชนที่ถูกต้อง

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

## ตัวอย่าง

ผู้ใช้ต้องการอนุญาตเพียง 100 USDC แต่ `value` ที่ลงนามคือ `2^256-1` และ `deadline` อยู่ในอีก 10 ปี การเรียกที่สำเร็จจะตั้งค่าสูงสุดนี้และเพิ่ม `nonce`; แม้ธุรกรรมแรกจะโอนเพียง 100 ผู้โจมตีก็ยังโอน USDC ที่ฝากภายหลังได้ตราบใดที่ allowance ยังอยู่ เมื่อพ้นกำหนด permit ที่ยังไม่ได้ใช้จะส่งไม่ได้ แต่ allowance ที่เขียนไว้แล้วจะไม่กลายเป็น 0 โดยอัตโนมัติ ให้เพิกถอนด้วย `approve(spender, 0)` หรือการเปลี่ยนแปลงที่เชื่อถือได้

เวลาแก๊ส อัตราภาษี และเวลาบล็อกในกรณีนี้จะแสดงเฉพาะลำดับความสำคัญเท่านั้น ต้องอ่านสถานะสัญญาปัจจุบัน สภาพคล่องของพูล และการอนุญาตก่อนดำเนินการ จำนวนเงินจะบันทึกจำนวนเงินที่มนุษย์อ่านได้ ค่าเงินดอลลาร์ และจำนวนเต็มดิบแบบ on-chain พร้อมกันเพื่อหลีกเลี่ยงข้อผิดพลาดที่แม่นยำ

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

## ความเสี่ยง

เปรียบเทียบกำไรของโปรโตคอลกับการสูญเสียทางออกที่แย่ที่สุด สมมติว่า Gas ขยายตัวห้าเท่า ผลกระทบของราคาขยายสองเท่า และ สเตเบิลคอยน์ ลดราคา 5% หากเข้าร่วมเพิ่มอีก 1 วัน คุณจะไม่สามารถออกได้ หากผลตอบแทนรายสัปดาห์หรือรายเดือนไม่สามารถครอบคลุมความขัดแย้งเหล่านี้ได้ ผลตอบแทนที่สูงนั้นไม่ได้ให้ค่าตอบแทนที่เพียงพอ ความล้มเหลวของโปรโตคอลเดี่ยวใดๆ ไม่ควรทำให้ กระเป๋าสินทรัพย์ดิจิทัล ทั้งหมดไม่สามารถจ่ายแก๊สหรือโอนสินทรัพย์ได้

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

## ความเข้าใจผิดที่พบบ่อย

* ความเชื่อที่ 1: การแสดงผลส่วนหน้าคือข้อเท็จจริงในเชน ส่วนหน้าอาจถูกแคช จัดทำดัชนีล่าช้า หรือเชื่อมต่อกับเครือข่ายที่ไม่ถูกต้อง และต้องได้รับการตรวจสอบข้าม

* เรื่องที่ 2: การเพิ่มขึ้นของ Gas หรือ Slippage สามารถแก้ไขความล้มเหลวได้ Gas ส่งผลต่อการคัดแยกเท่านั้น และการเลื่อนไหลทำให้ราคาผ่อนคลายเท่านั้น ข้อผิดพลาดในการอนุญาต Nonce และเงื่อนไขสัญญาจะไม่ได้รับการซ่อมแซมโดยอัตโนมัติ

* เรื่องที่ 3: การทดสอบในจำนวนเล็กน้อยที่ประสบความสำเร็จหมายถึงความปลอดภัยถาวร การอัปเกรดผู้ดูแลระบบ พารามิเตอร์แบบไดนามิก และการเปลี่ยนแปลงสภาพคล่องจะเปลี่ยนผลลัพธ์และควรได้รับการตรวจสอบก่อนการขยายแต่ละตำแหน่ง

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

## หัวข้อที่เกี่ยวข้อง

* [EIP-712 Structured Signature](/th/crypto/eip712-typed-signature/)
* [Light node Light Client](/th/crypto/light-client/)
* [ลายเซ็น Permit2](/th/crypto/permit2-signature-risk/)
* [พื้นที่จัดเก็บสัญญาของตัวแทนขัดแย้งกัน: เหตุใดยอดคงเหลือจึงอาจเกิดความสับสนหลังจากการอัปเกรด](/th/crypto/proxy-storage-collision/)
* [การอนุญาต กระเป๋าสินทรัพย์ดิจิทัล](/th/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/th/crypto/erc2612-permit-nonce-deadline/index.mdx
