5 минут
Jul 26th, 2023 - 08:23 am
Одобрения часто демонизируют в пространстве НФТ. Когда члены сообщества требуют от провайдеров кошельков больших красных букв и требуют ответов от рыночных платформ, вокруг них по понятным причинам возникает много беспокойства.
Но, честно говоря, без них web3 вряд ли был бы возможен. Если вы когда-либо совершали продажу на платформах NFT или делали предложение на NFT-коллекции, вы уже используете силу одобрений. С помощью одобрений вы можете настроить условия вне цепи, при которых ваши сделки будут выполняться при выполнении заранее определенных условий, таких как достижение вашей суммы листинга или принятие кем-то вашего предложения wETH.
Это позволяет вам выполнять другие действия с активом (например, подтверждать право собственности) и размещать его на других торговых площадках. Если бы одобрения не существовало, вам потребовалась бы платформа, которая либо полностью хранила бы платежные активы, либо активы NFT, либо и то, и другое. В этом случае вы не смогли бы размещать активы на нескольких торговых площадках и получать все преимущества владения активами!
Итак, что именно делает одобрение? Одобрение дают смарт-контрактам возможность взаимодействовать с вашими токенами (ERC-20, NFT и т.д.). Они могут извлекать их по своему усмотрению, основываясь на параметрах, заданных в смарт-контракте.
Когда речь идет о NFT-коллекциях в стандартах ERC-1155, ERC-721 или ERC-721a, все они имеют следующий механизм одобрения. Эти стандарты обычно имеют как метод утверждения, так и метод Set Approval for All (SAFA), но, к сожалению, мошенники и торговые площадки используют более опасный последний из этих двух методов.
Установить одобрение для всех: Утверждает все активы в данном адресе кошелька для всей коллекции NFT на один адрес (обычно контракт/рынок NFT).
Утверждение: Утверждает один актив в данном адресе кошелька из коллекции NFT на один адрес (не часто используется в NFT).
Мошенничество, связанное с этими одобрениями, вращается вокруг двух вещей:
Примечание: Причина, по которой сначала пытаются получить подписи, а затем транзакции, заключается в том, что многие люди не знают, что ваши активы могут быть украдены с помощью вредоносной подписи (где вы не платите за газ), которая использует ваши законные разрешения.
Видите здесь закономерность? Заманить вас на ненадежный сайт - вот в чем суть игры. В нашей статье "Кошелек на все случаи жизни" мы подчеркиваем, что никогда не следует заходить на ненадежный сайт с кошелька Sell Wallet, а заходить на ненадежный сайт с кошелька vault (кошелек, не имеющий одобрений) следует только при подписи без газа, как описано в нашей статье Безопасная подпись 101.
Что же на самом деле происходит, когда вы устанавливаете одобрение? На самом деле мы вызываем метод "Approve" точно так же, как и в Etherscan (кстати, у нас есть отличная статья по основам Etherscan здесь). Давайте посмотрим на контракт Apecoin, чтобы помочь визуализировать происходящее:
Каждый раз, когда вы совершаете одобрение, на самом деле все, что вы делаете, это добавляете еще одного авторизованного расходующего к активам, существующим в вашем кошельке. По умолчанию вы, владелец кошелька, обычно имеете доступ к отправке/получению токенов в пределах вашего кошелька, если токены соответствуют широко принятому стандарту токенов, например ERC-20, ERC-721 или ERC-1155. Однако, как быстро узнают наши студенты 102, вы можете создавать контракты с токенами, где могут применяться другие правила 😈.
Вот список того, как различные методы утверждения работают с каждым типом контракта:
Функция: Утвердить
Функция: SetApprovalForAll
Функция: SetApprovalForAll
Примечание: В стандарте ERC-1155 нет метода утверждения. Это означает, что когда вы делаете утверждение контракта ERC-1155, вы утверждаете его для ВСЕХ токенов. Для меня это кажется упущением, но я его понимаю.
Примеры: Boring Security, Adidas: Into The Metaverse
Функция: Одобрить
Функция: IncreaseAllowance (не все токены ERC-20 имеют эту функцию).
Примеры: Apecoin, Wrapped Ethereum, AAVE (Proxy)
Мошенничество с одобрением - самое распространенное мошенничество в пространстве NFT на сегодняшний день. Чаще всего эта афера проявляется в:
Я думаю, что во всех этих мошенничествах можно увидеть закономерность, когда одобрения (законные или злонамеренные) используются злонамеренно. Большая часть этих афер - это также фишинг. Возможно, вы думаете, что направляетесь в Opensea, но взгляните на нашу статью “Фишинг и тактика мошенников” чтобы узнать больше о грязных тактиках мошенников, чтобы обманом заставить вас отдать им ваши с трудом заработанные токены! Хотите узнать больше об одобрениях или думаете, что у вас слишком много одобрений? Ознакомьтесь с этой статьей Revoke.Cash об отзыве одобрений!
У вас есть вопросы или вы хотите узнать больше о безопасности web3 и быть в курсе самой актуальной информации о безопасности, мошенничестве и тактике? Присоединяйтесь к нам в нашем discord по адресу https://discord.gg/boringsecurity.