﻿---
title: "Подпись разрешения ERC-2612: как проверить Nonce и крайний срок"
description: "Разрешение ERC-2612 позволяет установить авторизацию токена с подписью. В этой статье описывается поэлементная проверка Владельца, Субъекта расходов, стоимости, одноразового номера и крайнего срока."
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 и крайний срок

> Только в образовательных целях; не является инвестиционным советом или инвестиционной рекомендацией. Инвестиции могут привести к убыткам.

<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` и не истекает автоматически для уже записанного разрешения. Пока оно не равно нулю, Spender может вызвать `transferFrom` в пределах лимита.

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

## Как это работает

Сообщение связывает `owner`, `spender`, `value`, `nonce` и `deadline`; домен EIP-712 связывает подпись с нужным контрактом токена и ID цепочки. Контракт принимает её только при `block.timestamp <= deadline`; после успеха записывает allowance и увеличивает `nonce`, но более поздний срок не уменьшает уже записанное разрешение. Вредоносная страница может заменить Spender атакующим контрактом, установить `value` равным `2^256-1` или отодвинуть срок далеко.

Операции внутри цепочки следует разделить на четыре уровня: интерфейс кошелька, трансляция RPC, выполнение контракта и завершенность блока. Успех любого уровня не может заменить проверку других уровней. Реальные результаты основаны на поступлениях транзакций, событиях, хранении контрактов и остатках в правильной цепочке.

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

## Пример

Пользователь хочет разрешить только 100 USDC, но подписанный `value` равен `2^256-1`, а `deadline` наступает через 10 лет. Успешный вызов устанавливает этот максимум и увеличивает `nonce`; даже если сначала переведено только 100, злоумышленник сможет позже перевести внесённые USDC, пока allowance существует. После срока неиспользованный permit нельзя отправить, но записанный allowance не становится автоматически 0. Отмените его через `approve(spender, 0)` или другое доверенное изменение.

Газ, налоговая ставка и время блокировки в данном случае показывают лишь порядки величин. Текущий статус контракта, ликвидность пула и разрешения необходимо прочитать перед началом работы. Суммы одновременно записывают удобочитаемые суммы, долларовые значения и необработанные целые числа в цепочке, чтобы избежать ошибок точности.

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

## Риски

Сравните выгоды протокола с потерями на выходе в худшем случае. Предположим, что газ увеличивается в пять раз, влияние на цену увеличивается в два раза, а стейблкоин дисконтируется на 5 %. Если вы присоединитесь еще на один день, вы не сможете выйти. Если еженедельные или ежемесячные доходы не могут покрыть эти трения, так называемые высокие доходы не обеспечивают адекватной компенсации. Любой сбой одного протокола не должен привести к тому, что весь кошелек станет неспособным оплачивать газ или передавать активы.

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

## Распространённые заблуждения

- Миф 1: Фронтальный дисплей — это факт на цепочке. Внешний интерфейс может быть кэширован, проиндексирован с опозданием или подключен к неправильной сети и должен пройти перекрестную проверку.

- Миф 2: Увеличение газа или проскальзывания может решить любую поломку. Газ влияет только на сортировку, а проскальзывание только снижает цену; Ошибки разрешений, Nonce и условий контракта не будут автоматически исправлены.

- Миф 3: Успешное тестирование небольшого объема означает постоянную безопасность. Обновления администратора, динамические параметры и изменения ликвидности изменят результаты, и их следует проверять перед каждым расширением позиции.

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

## Похожие темы

- [Структурированная подпись EIP-712](/ru/crypto/eip712-typed-signature/)
- [Легкий узел Легкий клиент](/ru/crypto/light-client/)
- [Подпись разрешения 2](/ru/crypto/permit2-signature-risk/)
- [Конфликт хранилища контракта агента: почему может сбиться баланс после обновления](/ru/crypto/proxy-storage-collision/)
- [Авторизация кошелька](/ru/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/ru/crypto/erc2612-permit-nonce-deadline/index.mdx
