ПРОВЕРЕНО ВНУТРИ КОМАНДЫ · 0 КРИТИЧЕСКИХ УЯЗВИМОСТЕЙBNB Smart Chain (BEP-20)Прокси UUPS (ERC-1967)Solidity 0.8.24

Техническая оценка и безопасность смарт-контракта J1USD

Комплексный архитектурный анализ и отчет о верификации токен-системы J1USD на BNB Smart Chain. Внутренний технический обзор безопасности обновлений, неизменяемого контроля доступа, инвариантов предложения и сегрегации ликвидности.

Уведомление об оценке: Данная оценка безопасности и технических параметров была проведена внутри команды разработки и безопасности AirJIT. Она не является независимым аудитом смарт-контрактов от третьих лиц.

Ноль критических уязвимостей

0 Critical

0 высоких / 0 критических уязвимостей в основных контрактах токена.

Фиксированный лимит эмиссии

1,000,000,000

Неизменяемый потолок в 1 000 000 000 J1USD зафиксирован в байткоде.

Разделение ролей

RBAC Partitioned

Отдельные адреса для администратора, обновления, эмиссии, сжигания и паузы.

Слоты хранения UUPS

__gap[42]

Зарезервированный зазор в 42 слота (__gap[42]) исключает конфликты памяти при обновлениях.

ПРОВЕРЕННЫЕ РАЗВЕРТЫВАНИЯ В СЕТИ

Канонические адреса контрактов и верификация

J1USD работает на основе модульного прокси-шаблона OpenZeppelin ERC-1967 UUPS. Ниже представлены проверенные исходные контракты в основной сети BNB Smart Chain.

Официальный прокси токена
Храните и торгуйте по этому адресу

J1USDProxy.sol

Канонический адрес токена BEP-20 для взаимодействия с пользователями. Все балансы, разрешения и состояние хранятся здесь. Совместим с Grey Wallet, MetaMask, Trust Wallet и всеми DEX на BNB Chain.

Адрес прокси (Канонический)
Стандарт проксиERC-1967 (UUPS)
Стандарт токенаBEP-20 (6 знаков)
Контракт логики (Имплементация)
Не отправляйте средства сюда

J1USDTokenUpgradeable.sol

Логика контракта содержит скомпилированные бизнес-правила, проверки соответствия, ограничения эмиссии и модификаторы ролей. Прямая инициализация заблокирована при развертывании защитой конструктора.

Адрес имплементации
Версияv1.0.0 (Внутренняя проверка)
Лимит предложения1 000 000 000 J1USD
Security Notice for Integrators & Wallets: Always route transfers, deposits, and automated liquidity integrations directly to the Proxy address (0xb3B34F032923DeA2ee8476Df26894E8fA9Eb7F54). The implementation address is stateless bytecode; funds directly transferred to the implementation contract cannot be retrieved by users.

ОЦЕНКА СООТВЕТСТВИЯ И ПОЛИТИКИ

Черные списки, заморозка счетов и правоприменение

Оценка механизмов соответствия токена. J1USD — открытый токен BEP-20, работающий по модели активных черных списков и заморозки (без белых списков), что обеспечивает максимальную открытую интероперабельность при возможности исполнения судебных предписаний.

БЕЗ РАЗРЕШЕНИЙПРОЙДЕНО · Разрешено

Без белых списков (Свободные переводы без разрешений)

У J1USD НЕТ белого списка для переводов. Любой стандартный кошелек Web3 в BNB Smart Chain может свободно получать, хранить, отправлять и торговать J1USD на DEX без KYC и предварительной регистрации.

Оценка безопасности:Стандартные функции перевода (transfer, transferFrom) выполняются безоговорочно для всех чистых адресов. Обычные P2P- и DeFi-операции не требуют никаких разрешений.
ПОД КОНТРОЛЕМ RBACПРОЙДЕНО · Защищено

Явный функционал черного списка (Противодействие угрозам)

Специальная роль BLACKLISTER_ROLE может ограничивать вредоносные адреса, связанные с взломами, санкциями или кражами, блокируя списание и зачисление средств.

Оценка безопасности:addToBlacklist() требует ненулевой хэш bytes32 complianceReference для ончейн-аудита. Защищенные системные адреса (AMM-пулы DEX и казначейство) математически защищены от блокировок.
ИЗОЛЯЦИЯ СПОРОВПРОЙДЕНО · Изолировано

Высокоточная частичная и полная заморозка

Контракт поддерживает как freezeAccount(), так и freezeBalance(amount). При коммерческих спорах блокируется только оспариваемая сумма, сохраняя ликвидность остатка средств.

Оценка безопасности:availableBalanceOf(account) динамически отделяет доступные средства от замороженных. Неоспариваемые средства остаются на 100% доступными для переводов владельцем даже в ходе расследования.
ОГРАНИЧЕНОПРОЙДЕНО · Строгие ограничения

Сертифицированная правовая конфискация (Wipe)

WIPER_ROLE может уничтожать замороженные балансы только на основании вступивших в силу судебных актов. Произвольное уничтожение активов пользователей структурно исключено.

Оценка безопасности:Вызов отклоняется с WipeRequiresRestrictedAccount, если адрес не заморожен. Вызов отклоняется с WipeExceedsFrozenBalance, если запрашиваемая сумма превышает объем замороженных средств.

Проверка хуков байткода: _update(), _approve() и transferFrom()

Байткод выполняет строгую проверку условий списания и зачисления внутри _update(from, to, amount):

Списание (_requireCanDebit)

Отправитель НЕ должен быть в черном списке (!isBlacklisted), счет НЕ должен быть полностью заморожен (!isAccountFrozen), а сумма не может превышать availableBalanceOf.

Зачисление (_requireCanCredit)

Получатель НЕ должен быть в черном списке или заморожен. Исключает отмывание средств через подсанкционные кастодиальные кошельки.

Разрешения (_approve)

Владелец и оператор токенов не должны иметь ограничений. Ограниченные субъекты не могут делегировать права или выполнять переводы третьих лиц.

АРХИТЕКТУРА СМАРТ-КОНТРАКТОВ

Механизмы безопасности и анализ инвариантов

Глубокая оценка ключевых компонентов J1USD: безопасность обновлений прокси, криптографическая дедупликация, разделение ответственности и аварийные протоколы.

Безопасность обновлений UUPS

Построено на стандарте UUPS OpenZeppelin. Переменные состояния и балансы хранятся строго в слотах прокси. Конструктор реализации вызывает _disableInitializers(), гарантируя, что базовая логика не может быть инициализирована независимо.

Безопасность хранения: зарезервированный зазор в 42 слота (__gap[42]) предотвращает порчу памяти при будущих обновлениях.

Инвариант жесткого лимита эмиссии

В отличие от стейблкоинов с бесконечной эмиссией, J1USD фиксирует supplyCeiling в коде. Каждый mint() проверяет condition totalSupply() + amount <= supplyCeiling. Администратор не может опустить лимит ниже текущей эмиссии.

Максимальный лимит эмиссии: 1 000 000 000,000000 J1USD (6 знаков).

Идемпотентная дедупликация событий

Операции выпуска и сжигания требуют уникального хэша ссылки bytes32 (issuanceReference / burnReference). Повторная попытка использовать ссылку немедленно отклоняется с ReferenceAlreadyUsed.

Исключает повторные транзакции оператора, двойную эмиссию и рассинхронизацию индексов.

Таймлок при передаче прав администратора

Использует AccessControlDefaultAdminRulesUpgradeable. Передача роли администратора невозможна за один блок; требуется обязательная временная задержка (defaultAdminDelay), защищающая от перехвата ключей.

Разделение ролей: Upgrader, Minter, Burner и Pauser действуют независимо.

Высокоточная частичная заморозка

Вместо тотальной блокировки всего кошелька J1USD применяет freezeBalance. Спорная сумма блокируется точечно, а availableBalanceOf позволяет свободно использовать оставшиеся средства.

Защищает законные средства участников во время коммерческих споров.

Защищенные системные адреса

Ключевые адреса протокола (пулы PancakeSwap, казначейство и операционная инфраструктура) имеют статус protectedSystemAddress, исключающий их заморозку или блокировку.

Предотвращает случайный или преднамеренный отказ в обслуживании публичных торговых пар DEX.

МАТРИЦА АВТОРИЗАЦИИ

Контроль доступа на основе ролей (RBAC)

Проверка привилегий администраторов, эмитентов, сжигателей, комплаенс- и аварийных операторов. Все функции требуют явных криптографических подписей, соответствующих назначенным ролям.

Идентификатор ролиПривилегированные функцииМеры безопасности и инварианты
DEFAULT_ADMIN_ROLE0x00 (Admin Root)Назначает роли, обновляет потолок эмиссии и регистрирует защищенные системные адреса.Регулируется OpenZeppelin AccessControlDefaultAdminRules с обязательным таймлоком.
UPGRADER_ROLEkeccak256('UPGRADER_ROLE')Авторизует обновление логики UUPS в _authorizeUpgrade().Строго ограничено мультисиг-управлением протокола; не может изменить состояние без развернутого кода.
MINTER_ROLEkeccak256('MINTER_ROLE')Выпускает новые токены J1USD под подтвержденное обеспечение или потребности расчетов.Строго ограничено неизменяемым supplyCeiling и уникальным issuanceReference.
BURNER_ROLEkeccak256('BURNER_ROLE')Сокращает объем токенов при выкупе или погашении обязательств протокола.Требует уникальный burnReference. Позволяет сжигать с ограниченных счетов для сохранения платежеспособности.
PAUSER_ROLEkeccak256('PAUSER_ROLE')Активирует или отключает аварийную приостановку стандартных переводов.Защитный механизм на случай непредвиденных кризисных событий или сбоев мостов.
BLACKLISTER_ROLEkeccak256('BLACKLISTER_ROLE')Добавляет или удаляет адреса из глобального черного списка.Не может блокировать адреса protectedSystemAddress. Требует хэш комплаенс-отслеживания.
FREEZER_ROLEkeccak256('FREEZER_ROLE')Замораживает счета целиком или частично (freezeBalance, freezeAllCurrentBalance).Позволяет изолировать спорные суммы при сохранении ликвидности остатка. Системные адреса иммунны.
WIPER_ROLEkeccak256('WIPER_ROLE')Уничтожает замороженные средства на основании судебного или регуляторного решения.Применимо только к уже замороженным адресам; не может превышать замороженный остаток.
RESCUE_ROLEkeccak256('RESCUE_ROLE')Возвращает ошибочно отправленные на контракт сторонние токены BEP-20.Категорически запрещено взаимодействие с балансами самого токена J1USD (RescueProhibitedToken).

ИНФРАСТРУКТУРА ЛИКВИДНОСТИ И ОЦЕНКА ПУЛОВ

Ончейн-ликвидность DEX vs Централизованные вторичные пулы

J1USD балансирует между некастодиальными децентрализованными рынками AMM на BNB Smart Chain и централизованными офчейн-книгами заявок. Ниже приведены адреса пулов, ссылки на торги и границы безопасности.

Ончейн децентрализованная ликвидность (DEX)

Пулы автоматических маркет-мейкеров (AMM)

Некастодиальные пулы ликвидности на смарт-контрактах, работающие на BNB Smart Chain через PancakeSwap. Нулевой риск удержания третьими лицами; сделки исполняются peer-to-contract через неизменяемый байткод.

PancakeSwap V3 · J1USD / USDC
ОСНОВНОЙКомиссия 0,05%

Пул концентрированной ликвидности, обеспечивающий жесткую привязку J1USD к 1,00 USD Coin. Защищенный системный адрес с иммунитетом к заморозкам.

Адрес смарт-контракта пула:
PancakeSwap V2 · J1USD / JIT
ЭКОСИСТЕМАКомиссия 0,25%

Децентрализованный мост AMM, связывающий утилитарный токен AirJIT (JIT) и расчетный актив (J1USD).

Адрес смарт-контракта пула:
Офчейн и централизованные вторичные пулы

Внутренние пулы книги заявок

AirJIT котирует вторичные рынки по основным парам обеспечения офчейн без отдельных адресов смарт-контрактов. Сведение ордеров происходит через высокопроизводительные движки мэтчинга.

Отсутствие прав эмиссии смарт-контракта

Офчейн-серверы не имеют закрытых ключей, позволяющих выпускать или сжигать токены J1USD в сети BNB Smart Chain.

Обеспечение активами 1:1 в сети

Внутренние балансы счетов офчейн строго ограничены подтвержденными депозитами в ончейн-прокси-контракте.

РЕЗУЛЬТАТЫ ОЦЕНКИ И МОДЕЛЬ УГРОЗ

Анализ векторов атак и формальная защита

Исчерпывающий обзор экономических, математических и криптографических векторов атак, исследованных в ходе технической проверки.

ИММУНИТЕТ

Атаки повторного входа (Reentrancy)

Токен строго наследует обновления состояния ERC-20 от OpenZeppelin (_update) без внешних вызовов до фиксации балансов. Полное соответствие шаблону Checks-Effects-Interactions.

НЕ ПРИМЕНИМО

Манипуляция оракулами и спотовыми ценами

Реестр токена J1USD не обращается к внешним оракулам цен. Балансовая арифметика на 100% внутренняя, что делает атаки через мгновенные займы (flash loans) невозможными.

ПРЕДОТВРАЩЕНО

Захват логики реализации

Конструктор реализации выполняет _disableInitializers() при развертывании. Базовый контракт логики не может быть инициализирован или захвачен злоумышленником.

НИВЕЛИРОВАНО

Враждебный захват управления

Переназначение ролей администратора подчиняется обязательному таймлоку (defaultAdminDelay). Компрометация единичного ключа не позволяет захватить контроль мгновенно.

ИНВАРИАНТЫ БЕЗОПАСНОСТИ

Формально проверенные инварианты безопасности

Сводка проверок на уровне байткода, гарантирующих целостность системы во всех граничных сценариях.

Статус · Результат

Соблюдение потолка эмиссии

Эмиссия отклоняется с ошибкой SupplyCeilingExceeded, если totalSupply() + amount превышает лимит. Администратору запрещено снижать потолок ниже текущей эмиссии.

Механизм контроляПроверка supplyCeiling в функции mint()
Статус · Результат

Защита от повторов при выпуске и сжигании

Каждая операция требует уникальный идентификатор bytes32. Повторное использование ссылки отклоняется с ReferenceAlreadyUsed, исключая двойное исполнение.

Механизм контроляТаблицы _usedIssuanceReferences и _usedBurnReferences
Статус · Результат

Защита логики реализации от захвата

Контракт реализации блокирует инициализаторы в конструкторе. Злоумышленники не могут самостоятельно завладеть контрактом логики.

Механизм контроляВызов _disableInitializers() в конструкторе
Статус · Результат

Защита раскладки слотов памяти

Хранилище прокси соответствует ERC-1967. Резервный зазор в 42 слова гарантирует, что будущие обновления не перезапишут существующие переменные.

Механизм контроляСтандартные слоты ERC-1967 + uint256[42] зазор
Статус · Результат

Защита от внезапного захвата прав администратора

Передача DEFAULT_ADMIN_ROLE не происходит мгновенно. Двухэтапный процесс с задержкой защищает от последствий компрометации единичного ключа.

Механизм контроляAccessControlDefaultAdminRules с defaultAdminDelay
Статус · Результат

Иммунитет критической инфраструктуры

Зарегистрированные системные адреса (DEX-пулы, казначейство, контракты) нельзя заморозить или внести в черный список, что исключает DoS публичных торгов.

Механизм контроляПроверка _requireNotProtected() в комплаенс-функциях
Статус · Результат

Блокировка самовывода при спасении токенов

Функция rescueERC20 позволяет спасти ошибочно отправленные сторонние токены, но блокирует любые попытки вывести сами токены J1USD.

Механизм контроляПроверка RescueProhibitedToken в rescueERC20()
Статус · Результат

Аварийный выключатель системы

Роль PAUSER_ROLE может мгновенно остановить переводы при кризисе, сохраняя при этом выполнение законных требований по изъятию активов.

Механизм контроляМодификатор whenNotPaused на transfer/mint/approve
Статус · Результат

Точечная заморозка спорного баланса

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

Механизм контроляАрифметическая изоляция в availableBalanceOf()

ОТВЕТСТВЕННОЕ РАСКРЫТИЕ УЯЗВИМОСТЕЙ

Сообщить об уязвимости

AirJIT поддерживает проактивную программу раскрытия уязвимостей. Если вы обнаружили дефект безопасности в прокси J1USD, реализации или смарт-контрактах, сообщите об этом ответственно.

По возможности шифруйте конфиденциальные отчеты с помощью PGP. Мы подтверждаем получение всех обращений в течение 24 часов.