Чтобы проверить блокировку токенов ликвидности и не подписать лишнее, научитесь различать три вида запроса: отправку операции, подпись произвольного сообщения и подпись типизированных данных. Первый тратит газ и виден в истории адреса. Третий газа не тратит, в истории не появляется — и при этом способен выдать постороннему адресу право списывать ваши LP-токены. Опасен не газ, а содержимое запроса: сумма разрешения, адрес получателя права и срок его действия.

Неограниченное разрешение — это одобрение на списание токенов с суммой в 78 цифр, предельной для 256-битного числа, которое действует до тех пор, пока владелец не обнулит его отдельной операцией.

Как проверить блокировку токенов ликвидности и не подписать лишнее: три вида запроса

Запросы различаются по последствиям. Газ тут ни при чём. Отправка операции меняет состояние сети, стоит газа и оставляет хеш. Подпись произвольного сообщения чаще нужна для входа на сайт и ничего не переводит, но прочитать её текст стоит: подпись под фразой из нескольких строк может оказаться поручением. Подпись типизированных данных — самая серьёзная: она формализована по стандарту EIP-712 и предназначена для того, чтобы кошелёк показал человеку структуру подписываемого, а не «непрозрачную шестнадцатеричную строку с минимальным контекстом», как сказано в мотивировке стандарта.

Разделитель домена в такой подписи содержит имя, версию, идентификатор сети и адрес проверяющего контракта. Последние два поля читаются первыми. Сеть не та — отказ. Адрес проверяющего контракта не совпадает с хранителем — отказ. Остальные поля без этих двух бессмысленны.

Схема из пяти проверок запроса подписи: вид запроса, адрес проверяющего контракта, получатель права, сумма разрешения, срок действия
Схема из пяти проверок запроса подписи: вид запроса, адрес проверяющего контракта, получатель права, сумма разрешения, срок действия
Вид запроса Тратит газ Видно в истории адреса Чем опасен
Отправка операции Да, списывается при включении в блок Да, появляется хеш и запись в журнале блока Вызовом не того метода: перевод вместо блокировки выглядит так же успешно
Подпись сообщения Нет Нет, подпись остаётся вне сети Текстом поручения, который сайт предъявит позже как согласие
Подпись типизированных данных Нет Нет, пока кто-то не предъявит её контракту Разрешением на списание токенов без единой операции с вашего адреса
Одобрение на сумму Да Да, видно одобрение и его размер Неограниченной суммой, которая переживёт и блокировку, и выход из пула
Разрешение на все объекты Да Да, отдельным событием в журнале Доступом ко всем позициям коллекции сразу, включая будущие

Что означает неограниченное разрешение в числах

Предельная сумма разрешения в стандарте токенов — 115 792 089 237 316 195 423 570 985 008 687 907 853 269 984 665 640 564 039 457 584 007 913 129 639 935 единиц, то есть 78 цифр. При восемнадцати знаках после запятой это больше 10 в 59-й степени токенов. Запас LP-токенов пары в условном примере — 1 000 000 единиц. Разрешение покрывает его в 10 в 53-й степени раз, то есть навсегда и с избытком.

Арифметика объясняет суть претензии. Счёт короткий. Разрешение на сумму вашей блокировки заканчивается вместе с ней. Неограниченное не заканчивается никогда: по тексту стандарта ERC-20 одобрение «позволяет получателю списывать с вашего счёта многократно, в пределах указанной суммы», а повторный вызов перезаписывает прежнее значение. Формулировка прочитана в тексте стандарта 17 октября 2026 года. Значит, выданное право живёт до вашей собственной операции обнуления — и распространяется на LP-токены, которые вы внесёте в пул через год.

Масштаб ставки задаёт рынок: по данным агрегатора DefiLlama на 17 октября 2026 года в протоколах сети Ethereum находится около 49,87 млрд долларов, в BSC — порядка 5,47 млрд. Выданные и забытые разрешения образуют отдельный слой этого объёма, невидимый в балансе кошелька: баланс показывает, чем вы владеете, но не показывает, кому вы раньше разрешили это забрать.

Подпись, которая работает вместо операции

Отдельного разговора стоит разрешение по подписи. Стандарт EIP-2612 описывает функцию с полями владельца, получателя права, суммы, счётчика защиты от повтора и срока годности. Подпись создаётся вне сети, а предъявить её контракту вправе любой: «вызывающим функцию может быть любой адрес», говорит текст стандарта. Расход газа ложится на предъявителя, и в истории вашего адреса операции не появляется вовсе.

Практический вывод жёсткий. Газ не защищает. Отсутствие газа — не признак безопасности, а признак того, что следов не останется. Подписи такого вида встречаются в маршрутизаторах обмена, где заменяют отдельное одобрение; как считать издержки в этих маршрутах, разбирает материал про то, как пользоваться агрегатором маршрутов обмена и понять структуру комиссий.

Срок годности в поле подписи — ваш главный ограничитель. Двадцать минут закрывают риск почти полностью: подпись устареет раньше, чем ею успеют распорядиться. Срок в год равносилен неограниченному разрешению, выданному тихо. Если поле срока в окне не показано, подписывать нечего.

Порядок чтения запроса перед подписью

  1. Определите вид запроса: операция, сообщение или типизированные данные — кошелёк называет их по-разному, но различает всегда.
  2. Прочитайте идентификатор сети и адрес проверяющего контракта в разделителе домена.
  3. Сверьте адрес получателя права с адресом контракта-хранителя из обозревателя блоков.
  4. Посмотрите сумму: 78 цифр или слово «неограниченно» означают одно и то же.
  5. Найдите поле срока и переведите его из секунд в календарное время.
  6. Откажитесь от подписи, если расшифровки метода нет и видны только сырые данные.

Шестой пункт недооценивают. Зря. Подпись вслепую, когда кошелёк не смог разобрать структуру данных, — согласие с содержимым, которого вы не видели. Отказ ничего не стоит: сайт получит ошибку и предложит снова. Повторное предложение — нормальное поведение интерфейса, а не наказание за осторожность, и из обращений читателей видно, что именно страх «сломать процесс отказом» заставляет людей подписывать непонятное.

  • Вид запроса определён до нажатия кнопки.
  • Идентификатор сети в домене совпал с рабочей сетью.
  • Адрес проверяющего контракта сверен с обозревателем.
  • Сумма разрешения ограничена суммой блокировки.
  • Срок годности подписи не превышает часа.
  • Остаток прежних разрешений на LP-токены проверен.

Сценарий, при котором теряется позиция целиком

В протоколах концентрированной ликвидности позиция поставщика — не взаимозаменяемый токен, а отдельный объект коллекции со своим диапазоном цен. Разрешение здесь выдаётся не на сумму, а на распоряжение всеми объектами коллекции сразу, включая те, которые появятся позже. Одна подпись — и доступ открыт ко всему набору позиций разом, причём сумма в таком разрешении не указывается вовсе, поэтому ограничить его величиной одной блокировки технически нечем. Устройство таких позиций разбирает материал о том, как выбрать диапазон в пуле концентрированной ликвидности.

Из обращений читателей известен и более обыденный сюжет. Человек выдал неограниченное разрешение полтора года назад ради одной блокировки, протокол с тех пор обновился, адрес получателя права остался прежним. Разрешение никуда не делось. Оно действует. Потеря средств в смарт-контракте необратима: ошибка кода, захват управления или подпись чужого вызова уносят сумму полностью, и компенсации нет ни по закону, ни по правилам площадки. Доходность протокола к банковскому вкладу не приравнивается: у вклада есть обязанное лицо и страхование, у контракта нет ни того, ни другого. Проверять состояние пары перед каждой подписью помогает разбор про то, как проверить пул перед покупкой нового токена, а фиксацию результата — материал о том, как перевести доход из протокола в стейблкоин.

Частые вопросы

Чем подпись без газа опаснее обычной операции?

Тем, что не оставляет следа в истории вашего адреса. Операция видна по хешу и в журнале блока, подпись вне сети не видна нигде, пока её кто-нибудь не предъявит контракту. Предъявить вправе любой адрес, а газ заплатит он же. Проверить такое разрешение можно только чтением остатка в контракте токена.

Нужно ли ограничивать сумму разрешения точным числом?

Да, и считать её по сумме операции. Разрешение на 620 000 LP-токенов закрывает одну блокировку и заканчивается вместе с ней. Неограниченное покрывает любые будущие поступления на тот же адрес. Разница в удобстве — одна лишняя операция при следующей блокировке, и это дешёвая страховка.

Как снять уже выданное разрешение?

Обнулением суммы в контракте самого токена. Это операция в сети, она стоит газа, и выполнить её может только владелец адреса. Отключение сайта в кошельке разрешения не снимает: подключение живёт в расширении, а разрешение — в контракте. Проверяйте остаток чтением соответствующего поля.

Что делать, если кошелёк показывает только сырые данные?

Отказаться от подписи. Нерасшифрованный вызов означает, что кошелёк не знает структуры запроса, и прочитать его содержимое человеку нечем. Иногда помогает открыть тот же вызов на странице контракта в обозревателе и сравнить метод. Если сходства нет, запрос подписывать нельзя.

Материалы по теме:

Первоисточники: стандарт EIP-2612 о разрешении по подписи и агрегатор данных DefiLlama.

Вердикт

Опасность запроса подписи не в сложности, а в краткости вашего взгляда на него. Пять полей решают дело: вид запроса, сеть, проверяющий контракт, получатель права, сумма со сроком. Неограниченное разрешение — не удобство, а бессрочная доверенность на все будущие поступления, и выдаётся она за одно нажатие. Отказ от подписи не стоит ничего, а разрешение, выданное на минуту внимания, живёт годами.

Разборы запросов подписи и свежие схемы обмана публикуем в нашем Telegram-канале Cryptium.