REVISADO INTERNAMENTE · CERO HALLAZGOS CRÍTICOSBNB Smart Chain (BEP-20)Proxy UUPS (ERC-1967)Solidity 0.8.24

Evaluación Técnica y de Seguridad del Smart Contract J1USD

Informe exhaustivo de análisis arquitectónico y verificación del sistema de tokens J1USD en BNB Smart Chain. Revisado para garantizar la seguridad en actualizaciones, controles de acceso inmutables, invariantes de suministro y segregación de liquidez multisede.

Declaración de Evaluación: Esta evaluación técnica y de seguridad fue realizada internamente por el equipo de desarrollo y seguridad de AirJIT. No constituye una auditoría independiente de smart contracts realizada por terceros.

Cero Hallazgos Críticos

0 Critical

0 vulnerabilidades altas / 0 críticas identificadas en los contratos centrales del token.

Techo Estricto de Suministro

1,000,000,000

Límite inmutable de 1.000.000.000 J1USD aplicado a nivel de bytecode.

Separación de Roles

RBAC Partitioned

Direcciones independientes para Administrador, Actualizador, Emisor, Quemador y Pausador.

Gaps de Almacenamiento UUPS

__gap[42]

Brecha reservada de 42 slots para prevenir colisiones de memoria en futuras actualizaciones.

DESPLIEGUES VERIFICADOS EN CADENA

Direcciones Canónicas de Contratos y Verificación

J1USD se ejecuta mediante un patrón modular de proxy UUPS OpenZeppelin ERC-1967. A continuación se presentan los contratos de código fuente verificados y desplegados en BNB Smart Chain mainnet.

Proxy Oficial del Token
Mantenga y Opere Esta Dirección

J1USDProxy.sol

Dirección canónica del token BEP-20 para usuarios. Todos los saldos, autorizaciones y almacenamiento residen permanentemente aquí. Compatible con Grey Wallet, MetaMask, Trust Wallet y todos los DEXs de BNB Chain.

Estándar ProxyERC-1967 (UUPS)
Estándar de TokenBEP-20 (6 Decimales)
Implementación de Lógica
No Envíe Fondos Aquí

J1USDTokenUpgradeable.sol

Implementación que contiene las reglas de negocio compiladas, verificaciones de cumplimiento, límites de techo de suministro y modificadores de rol. La inicialización directa está bloqueada en despliegue mediante guardia de constructor.

Versiónv1.0.0 (Revisión Interna)
Techo de Suministro1.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.

REVISIÓN DE POLÍTICAS Y CUMPLIMIENTO

Mecanismos de Lista Negra, Congelación y Sanciones

Evaluación de los mecanismos de cumplimiento del token. J1USD es un token BEP-20 abierto que opera bajo un modelo activo de lista negra y congelación — no una lista blanca —, garantizando la máxima componibilidad permisionless al tiempo que permite la aplicación de sanciones legales.

SIN PERMISOSAPROBADO · Permitido

Sin Requisito de Lista Blanca (Transferencias Sin Permiso)

J1USD NO tiene lista blanca de transferencias. Cualquier billetera Web3 estándar en BNB Smart Chain puede recibir, mantener, enviar y operar J1USD libremente en DEXs sin KYC ni registro previo.

Evaluación de Seguridad:Las funciones de transferencia estándar (transfer, transferFrom) se ejecutan incondicionalmente para cuentas no restringidas. Las operaciones peer-to-peer y DeFi no requieren permiso alguno.
CONTROLADO POR RBACAPROBADO · Protegido

Funcionalidad Explícita de Lista Negra (Cumplimiento Adverso)

Un rol dedicado BLACKLISTER_ROLE puede restringir cuentas maliciosas vinculadas a ataques, sanciones o robos para evitar débitos o créditos de fondos.

Evaluación de Seguridad:addToBlacklist() exige un hash bytes32 complianceReference no nulo para auditoría on-chain. Las direcciones de sistema protegidas (AMMs de DEX y Tesorería) son matemáticamente inmunes a bloqueos.
AISLAMIENTO DE DISPUTASAPROBADO · Aislado

Congelación Precisa Parcial y Total de Cuentas

El contrato admite tanto freezeAccount() como freezeBalance(amount). En disputas comerciales, solo se bloquea el importe disputado, manteniendo la liquidez de los fondos restantes.

Evaluación de Seguridad:availableBalanceOf(account) aísla dinámicamente los fondos disponibles de los congelados. Los fondos no disputados permanecen 100% transferibles por el titular incluso durante una investigación activa.
RESTRINGIDOAPROBADO · Restricción Estricta

Protección Certificada de Quema Legal (Wipe)

WIPER_ROLE solo puede destruir saldos congelados en virtud de resoluciones judiciales o regulatorias vinculantes. La destrucción arbitraria de activos de billeteras es estructuralmente imposible.

Evaluación de Seguridad:Revierte con WipeRequiresRestrictedAccount si se invoca sobre una dirección no restringida o no congelada. Revierte con WipeExceedsFrozenBalance si el importe solicitado excede los fondos congelados.

Verificación de Hooks en Bytecode: _update(), _approve() y transferFrom()

El bytecode ejecuta validaciones estrictas de débito y crédito dentro de _update(from, to, amount):

Débitos (_requireCanDebit)

El remitente NO debe estar en lista negra (!isBlacklisted), la cuenta NO debe estar congelada (!isAccountFrozen), y el monto solicitado no puede superar availableBalanceOf.

Créditos (_requireCanCredit)

El destinatario NO debe estar en lista negra ni congelado. Evita que actores ilícitos transfieran fondos a carteras bajo custodia restringida.

Autorizaciones (_approve)

Tanto el propietario del token como el operador autorizado deben estar libres de restricciones. Las entidades restringidas no pueden delegar permisos ni transferir fondos.

ARQUITECTURA DE SMART CONTRACTS

Mecanismos de Seguridad y Análisis de Invariantes

Evaluación exhaustiva de los componentes clave de J1USD: seguridad de actualización de proxy, deduplicación criptográfica, aislamiento de funciones y salvaguardas de emergencia.

Seguridad de Actualización UUPS

Basado en el estándar UUPS de OpenZeppelin. El almacenamiento de estados y saldos reside estrictamente en slots del proxy. El constructor de la implementación ejecuta _disableInitializers() para asegurar que la lógica base no pueda ser reclamada de forma independiente.

Seguridad de almacenamiento: un gap reservado de 42 slots (__gap[42]) evita colisiones de memoria en futuras actualizaciones.

Invariante de Techo Estricto de Suministro

A diferencia de las stablecoins sin límite, J1USD aplica un supplyCeiling en el contrato. Cada llamada a mint() comprueba que totalSupply() + amount <= supplyCeiling. El administrador tiene prohibido reducir el techo por debajo del suministro circulante actual.

Techo máximo de emisión: 1.000.000.000,000000 J1USD (6 decimales).

Deduplicación Idempotente de Eventos

Las operaciones de emisión y quema exigen un hash de referencia bytes32 único (issuanceReference / burnReference). Cualquier intento de reutilizar una referencia revierte inmediatamente con ReferenceAlreadyUsed.

Previene vulnerabilidades de repetición por parte de operadores, doble emisión y desincronización de índices.

Transiciones de Administración con Bloqueo Temporal

Utiliza AccessControlDefaultAdminRulesUpgradeable. Las transferencias del rol de administrador no pueden ejecutarse en un solo bloque; exigen un retraso obligatorio (defaultAdminDelay), protegiendo contra compromisos hostiles de claves.

Separación de roles: Actualizador, Emisor, Quemador y Pausador operan de manera independiente.

Congelación Parcial de Alta Precisión

En lugar de bloquear cuentas enteras, J1USD introduce freezeBalance. Los fondos objeto de disputa pueden congelarse de forma proporcional mientras availableBalanceOf permite el uso legítimo del remanente.

Protege los saldos legítimos durante disputas comerciales.

Direcciones de Sistema Protegidas

Las direcciones críticas del protocolo (piscinas de PancakeSwap, tesorería e infraestructura operativa) están registradas como protectedSystemAddress, haciéndolas inmunes a bloqueos o congelaciones.

Evita denegaciones de servicio accidentales o maliciosas en pares de intercambio descentralizados.

MATRIZ DE AUTORIZACIÓN

Permisos de Control de Acceso Basado en Roles (RBAC)

Verificación de privilegios entre los actores de administración, emisión, quema, cumplimiento y emergencia. Todas las funciones privilegiadas exigen firmas criptográficas explícitas acordes con los roles asignados.

Identificador de RolFunción(es) Privilegiada(s)Controles de Seguridad e Invariantes
DEFAULT_ADMIN_ROLE0x00 (Admin Root)Configura asignaciones de roles, actualiza límites de techo de suministro y define direcciones de sistema protegidas.Regido por OpenZeppelin AccessControlDefaultAdminRules con retraso obligatorio por timelock.
UPGRADER_ROLEkeccak256('UPGRADER_ROLE')Autoriza actualizaciones de lógica de implementación UUPS en _authorizeUpgrade().Restringido estrictamente a la gobernanza multifirma del protocolo; no puede alterar el estado sin un despliegue de contrato válido.
MINTER_ROLEkeccak256('MINTER_ROLE')Emite nuevos tokens J1USD contra colateral verificado o requerimientos de liquidación del protocolo.Limitado estrictamente por el supplyCeiling inmutable y la deduplicación de issuanceReference único.
BURNER_ROLEkeccak256('BURNER_ROLE')Reduce el suministro de tokens durante el reembolso o la liquidación de deudas del protocolo.Requiere un burnReference único. Un bypass delimitado permite quemar desde cuentas restringidas para mantener la solvencia del protocolo.
PAUSER_ROLEkeccak256('PAUSER_ROLE')Activa o desactiva el interruptor de emergencia que detiene las transferencias estándar.Capacidad defensiva ante eventos de cisne negro o anomalías en puentes de enlace.
BLACKLISTER_ROLEkeccak256('BLACKLISTER_ROLE')Añade o retira direcciones de la lista negra global de débito/crédito.No puede dirigirse contra direcciones de protectedSystemAddress. Exige referencia de seguimiento de cumplimiento.
FREEZER_ROLEkeccak256('FREEZER_ROLE')Congela cuentas completas o importes parciales (freezeBalance, freezeAllCurrentBalance).Permite congelar importes específicos en disputa mientras mantiene disponible el resto del saldo. Direcciones de sistema inmunes.
WIPER_ROLEkeccak256('WIPER_ROLE')Destruye saldos congelados en cumplimiento de una orden judicial o regulatoria certificada.Solo puede aplicarse sobre cuentas previamente congeladas o en lista negra; no puede exceder el importe congelado.
RESCUE_ROLEkeccak256('RESCUE_ROLE')Recupera tokens BEP-20 de terceros enviados por error al contrato.Tiene estrictamente prohibido interactuar con los saldos de token J1USD (RescueProhibitedToken).

INFRAESTRUCTURA DE LIQUIDEZ Y EVALUACIÓN DE POOLS

Liquidez DEX On-Chain vs. Pools Secundarios Centralizados

J1USD equilibra mercados AMM descentralizados no custodiales en BNB Smart Chain con libros de órdenes centralizados off-chain. A continuación se desglosan las direcciones de pools, enlaces de negociación en vivo y límites de seguridad.

Liquidez Descentralizada On-Chain (DEX)

Pools de Creadores de Mercado Automatizados (AMM)

Piscinas de liquidez de smart contract no custodiales que operan nativamente en BNB Smart Chain mediante PancakeSwap. Sin custodia de contraparte; las transacciones se ejecutan peer-to-contract mediante bytecode inmutable.

PancakeSwap V3 · J1USD / USDC
PRINCIPALComisión 0.05%

Pool de liquidez concentrada que ancla J1USD estrechamente a 1.00 USD Coin. Dirección de sistema designada y protegida contra congelaciones.

Dirección del Smart Contract del Pool:
PancakeSwap V2 · J1USD / JIT
ECOSISTEMAComisión 0.25%

Puente AMM descentralizado que interconecta el token de utilidad AirJIT (JIT) y el activo de liquidación del protocolo (J1USD).

Dirección del Smart Contract del Pool:
Pools Secundarios Centralizados y Off-Chain

Pools de Libro de Órdenes Interno

AirJIT cotiza mercados secundarios en los principales pares colaterales off-chain sin direcciones de contrato dedicadas. La liquidación de operaciones se realiza mediante motores de calce centralizados de alto rendimiento.

Cero Privilegios de Emisión en Smart Contracts

Los servidores off-chain no poseen claves privadas autorizadas para emitir o quemar tokens J1USD en BNB Smart Chain.

Respaldo de Activos 1:1 On-Chain

Los saldos internos de cuentas off-chain están estrictamente delimitados por depósitos verificados en el contrato proxy on-chain.

HALLAZGOS DE LA EVALUACIÓN Y MODELADO DE AMENAZAS

Análisis de Vectores de Ataque y Defensas Formales

Revisión integral de las superficies de ataque económicas, matemáticas y criptográficas investigadas durante la auditoría técnica.

INMUNE

Ataques de Reentrancia

El token hereda estrictamente las actualizaciones de estado ERC-20 de OpenZeppelin (_update) sin realizar llamadas externas no fiables antes de asentar saldos. Cumple íntegramente con Checks-Effects-Interactions.

NO APLICABLE

Manipulación de Oráculos y Precio Spot

El registro contable de J1USD no consulta oráculos de precios externos durante transferencias ni autorizaciones. La aritmética es 100% interna, eliminando ataques por manipulación de precios con préstamos flash.

PREVENIDO

Secuestro de la Implementación

El constructor de la implementación ejecuta _disableInitializers() en el despliegue. El contrato de lógica subyacente no puede ser inicializado ni poseído por un atacante de forma independiente.

MITIGADO

Toma de Control Hostil de Gobernanza

Las reasignaciones del rol de administración imponen un retraso temporal inalterable (defaultAdminDelay). El compromiso de una única clave no permite tomar control administrativo inmediato del token.

INVARIANTES DE SEGURIDAD

Invariantes de Seguridad Formalmente Verificados

Resumen de comprobaciones de bytecode que verifican que la integridad del sistema se preserva en todos los casos límite.

Estado · Resultado

Exigibilidad del Techo de Suministro

Las operaciones de emisión revierten con SupplyCeilingExceeded si totalSupply() + amount supera el techo on-chain. El administrador tiene prohibido reducir el techo por debajo del suministro circulante.

Mecanismo de AplicaciónComprobación de estado supplyCeiling en mint()
Estado · Resultado

Deduplicación contra Repetición en Emisión y Quema

Cada transacción de emisión y quema requiere un identificador idempotente bytes32. Las llamadas duplicadas revierten con ReferenceAlreadyUsed, impidiendo la doble ejecución.

Mecanismo de AplicaciónMapeos _usedIssuanceReferences y _usedBurnReferences
Estado · Resultado

Mitigación de Secuestro de la Implementación

El contrato de implementación bloquea los inicializadores en su constructor. Ningún actor malicioso puede inicializar ni reclamar la titularidad directa del contrato de lógica.

Mecanismo de AplicaciónLlamada a _disableInitializers() en el constructor
Estado · Resultado

Protección contra Colisiones de Almacenamiento

El almacenamiento del proxy sigue los slots estándar ERC-1967. Una brecha reservada de 42 palabras garantiza que futuras actualizaciones no sobreescriban variables existentes.

Mecanismo de AplicaciónSlots estándar ERC-1967 + uint256[42] gap
Estado · Resultado

Mitigación de Toma de Control Hostil de Administración

La transferencia de DEFAULT_ADMIN_ROLE no es instantánea. Un procedimiento de dos fases con retraso temporal previene tomas de control súbitas o desastres por pérdida de una sola clave.

Mecanismo de AplicaciónAccessControlDefaultAdminRules con defaultAdminDelay
Estado · Resultado

Inmunidad de Infraestructura Crítica

Las direcciones de sistema registradas (pools DEX, tesorería, contratos operativos) no pueden ser congeladas ni puestas en lista negra, eliminando riesgos de DoS sobre las vías de liquidez pública.

Mecanismo de AplicaciónComprobación _requireNotProtected() en funciones de cumplimiento
Estado · Resultado

Bloqueo de Auto-Drenaje en Rescate de Tokens

La función rescueERC20 permite recuperar tokens de terceros enviados por error, pero bloquea explícitamente llamadas que tengan como objetivo el propio token J1USD.

Mecanismo de AplicaciónComprobación RescueProhibitedToken en rescueERC20()
Estado · Resultado

Interruptor Global de Emergencia (Circuit Breaker)

El rol autorizado PAUSER_ROLE puede pausar de inmediato transferencias y aprobaciones ante anomalías graves de mercado, preservando al mismo tiempo las operaciones legales de quema.

Mecanismo de AplicaciónModificador whenNotPaused en transfer/mint/approve
Estado · Resultado

Precisión de Congelación Aislada de Saldo

Permite congelar saldos en disputa sin inmovilizar toda la cartera del usuario, dejando los fondos excedentes disponibles de forma líquida.

Mecanismo de AplicaciónAislamiento aritmético en availableBalanceOf()

DIVULGACIÓN RESPONSABLE

Reportar una Vulnerabilidad

AirJIT mantiene un programa proactivo de divulgación de vulnerabilidades. Si descubre una vulnerabilidad de seguridad en el proxy J1USD, la implementación o la infraestructura de smart contracts, repórtela de manera responsable.

Cifre los informes confidenciales con PGP cuando sea posible. Respondemos a todas las presentaciones legítimas en un plazo de 24 horas.