Перейти к содержанию

Подпись разрешения ERC-2612: как проверить Nonce и крайний срок

Разрешение ERC-2612 позволяет установить авторизацию токена с подписью. В этой статье описывается поэлементная проверка Владельца, Субъекта расходов, стоимости, одноразового номера и крайнего срока.

Обновлено

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

Краткий ответ

ERC-2612 использует подпись EIP-712, чтобы установить allowance токена ERC-20 без отдельной транзакции approve. В статье описывается проверка Owner, Spender, Value, Nonce и Deadline, а затем состояния в цепочке.

После включения действительного permit контракт устанавливает allowance(owner, spender) равным value и увеличивает nonce владельца на 1. Релейер или третья сторона может отправить подпись, поэтому владельцу не нужно отправлять транзакцию или платить за неё газ. deadline проверяется только при отправке permit и не истекает автоматически для уже записанного разрешения. Пока оно не равно нулю, Spender может вызвать transferFrom в пределах лимита.

Подпись разрешения ERC-2612: как проверить Nonce и крайний срок
0 / 5
0 проверено; 5 осталось

Завершение этой проверки не доказывает безопасность актива, транзакции или системы.

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

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

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

Пример

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

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

Риски

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

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

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

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

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

Похожие темы

Источники

Навигация

Поиск по вики...