Fren Pet, полноцепочечная игра, с точки зрения безопасности

После того, как ажиотаж на Friend.tech утих, внимание рынка привлекла Fren Pet, блокчейн-игра на основе блокчейна, созданная двумя разработчиками. С 19 по 20 ноября, благодаря официальному вниманию Base и игровому процессу социального деления Fren Pet, Fren Pet стал популярным в социальных сетях и стал новичком GameFi.

В то время как число пользователей Fren Pet быстро растет, аспект безопасности остается свободным. **Сегодня команда безопасности Beosin проанализирует механизм проектирования и код контракта Fren Pet, чтобы помочь вам понять потенциальные риски. **

Анализ механизма Fren Pet

Текущий игровой контент Fren Pet включает в себя чеканку питомцев, кормление питомцев, битвы питомцев с другими пользователями, колеса удачи и бросание кубиков. Пользователям игры, участвующим в Fren Pet, сначала нужно чеканить питомцев (NFT), и каждому питомцу необходимо потратить 100 токенов FP на минтинг (если другие пользователи впоследствии будут чеканить питомцев, потраченные FP будут возвращены пользователю), а затем пользователям необходимо заплатить токены FP, чтобы купить яблоки, кофе и другой реквизит для кормления своих питомцев, чтобы избежать TOD (Countdown to Death) питомца до нуля, то есть удерживаемый NFT будет автоматически уничтожен.

Pet Points начисляются за кормление питомцев, чем выше баллы, тем больше вознаграждений ETH вы получаете, а вознаграждения ETH поступают из налога на транзакции токенов FP, который облагается налогом в размере 5% на каждую транзакцию и 2% распределяется между геймерами. Поэтому, чем больше пользователей участвует, тем больше спрос на токены FP, тем больше объем торгов токенами FP и тем больше ETH будет вознаграждено.

Анализ контрактов с домашними животными Fren

Основной адрес контракта Fren Pet — 0x85b157EbaAF289De5301aE6694B651BF3b8df1C3, адрес контракта NFT — 0x5b51Cf49Cb48617084eF35e7c7d7A21914769ff1, а адрес контракта токена — 0xFF0C532FDB8Cd566Ae169C1CB157ff2Bdc83E105,** На этот раз мы просканировали контракт с помощью инструмента Beosin VaaS в сочетании с анализом экспертов по аудиту безопасности Beosin и обнаружили, что контракт имеет следующие потенциальные риски безопасности:**

Beosin VaaS

Основной контракт с Fren Pet

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

1 Добавлен модификатор nonReentrant

В функциях погашения и уничтожения контракта разработчик должен подтвердить, что функция не подвержена риску атак с повторным входом. Рекомендуется использовать модификатор nonReentrant антиреентерабельного контракта openzeppelin, чтобы избежать атак с повторным входом.

2 Используйте безопасный генератор случайных чисел

Одноразовое число, используемое основным контрактом Fren Pet, генерируется из блоков и адресов отправителей, и безопаснее использовать проверяемую случайную функцию, такую как Chainlink, для генерации надежных и справедливых чисел nonce.

3 Обратите внимание на контроль доступа

Основной контракт Fren Pet использует модификатор isApproved для управления тем, есть ли у вызывающего объекта разрешение на вызов функции, что требует от разработчика быть хорошо знакомым с бизнес-логикой своего проекта и подтвердить, что разрешение не будет обойдено. В контракте Fren Pet V2 все же нужно уделить внимание вопросу контроля доступа.

####** Fren Pet NFT 合约**

Общая структура NFT-контракта Fren Pet выглядит следующим образом:

Контракт FrenpetNFT наследует ERC721 и отвечает за чеканку и сжигание NFT, а IRenderer отвечает за обработку метаданных NFT Fren Pet. Рекомендуется выдавать события при вызове его функций setRenderer и setMinter, чтобы внешний мир мог прослушивать и отслеживать передачу соответствующей информации. **

Контракт Fren Pet Token

1 Риск централизации

Контракт токена имеет несколько функций onlyOwner, таких как функция черного списка и функция updateBuyFees. Эти функции могут оказать огромное влияние на торговлю токенами. Владелец контракта может изменить комиссию за транзакцию, заблокировать пользователю покупку или продажу, а также добавить черный список адресов:

2 Отсутствует временная блокировка

Контракт токена Fren Pet не имеет временной блокировки для ограничения прав на операции владельца контракта. В то время как некоторые функции контракта, такие как withdrawStuckToken() и updateSwapEnabled(), позволяют держателям контрактов предпринимать действия против контракта в чрезвычайной ситуации для защиты активов пользователей, отсутствие временных блокировок может позволить злоупотреблять этими функциями. В этом случае у пользователя и охранной компании не хватает времени, чтобы среагировать на действия держателя договора.

Остерегайтесь фишинга!

В дополнение к контрактным рискам, из-за популярности Fren Pet, связанные с ним фишинговые веб-сайты и аккаунты в социальных сетях также появляются в бесконечном потоке. **Напомните пользователям, чтобы они не переходили по поддельным ссылкам, например, по ссылкам из поиска Google, и лучше всего пройти через другие социальные платформы для вторичной проверки. Такие фейковые аккаунты часто твитят о том, что были открыты аирдропы соответствующих токенов, чтобы заманить пользователей на фишинговые веб-сайты. **

Фишинговый сайт Fren Pet

Есть несколько советов по борьбе с фишингом, которые следует иметь в виду, постараться избежать фишинга или рассмотреть возможность установки плагина Beosin Anti-Phishing, который поможет вам идентифицировать фишинговые сайты. **

Ссылка для скачивания:

Сводка

Контракт Fren Pet не имеет очевидных уязвимостей бизнес-логики, но риск централизации контракта очевиден, и некоторый код имеет более безопасную реализацию для повышения безопасности контракта. До этого на рынке было много повальных увлечений GameFi и SocialFi, а обычные пользователи склонны к эмоциям FOMO и слепо попадают в ловушку рыбалки. **Пользователи должны понимать, что Fren Pet — это всего лишь попытка двух разработчиков в области Web3, и пользователи должны хорошо поработать над управлением фондами и исследованием проектов, а также участвовать рационально. **

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить