От лекарства к яду: Почему пермит стал источником риска

1. Что такое разрешение?

Давайте начнем с небольшой истории о том, как занять деньги:

Представьте, что я хочу занять 1 миллион у своего друга, Джека Ма. Не раздумывая, Джек берет трубку и звонит в банк, подтверждая свою личность и давая указание разрешить мне снять 1 миллион. Банк регистрирует это разрешение, и все, что мне нужно сделать, — это посетить банк, представиться и снять разрешенную сумму. Если банк не сможет найти разрешение, мой запрос будет отклонен.

Теперь давайте посмотрим, как изменится этот процесс при использовании другого метода — «Разрешение». В этом сценарии, когда я прошу у Джека 1 миллион, он случайно достает чек, вписывает сумму, подписывает его и передает мне. Я отношу чек в банк, и даже без записи об авторизации банк обналичивает его на основании подписи Джека.

Это иллюстрирует разницу между Approve и Permit. Approve, неотъемлемая функция ERC-20, широко используется с момента запуска Ethereum. Но почему для достижения того же эффекта позже была введена функция Permit через ERC-2612?

2. Почему потребовалось разрешение?

Предложение ERC-2612 было представлено в марте 2019 года и окончательно оформлено в октябре 2022 года. Его разработка совпала с несколькими скачками цен на газ Ethereum. Ажиотаж на рынке во время «бычьих бегов» заставлял пользователей тратить больше средств на оплату газа для ускорения транзакций, когда даже преимущество в один блок могло означать существенную прибыль.

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

Хотя это казалось выгодным — экономия Джеку на телефонных звонках и снижение комиссии за транзакции — это нечаянно открыло ящик Пандоры.

3. Стремительный рост рисков

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

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

Последствия этого изменения очевидны по растущему числу жертв фишинга и похищенным суммам. По данным @ScamSniffer:

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

Появились похожие методы автономной подписи, например Permit2 от Uniswap, что увеличивает зависимость от автономной подписи и повышает фишинговые риски.

4. Как защитить себя

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

1. Повысить осведомленность

2. Используйте инструменты

3. Изоляция активов и кошельки с несколькими подписями

Поговорка «не кладите все яйца в одну корзину» применима и к криптоактивам. Храните значительные активы в холодных кошельках, таких как Keystone, а для ежедневных транзакций используйте небольшие горячие кошельки. Таким образом, даже если один кошелек будет взломан, не все активы окажутся под угрозой.

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

5. Заключение

Хотя мы не можем отрицать ценность, которую приносит Permit, растущее число краж говорит о том, что риски, связанные с ним, могут перевесить его преимущества. Подобно некогда распространенному методу ethsign, от которого в итоге отказались из-за проблем с безопасностью, Permit сейчас переживает критический момент. Разработчики должны вдумчиво подумать, стоит ли совершенствовать этот метод или отказаться от него в дальнейшем.

Exit mobile version