Функции смарт-контрактов — как определить мошенничество
Ключевые моменты |
— Смарт-контракты — это по сути инструкции для блокчейна. Они позволяют одобрять определённое взаимодействие между нашими кошельками и посредниками по типу NFT-платформ и DeFi-сервисов. — Многие люди не разбираются в подобных функциях, поэтому они одобряют проведение транзакций исключительно на доверии, то есть без полного понимания происходящего. И этим, увы, активно пользуются мошенники. — Сейчас обороты набирает схема обмана, основанная на ложных разрешениях смарт-контрактов. В связи с этим как никогда важно знать, что именно вы подписываете. — Сегодня разбираемся в главных признаках мошенничества, что позволит избежать взаимодействия со скамерами. |
В данный момент функции смарт-контрактов занимают первое место в рейтинге инструментов мошенников, которые позволяют обмануть обычных людей и отобрать их криптовалюты с NFT. Поэтому стоит научиться читать их, не так ли?
Вообще индустрия криптовалют буквально кишит новыми возможностями и разновидностями взаимодействия, причём большая часть из них связана со смарт-контрактами. Смарт-контракты определяют то, как кошелёк пользователя будет работать Web3-платформой или сервисом. Это открывает практически безграничные возможности для управления своими цифровыми активами и дарит доступ к новой вселенной, основанной на владении приватными ключами.
Однако подобная свобода также предполагает большую ответственность. В незнакомом мире криптовалют пользователи совершают ошибки чаще обычного. Всё же эта сфера стремительно развивается, к тому же порой запутанные Web3-интерфейсы значительно усложняют осознание роли каждого действия. Если вкратце, то мир Web3 является запутанным пространством, на кону в котором стоит реальная ценность ваших активов. Поэтому мошенники ждут не дождутся момента, когда жертва совершит ошибку.
Умение распознавать тревожные звоночки в индустрии Web3 — необходимый навык для каждого, кто не хочет быть обманутым. К счастью, всё не так сложно, как кажется. Вам нужна лишь небольшая поддержка.
В данной статье рассматривается тема основных функций смарт-контрактов и их значение, а также способы определить мошенничество в нужный момент.
Что такое функция смарт-контракта?
Начнём с азов. Что собой представляет функция смарт-контракта?
Если по-простому, то функции являются частью кода в рамках смарт-контракта, который позволяет ему выполнять определённые действия. Иначе говоря, «вызов функции» инициирует определённое взаимодействие между вашим кошельком и используемой платформой.
Взаимодействие со смарт-контрактами — неотъемлемая часть мира Web3, поэтому сами по себе они не опасны.
Однако здесь, как и в любой другой афере из реальной жизни, важен контекст. Соответственно, всё сводится к определению признаков обмана, которые намекают на что-то неладное.
Перечень тревожных звоночков функций смарт-контрактов
Для безопасного взаимодействия с миром Web3 необходимо ознакомиться с определёнными ключевыми функциями смарт-контрактов. Поэтому разбираем каждый из них, описываем роль таких функций, связанные с ними обманы и способы защиты.
1) SetApprovalforAll
SetApprovalforAll или «настройка одобрения для всего» является довольно популярной функцией в мире Web3, поэтому с ней нужно разобраться. Чаще всего она появляется при выставлении своих NFT на продажу в рамках определённого маркетплейса. Суть функции проста — она предоставляет разрешение торговой платформе перемещать NFT из вашего кошелька и отправлять их другому пользователю при продаже.
Звучит понятно, правда? Однако и здесь есть свои нюансы.
Риски, связанные с SetApprovalforAll
Функция SetApprovalforAll очень распространена, однако при этом для обычных пользователей она приводит к довольно рискованному взаимодействию с учётом широких масштабов применения.
Одобрение данной функции означает предоставление доступа ко всем ERC20-токенам и NFT на вашем кошельке для смарт-контракта используемой платформы. К тому же такое соглашение бессрочно и относится ко всем токенам, которые в будущем окажутся на вашем адресе.
То есть это всё равно что выписать пустой чек другу. В данном случае мы утверждаем, что позволяем данной платформе делать всё, что она захочет, а также разрешаем ей действовать в рамках ожидаемых нами ограничений. А вдруг такое решение окажется ошибкой?
Мошенничества — и как их распознать
Функция SetApprovalforAll очень популярна в сфере криптовалютного мошенничества. Поэтому важно осознавать, когда её безопасно одобрять, а когда лучше проигнорировать.
Итак, единственной ситуацией, которая требует одобрения данного разрешения, является листинг NFT на соответствующем маркетплейсе и взаимодействие с децентрализованной биржей. И это действительно логично, поскольку перечисленные платформы нуждаются в разрешении для перемещения токенов с вашего кошелька при продаже или обмене. Однако за пределами перечисленных сценариев данная функция должна вызывать обеспокоенность.
Всегда задавайтесь следующим вопросом: а почему я предоставляю доступ к моим токенам кому-то другому? Такой подход значительно упростит понимание происходящего.
Минтите NFT? Этой функции быть не должно.
Покупаете NFT? Этой функции быть не должно.
Регистрируетесь для списка разрешённых пользователей в будущем проекте? Этой функции тоже быть не должно.
Теперь роль одобрения подобных транзакций стала более очевидной. А значит вы в состоянии оценить каждую ситуацию, которая требует данной функции, и сделать о ней выводы.
2) SafeTransferFrom
SafeTransferFrom или «безопасный перевод из» — ещё одна распространённая функция смарт-контракта. Такое сообщение появляется при каждом переводе NFT со своего кошелька на адрес другого пользователя.
Представим, что вы только что купили новый аппаратный кошелёк Ledger и хотите перевести на него все NFT с используемого горячего кошелька для защиты Эфириум-счёта и его содержимого. В таком случае функция SafeTransferFrom появится в интерфейсе горячего кошелька — и её нужно одобрить. Подобное разрешение здесь будет логичным и оправданным.
Риски, связанные с SafeTransferFrom
Проблема появится, когда данная функция возникнет в других сценариях. Не забывайте, что её одобрение означает ваше желание отправить NFT на другой кошелёк. Ну а если кошелёк не ваш, кейсов для такой транзакции станет значительно меньше.
Мошенничества — и как их распознать
Итак, в каких же схемах обмана данная функция используется для кражи чужих криптоактивов?
Свежим примером подобного стал сайт проекта Momoco, который предлагал бесплатный минтинг их NFT. Он успешно привлёк поклонников цифровых активов, которые надеялись на получение токена из новой «перспективной» коллекции. В чём же заключался подвох? Никакого минтинга не было даже близко.
Более того, нажатие на соответствующую кнопку вызывало функцию SafeTransferFrom, причём пользователи предоставляли данное разрешение, видя в нём необходимую составляющую процедуры минтинга. Однако в итоге таким образом смарт-контракт получал разрешение на вывод всех NFT жертв на кошелёк скамеров, и сотни людей лишились своих драгоценных токенов.
Каким образом эти жертвы могли распознать мошенничество до попадания в ловушку?
Здесь важно помнить, что при вызове функции смарт-контракта произойдёт ровно то, что указано в самой функции. В данном случае это перевод криптоактива с одного кошелька на другой.
Конечно, это тут же должно вызвать настороженность, ведь в случае минтинга NFT должна присутствовать именно функция минтинга, а не трансфера. Однако здесь транзакция чётко говорит о трансфере, то есть переводе. К тому же NFT также перемещается из кошелька Ledger на адрес другого кошелька, а значит кошелёк на самом деле отправляет токен, а не получает его.
В итоге можно утверждать, что быстрая проверка содержимого вызова функций — включая тип подтверждаемой транзакции и направление перевода — позволит непосредственно понять суть транзакции, а не просто довериться обстоятельствам.
3) SendEth
SendEth или «отправить ETH» — это последняя популярная функция смарт-контрактов. Скорее всего, ранее вы уже сталкивались с ней при взаимодействии с миром Web3, ведь «SendEth» буквально означает отправку эфиров на другой кошелёк. Данная функция в том числе требуется при переводе ETH между собственными кошельками. Например, в случае покупки устройства Ledger и желании обезопасить собственные криптоактивы. А также при покупке монет и токенов на определённом маркетплейсе.
Риски, связанные с SendEth
Увы, увидеть эту функцию можно и в неожиданных ситуациях. Минтинг NFT — идеальный тому пример. В таком случае пользователи могут думать, что проводят минтинг уникальных токенов, однако на самом деле они отправляют свои криптоактивы на чужой адрес.
Мошенничество — и как его распознать
Определить мошенничество здесь можно не только путём изучения вызова функции, в которой должно находиться упоминание минтинга. Тут также поможет отображение адреса получателя в правом верхнем углу. Всё же минтинг означает прямое взаимодействие именно с блокчейном, а не другим кошельком. Соответственно, наличие адреса получателя при якобы создании NFT должно как следует настораживать.
Скамы в сфере смарт-контрактов. Не доверяйте — проверяйте
Итак, на этом всё. Теперь вы знакомы с перечнем основных функций смарт-контрактов и связанных с ними рисков, с которыми можно столкнуться по мере изучения мира Web3.
Скорее всего, после ознакомления с упомянутыми функциями подобные схемы обмана будут казаться довольно банальными. Увы, они работают, ведь сила социальной инженерии огромна — и особенно в сочетании с непростыми мелочами из Web3-индустрии. Вот почему так важно пополнить свой багаж знаний перед началом криптопутешествия.
А теперь вперёд! Продолжайте учиться и наслаждаться бесконечными возможностями мира Web3. Всё же контроль над происходящим в ваших руках, а Ledger Academy лишь поможет в этом убедиться.