[{"data":1,"prerenderedAt":19},["ShallowReactive",2],{"blog-content-ru-token-approvals-and-permit-explained":3},{"slug":4,"title":5,"excerpt":6,"description":7,"bodyHtml":8,"faqItems":9},"token-approvals-and-permit-explained","Апрувы токенов, allowance и Permit: что вы на самом деле подписываете","Каждый раз, когда dApp просит «одобрить» токен, вы даёте контракту право тратить ваш баланс. Разбираем, как на самом деле работают allowance в ERC-20, что меняют Permit и Permit2 и как не дать старым апрувам превратиться в обязательство.","Апрувы ERC-20 простыми словами: как работают approve и allowance, риск бесконечных апрувов, подписи EIP-2612 Permit и Permit2, дрейнеры — и как безопасно проверять и отзывать разрешения.","\u003Ch2>Почему dApp вообще просят одобрение\u003C\u002Fh2>\n\u003Cp>У токенов ERC-20 есть особенность, формирующая половину UX всего Web3: смарт-контракт не может просто взять токены с вашего адреса — даже когда вы сами этого хотите. DEX, обменивающей ваши USDC, сначала нужно ваше явное разрешение. Поэтому столько взаимодействий состоит из двух шагов — сначала транзакция \u003Cem>approve\u003C\u002Fem>, затем сам обмен или депозит. Апрув — не формальность; это постоянная доверенность на расходование, и она живёт дольше транзакции, ради которой выдана.\u003C\u002Fp>\n\n\u003Ch2>Что на самом деле даёт approve()\u003C\u002Fh2>\n\u003Cp>Когда вы подписываете апрув, контракт токена записывает \u003Cem>allowance\u003C\u002Fem>: адрес X (контракт dApp) может потратить до N ваших токенов — когда угодно, пока лимит не израсходован или не изменён. Важны два свойства. Во-первых, allowance принадлежит \u003Cem>одобренному контракту\u003C\u002Fem>, а не сайту, который вы посещали: интерфейс может исчезнуть, разрешение останется. Во-вторых, в момент траты ваше участие не требуется: однажды выданное разрешение позволяет контракту списывать токены в любой последующей транзакции без новой подписи. Именно это делает апрувы удобными — и именно это делает их поверхностью атаки.\u003C\u002Fp>\n\n\u003Ch2>Бесконечные апрувы: удобно — и постоянный риск\u003C\u002Fh2>\n\u003Cp>Поскольку каждый апрув стоит газа, многие dApp запрашивают фактически \u003Cem>неограниченный\u003C\u002Fem> allowance, чтобы вам больше никогда не пришлось одобрять. Удобство реально, но реальна и цена: неограниченное разрешение контракту означает, что весь ваш баланс этого токена навсегда зависит от безопасности этого контракта. Если контракт взломают годы спустя — или он был вредоносным с самого начала — злоумышленнику не нужны ни ваш ключ, ни ваша подпись: достаточно выданного вами allowance. Многие крупнейшие случаи «осушения» кошельков были не кражей ключей, а обналичиванием старых апрувов.\u003C\u002Fp>\n\n\u003Ch2>Permit и Permit2: одобрение подписью\u003C\u002Fh2>\n\u003Cp>Современное усовершенствование — \u003Cstrong>Permit\u003C\u002Fstrong> (EIP-2612): вместо ончейн-транзакции approve вы подписываете офчейн-сообщение, которое dApp отправляет вместе со своим действием — одна транзакция вместо двух, без отдельного газа за апрув, а разрешение можно ограничить сроком. \u003Cstrong>Permit2\u003C\u002Fstrong> обобщает идею на токены, никогда не реализовывавшие EIP-2612, выступая общим хабом разрешений с истекающими и ограниченными по сумме доверенностями. Это подлинные улучшения, но заметьте, что они меняют: подписи теперь делают работу, которую делали транзакции. Фишинговый сайт, заставивший вас подписать не то Permit-сообщение, добивается того же, что и вредоносный апрув, — поэтому \u003Cem>читать, что подписываешь\u003C\u002Fem>, важно как никогда.\u003C\u002Fp>\n\n\u003Ch2>Поверхность атаки: дрейнеры и залежавшиеся allowance\u003C\u002Fh2>\n\u003Cp>Злоупотребление апрувами бывает двух видов. Активное: сайты-дрейнеры выдают себя за настоящие dApp и запрашивают апрувы (или Permit-подписи) под видом безобидных действий вроде «claim» или «верифицировать кошелёк». Пассивное: разрешения, выданные годы назад легитимным контрактам, дремлют, пока контракт, его админ-ключи или путь обновления не окажутся скомпрометированы. И то и другое — причина считать связку «подключить и одобрить» критическим для безопасности моментом Web3 — безопасный порядок действий описан в статье \u003Ca href=\"\u002Fblog\u002Fhow-to-connect-wallet-to-dapp\">как безопасно подключить кошелёк к dApp\u003C\u002Fa>.\u003C\u002Fp>\n\n\u003Ch2>Гигиена апрувов, которая реально работает\u003C\u002Fh2>\n\u003Cp>Три привычки закрывают большую часть риска. Одобряйте \u003Cem>ограниченные суммы\u003C\u002Fem>, когда dApp это позволяет, особенно для крупных балансов — лишний апрув позже обойдётся дёшево. \u003Cem>Регулярно проверяйте и отзывайте\u003C\u002Fem> allowance через уважаемый сервис проверки разрешений, считая всё неиспользуемое мёртвым грузом на удаление (отзыв — это тоже транзакция). И держите серьёзные активы на адресе, который просто никогда не подписывает апрувы, отдельно от активного dApp-кошелька. Больше многослойных привычек — в \u003Ca href=\"\u002Fblog\u002Fcrypto-wallet-security-best-practices\">наших лучших практиках безопасности кошелька\u003C\u002Fa>.\u003C\u002Fp>\n\n\u003Ch2>Где здесь WATS\u003C\u002Fh2>\n\u003Cp>Апрувы — это подписи, а подписи — территория кошелька. \u003Ca href=\"\u002Fhot-wallet\">WATS\u003C\u002Fa> полностью некастодиален — ключи держите вы, WATS никогда не держит ни одного, — поэтому каждый апрув, Permit-подпись и отзыв происходят только тогда, когда подписывает \u003Cem>ваш\u003C\u002Fem> ключ, из браузерного расширения или мобильного приложения, в EVM, Solana и TON. Комиссии — то, чем WATS не похож ни на что: каждое действие, включая транзакции апрува и отзыва, оплачивается одним токеном, \u003Cstrong>ATS\u003C\u002Fstrong>, вместо нативного газа сети — через \u003Cstrong>пеймастер ERC-4337\u003C\u002Fstrong> в EVM и эквивалентный fee-payer\u002Fрелеер в Solana и TON, — так что чистка старых allowance никогда не застрянет из-за того, что в этой сети у вас кончился газовый токен. Собранный ATS сжигается — со 100M к полу в 30M, — а поскольку ATS является OFT LayerZero, один баланс покрывает все сети. WATS — первый и единственный кошелёк, сочетающий единый комиссионный токен ERC-4337 + OFT с этим сжиганием — подробности на \u003Ca href=\"\u002Fats-fee\">странице комиссии ATS\u003C\u002Fa>.\u003C\u002Fp>",[10,13,16],{"q":11,"a":12},"Что такое allowance токена?","Allowance — это постоянное разрешение, записанное в контракте токена ERC-20: определённый контракт может потратить до определённой суммы ваших токенов. Оно возникает при подписании транзакции approve и сохраняется — независимо от использованного сайта — пока не будет израсходовано, изменено или отозвано. В момент траты одобренному контракту не нужна никакая дополнительная подпись от вас.",{"q":14,"a":15},"Безопасны ли неограниченные (бесконечные) апрувы?","Они удобны, но несут постоянный хвостовой риск: весь ваш баланс этого токена зависит от того, что одобренный контракт никогда не будет взломан и не окажется вредоносным — бессрочно. Для небольших активных балансов удобство часто перевешивает; для крупных позиций предпочитайте ограниченные суммы и регулярно отзывайте неиспользуемые allowance. Многие крупные случаи осушения кошельков — это эксплуатация старых апрувов, а не кража ключей.",{"q":17,"a":18},"Чем Permit отличается от обычного апрува?","Обычный апрув — отдельная ончейн-транзакция, стоящая газа, прежде чем dApp сможет действовать. Permit (EIP-2612) заменяет её офчейн-подписью, которую dApp вкладывает в свою транзакцию — один шаг, с опциональными сроками; Permit2 расширяет схему на токены без нативной поддержки Permit. Модель безопасности сдвигается соответственно: подпись теперь может выдавать право на расходование — изучайте запросы на подпись так же тщательно, как сам апрув.",1784634300105]