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

| Поле | Где взять | Зачем нужно | Что будет без него |
|---|---|---|---|
| Хеш операции | Окно кошелька сразу после отправки либо история адреса в обозревателе | Однозначно указывает транзакцию внутри одной сети | Операцию придётся искать по дате и сумме среди тысяч похожих |
| Идентификатор сети | Настройки сети в кошельке, страница обозревателя | Отвечает на вопрос, в каком обозревателе искать хеш | Строка не находится, и проверяющий делает вывод, что блокировки не было |
| Номер блока | Страница операции в обозревателе, поле Block | Привязывает операцию к моменту времени и к состоянию сети | Нельзя доказать, что блокировка создана до определённой даты |
| Адрес хранителя | Поле получателя вызова, вкладка с журналом событий | Указывает контракт, в котором хранится сама запись о блокировке | Хеш подтверждает отправку, но не то, кто удерживает LP-токены |
| Номер события | Журнал блока, поле с порядковым номером записи в логе | Позволяет найти нужное событие среди десятков в одной операции | В сложном вызове придётся перечитывать весь журнал заново |
Расчёт объёма записи и чего она стоит
Эти 180 знаков стоит сравнить с ценой их отсутствия. Из обращений читателей: человек заблокировал долю, через восемь месяцев решил подтвердить это партнёру и обнаружил, что в заметках остался только скриншот страницы обозревателя. Адрес страницы изменился, картинку доказательством никто не признал, а поиск по сумме дал три похожие операции. Восстановление заняло день. Запись сэкономила бы минуту.
Масштаб, в котором живут такие записи, задаёт сам рынок: по данным агрегатора DefiLlama на 17 октября 2026 года в протоколах сети Ethereum находится около 49,87 млрд долларов, в BSC — порядка 5,47 млрд. Каждая блокировка в этом объёме существует как несколько строк в журнале блока, и единственный способ связать эти строки с вашими деньгами — заранее сохранённая связка из хеша, номера блока и адреса контракта-хранителя. Других хранителей истории нет. Архив ведёте вы.
Пошаговый порядок: от окна кошелька до архива
- Скопируйте хеш из окна кошелька до его закрытия — повторно это окно не откроется.
- Запишите рядом название сети и её числовой идентификатор из настроек кошелька.
- Откройте операцию в обозревателе этой сети и перенесите в запись номер блока.
- Перейдите на вкладку журнала событий, найдите событие создания блокировки и запишите его номер.
- Скопируйте адрес контракта-хранителя из поля получателя вызова, а не со страницы проекта.
- Дождитесь метки финализации блока и поставьте в записи дату, когда вы её увидели.
Последний шаг пропускают чаще прочих. Зря. До финализации блок теоретически вытесняется из основной цепи, и тогда событие в журнале исчезает вместе с ним. В Ethereum время разделено на слоты по 12 секунд, 32 слота образуют эпоху, контрольной точкой служит первый блок эпохи — так описан механизм согласия в документации на ethereum.org, прочитанной 17 октября 2026 года. Пара контрольных точек, собравшая голоса держателей не менее двух третей заложенной ETH, переводит более раннюю из них в состояние «финализирована».
Как перечитать запись через полгода
Проверка по записи идёт в обратном порядке. Открываете обозреватель нужной сети по сохранённому идентификатору, вставляете хеш в поиск, сверяете номер блока с записанным — и лишь затем переходите к журналу, иначе легко принять похожую операцию за свою. Дальше читаете журнал по номеру события и сверяете три значения: адрес LP-токена, сумму и момент разблокировки. Если хотя бы одно расходится с тем, что вы помните, расходится не ваша память, а предположение о том, какую операцию вы подписывали.
Отдельно сверяется состояние хранителя. Оно меняется. Хеш фиксирует создание записи, но не её дальнейшую судьбу: срок мог быть продлён, запись передана другому адресу, а права на досрочный вывод у управляющего контракта остались. Поэтому к архиву добавляют результат чтения прав — об этом есть разбор о том, как проверить, кто управляет параметрами протокола. Состояние пары на дату проверки берут из контракта, как описано в материале про то, как проверить пул перед покупкой нового токена.
- Хеш скопирован целиком, включая префикс из двух знаков.
- Идентификатор сети записан числом, а не названием.
- Номер блока перенесён со страницы операции.
- Номер события в журнале найден и записан.
- Адрес хранителя взят из поля вызова.
- Метка финализации блока увидена, дата проставлена.
Сценарий, при котором запись не спасает
Хеш фиксирует факт, а не правоту. Разница существенная. Если подписан вызов стороннего контракта, который принял LP-токены и не создал записи о блокировке, в журнале это видно — и видно будет всегда. Деньги при этом не возвращаются. Вернуть их нечем. Смарт-контракт не имеет обязанного лица: ошибка кода, захват управления или подпись чужого вызова уносят сумму полностью, и ни страхование вкладов, ни правила площадки тут не работают. Доходность протокола к депозиту не приравнивается ни по механике, ни по защите.
Вторая ситуация мягче первой. Цепочка из нескольких операций — одобрение, блокировка, перенос — даёт несколько хешей, и запись имеет смысл вести списком с пометкой назначения каждого. Как считать издержки такой цепочки, разбирает материал о том, как перенести долг между протоколами и понять структуру комиссий. Итог по доходу удобнее фиксировать отдельно — этому посвящён разбор про то, как перевести доход из протокола в стейблкоин.
Частые вопросы
Где взять хеш, если окно кошелька уже закрыто?
В истории операций по вашему адресу в обозревателе выбранной сети. Отсортируйте по времени и найдите вызов нужного контракта. Кошельки тоже хранят журнал отправленных операций, но показывают его только для той сети, которая выбрана сейчас. Если сеть переключили, история предыдущей скрывается из списка.
Может ли один и тот же хеш существовать в двух сетях?
Совпадение случайной строки из 64 шестнадцатеричных знаков практически исключено. Проблема другая: обозреватель чужой сети на ваш хеш ответит «не найдено», и это читается как отсутствие операции. Поэтому идентификатор сети хранится рядом с хешем, а не в памяти.
Нужно ли сохранять подписанные данные, а не только хеш?
Для обычной операции нет: её содержимое восстанавливается из блока по хешу. Для подписей вне сети — другое дело. Такая подпись в блок не попадает, и её текст с полями домена стоит сохранить целиком: иначе доказать, что именно вы подписали, будет нечем.
Сколько хранить такую запись?
Пока существует позиция и ещё срок хранения ваших отчётных документов сверху. Запись занимает около двухсот знаков, поэтому ограничение здесь не в объёме. Удобнее держать её в том же файле, где лежат суммы и даты по позиции: при любой проверке понадобится и то, и другое одновременно, а разнесённые по разным файлам данные приходится сводить вручную.
Материалы по теме:
- Как проверить, кто управляет параметрами протокола — что может измениться после создания записи.
- Как проверить пул перед покупкой нового токена — состояние пары на дату проверки.
- Как перенести долг между протоколами и понять структуру комиссий — цепочка операций и её хеши.
- Как перевести доход из протокола в стейблкоин — фиксация итога по позиции.
Первоисточники: стандарт EIP-712 о разделителе домена и идентификаторе сети и агрегатор данных DefiLlama.
Вердикт
Хеш — указатель. Доказательством он сам не является. Доказательством он становится в связке с идентификатором сети, номером блока, адресом хранителя и номером события. Эти пять полей занимают меньше двухсот знаков и переживают любой обозреватель, тогда как скриншот не переживает даже смену адреса страницы. Привычка дописывать дату финализации обходится в минуту, а экономит день поисков — и этот день обычно наступает в самый неподходящий момент, когда подтверждение нужно показать партнёру или проверяющему.
Практику проверок и шаблоны записей для DeFi-операций публикуем в нашем Telegram-канале Cryptium.
Обсуждение
Добавить комментарий