logo
logo
Menu
Подписи и подтверждения

Все о подтверждениях

5 минут

Доступно в:

Jul 26th, 2023 - 08:23 am

Translated By:
EpiphanyEpiphany
SHARE

Одобрения делают мир более понятными

Одобрения часто демонизируют в пространстве НФТ. Когда члены сообщества требуют от провайдеров кошельков больших красных букв и требуют ответов от рыночных платформ, вокруг них по понятным причинам возникает много беспокойства.

Но, честно говоря, без них web3 вряд ли был бы возможен. Если вы когда-либо совершали продажу на платформах NFT или делали предложение на NFT-коллекции, вы уже используете силу одобрений. С помощью одобрений вы можете настроить условия вне цепи, при которых ваши сделки будут выполняться при выполнении заранее определенных условий, таких как достижение вашей суммы листинга или принятие кем-то вашего предложения wETH.
 

Это позволяет вам выполнять другие действия с активом (например, подтверждать право собственности) и размещать его на других торговых площадках. Если бы одобрения не существовало, вам потребовалась бы платформа, которая либо полностью хранила бы платежные активы, либо активы NFT, либо и то, и другое. В этом случае вы не смогли бы размещать активы на нескольких торговых площадках и получать все преимущества владения активами!


Итак, что именно делает одобрение? Одобрение дают смарт-контрактам возможность взаимодействовать с вашими токенами (ERC-20, NFT и т.д.). Они могут извлекать их по своему усмотрению, основываясь на параметрах, заданных в смарт-контракте.

Установить одобрение для всех (SAFA)

Когда речь идет о NFT-коллекциях в стандартах ERC-1155, ERC-721 или ERC-721a, все они имеют следующий механизм одобрения. Эти стандарты обычно имеют как метод утверждения, так и метод Set Approval for All (SAFA), но, к сожалению, мошенники и торговые площадки используют более опасный последний из этих двух методов.


Установить одобрение для всех: Утверждает все активы в данном адресе кошелька для всей коллекции NFT на один адрес (обычно контракт/рынок NFT).
 

Утверждение: Утверждает один актив в данном адресе кошелька из коллекции NFT на один адрес (не часто используется в NFT).


Мошенничество, связанное с этими одобрениями, вращается вокруг двух вещей:

  1. Завлечение вас на ненадежный веб-сайт для подписания вредоносной транзакции одобрения, которая дает злоумышленнику доступ к вашим активам.
  2. Заставить вас посетить ненадежный веб-сайт, чтобы заставить вас подписать вредоносную подпись, которая использует ваши законные одобрения.

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

Видите здесь закономерность? Заманить вас на ненадежный сайт - вот в чем суть игры. В нашей статье "Кошелек на все случаи жизни" мы подчеркиваем, что никогда не следует заходить на ненадежный сайт с кошелька Sell Wallet, а заходить на ненадежный сайт с кошелька vault (кошелек, не имеющий одобрений) следует только при подписи без газа, как описано в нашей статье Безопасная подпись 101.

Что же происходит при одобрении?

Что же на самом деле происходит, когда вы устанавливаете одобрение? На самом деле мы вызываем метод "Approve" точно так же, как и в Etherscan (кстати, у нас есть отличная статья по основам Etherscan здесь). Давайте посмотрим на контракт Apecoin, чтобы помочь визуализировать происходящее:
 

approve.jpg

Каждый раз, когда вы совершаете одобрение, на самом деле все, что вы делаете, это добавляете еще одного авторизованного расходующего к активам, существующим в вашем кошельке. По умолчанию вы, владелец кошелька, обычно имеете доступ к отправке/получению токенов в пределах вашего кошелька, если токены соответствуют широко принятому стандарту токенов, например ERC-20, ERC-721 или ERC-1155. Однако, как быстро узнают наши студенты 102, вы можете создавать контракты с токенами, где могут применяться другие правила 😈.

Вот список того, как различные методы утверждения работают с каждым типом контракта:

ERC-721 (Изображение профиля/Уникальная коллекция NFT):

Функция: Утвердить

  • Расходник: Расходник, к которому вы предоставляете доступ (например, Opensea или Marketplace).
  • Токен/TokenID: ТокенID, к которому вы предоставляете доступ. Пример: BAYC #4014
     

Функция: SetApprovalForAll

  • Оператор: Это то же самое, что и Spender, который будет иметь доступ к вашим токенам.
  • Одобрено: Это простое значение true/false. Если оператор/отправитель одобрен, он будет иметь доступ к каждому токену в этой коллекции (таким образом, если у вас несколько BAYC, то ко всем).
     

Примеры:  BAYC, Azuki, Doodles

ERC-1155 (полулегкодоступный НФТ)

Функция: SetApprovalForAll

  • Оператор: Это то же самое, что и Spender, который будет иметь доступ к вашим токенам.
  • Одобрено: Это простое значение true/false. В случае одобрения Оператор/Отправитель будет иметь доступ к каждому токену в этой коллекции (таким образом, если у вас несколько BAYC, то ко всем).
     

Примечание: В стандарте ERC-1155 нет метода утверждения. Это означает, что когда вы делаете утверждение контракта ERC-1155, вы утверждаете его для ВСЕХ токенов. Для меня это кажется упущением, но я его понимаю.

Примеры: Boring Security, Adidas: Into The Metaverse

ERC-20 (легковесные токены)

Функция: Одобрить

  • Расходник: Расходник, к которому вы предоставляете доступ (например, Opensea или Marketplace).
  • Сумма: Сколько токена вы разрешаете использовать контракту. Сумма остается активной и может быть "израсходована" с течением времени. Аддикты Dookey Dash, возможно, помнят, как было установлено разрешение на 800 $ape, и, возможно, в какой-то момент своего пути им пришлось сделать еще одно разрешение!

Функция: IncreaseAllowance (не все токены ERC-20 имеют эту функцию).

  • Расходник: Расходник, к которому вы предоставляете доступ (например, Opensea или Marketplace).
  • Сумма: Сумма, на которую вы увеличиваете свое пособие.
    Примечание: Increase Allowance часто может быть вызвана, когда на адрес расходующего не установлено одобрение, что позволяет ей функционировать как одобрение. Будьте внимательны!

Примеры: Apecoin, Wrapped Ethereum, AAVE (Proxy)

Некоторые формы, в которых проявляется эта афера

Мошенничество с одобрением - самое распространенное мошенничество в пространстве NFT на сегодняшний день. Чаще всего эта афера проявляется в:

  1. NFT Trading scam, где мошенник заманивает вас на поддельный торговый сайт, чтобы использовать или инициировать вредоносные одобрения.
  2. NFT Airdrop scam, где мошенник заманивает вас на поддельный сайт коллекции, чтобы использовать рычаги или инициировать вредоносные одобрения.
  3. Поддельный сайт NFT Derivative, где мошенник пытается использовать рычаги или инициировать вредоносные одобрения.
  4. Поддельный рынок, где.... ну... вы поняли.
ElaineFake.gif

Я думаю, что во всех этих мошенничествах можно увидеть закономерность, когда одобрения (законные или злонамеренные) используются злонамеренно. Большая часть этих афер - это также фишинг. Возможно, вы думаете, что направляетесь в Opensea, но взгляните на нашу статью “Фишинг и тактика мошенников” чтобы узнать больше о грязных тактиках мошенников, чтобы обманом заставить вас отдать им ваши с трудом заработанные токены! Хотите узнать больше об одобрениях или думаете, что у вас слишком много одобрений? Ознакомьтесь с этой статьей Revoke.Cash об отзыве одобрений!

У вас есть вопросы или вы хотите узнать больше о безопасности web3 и быть в курсе самой актуальной информации о безопасности, мошенничестве и тактике? Присоединяйтесь к нам в нашем discord по адресу https://discord.gg/boringsecurity.