-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
- Configuración General de la Cadena
- genesis_time: "2025-06-17T12:34:47.941960658Z"
- Observación: La fecha del génesis es el 17 de junio de 2025. Esto es una fecha pasada con respecto a hoy (26 de junio de 2025).
- Posible "Falla"/Corrección: Si esta cadena se está lanzando ahora, o si se reinicia, este genesis_time debería actualizarse a la hora actual de la generación del genesis.json. Un genesis_time en el pasado puede causar problemas de sincronización para los nodos que intentan unirse o para el cálculo de tiempos en algunos módulos.
- chain_id: "qubetics_9030-1"
- Observación: Formato estándar. qubetics_9030 es el identificador de la cadena y -1 es un sufijo de número de versión que a menudo se incrementa para cada iteración de la cadena.
- Optimización: Es un buen chain_id. Asegura que sea único.
- initial_height: "1"
- Observación: La altura inicial de la cadena es 1. Estándar.
- consensus_params (Parámetros de Consenso - Tendermint) * block:
- max_bytes: "8388608" (8 MB)
- max_gas: "1000000000000000" (1 cuatrillón de gas)
- Observación: max_gas es un valor extremadamente alto. 1 cuatrillón de gas por bloque es inmensamente más grande que los límites de gas de Ethereum (que son del orden de 30-60 millones de gas por bloque).
- Posible "Falla"/Corrección: Un max_gas tan alto podría tener varias implicaciones:
- Riesgo de Spam/Ataques DoS: Permitir transacciones de gas tan masivas podría hacer que la red sea vulnerable a ataques de denegación de servicio (DoS) si un atacante puede llenar bloques con transacciones costosas.
- Tamaño de Bloque Inesperado: Aunque max_bytes está limitado, el max_gas permite muchas operaciones computacionalmente costosas.
- Rendimiento del Nodo: Procesar y propagar bloques con un gas tan alto podría ser muy exigente para los nodos, requiriendo hardware muy potente.
- Recomendación: Reducir este max_gas a un valor más razonable y conservador, similar a cadenas EVM de alto rendimiento (ej., en el rango de billones, no cuatrillones), y aumentarlo gradualmente mediante gobernanza a medida que la red demuestre su capacidad.
- evidence: Parámetros estándar para el manejo de evidencia de doble firma. Parecen razonables.
- validator: pub_key_types: ["ed25519"]. Estándar para Tendermint.
- app_state (Estado Inicial de los Módulos)
Aquí es donde se define la configuración de cada módulo de Cosmos SDK.
a. auth (Módulo de Autenticación)
- accounts: Se inicializa una única cuenta qubetics1ej7gz8kgf0z893xzsg0wtfg5spfmsf7vt75p3q con account_number: "0" y sequence: "0". Es la cuenta del validador inicial. Parece correcto.
b. bank (Módulo Bancario) - balances y supply:
- Se asigna un saldo inicial de 1,067,737,016,860,000,000,000,000,000 (1.067 cuatrillones) de tics a la misma dirección qubetics1ej7gz8kgf0z893xzsg0wtfg5spfmsf7vt75p3q.
- Observación: Este es un suministro inicial de tokens extremadamente grande para una sola cuenta, y también es el suministro total.
- Posible "Falla"/Corrección:
- Centralización Inicial: Toda la oferta inicial de tokens está en manos de una sola cuenta. Esto es normal para la cuenta de génesis que distribuye tokens, pero si esta cuenta no se utiliza para una distribución planificada inmediatamente después del génesis, representa un punto de centralización extrema.
- Errores Tipográficos: Asegurarse de que este número masivo es el suministro deseado y no un error tipográfico.
- Distribución: Para una red principal, el genesis.json de una cadena de prueba suele tener un suministro inicial pequeño. Para una mainnet real, el genesis.json debería reflejar la distribución inicial de tokens planificada (airdrops, fondos del equipo, inversores, etc.) en múltiples cuentas para fomentar la descentralización desde el principio.
- Recomendación: Si este es un genesis.json para una mainnet, se debería modificar el balances y supply para incluir la distribución inicial a las direcciones planificadas.
c. distribution (Módulo de Distribución de Recompensas)
- community_tax, base_proposer_reward, bonus_proposer_reward son 0.000000000000000000.
- Observación: Esto significa que no hay impuestos de la comunidad ni recompensas de bloque configuradas para los proponentes al inicio. Todas las recompensas de staking (si las hubiera del módulo mint) irían directamente a los delegadores.
- Posible "Falla"/Corrección: Esto no es necesariamente una "falla", pero es una elección de diseño importante. Si Qubetics planea tener un fondo de tesorería comunitario o recompensas para los validadores por proponer bloques, estos valores deberán actualizarse. Si la inflación es cero (mint módulo), no habrá recompensas para distribuir.
d. epochs (Módulo de Épocas)
- week y day están configurados con start_time: "0001-01-01T00:00:00Z" y epoch_counting_started: false.
- Observación: Esto es normal para una configuración de génesis. Las épocas se inician y sus tiempos se registran una vez que la cadena comienza a producir bloques.
e. erc20 (Módulo de Compatibilidad ERC-20)
- Observación: Esto es normal para una configuración de génesis. Las épocas se inician y sus tiempos se registran una vez que la cadena comienza a producir bloques.
- enable_erc20: true
- native_precompiles: ["0xD4949664cD82660AaE99bEdc034a0deA8A0bd517"] (una dirección ERC-20)
- token_pairs: Se define un par entre la dirección ERC-20 y el denom "tics", con enabled: true y contract_owner: "OWNER_MODULE".
- Observación: Esto indica una fuerte integración con el estándar ERC-20, permitiendo que el token nativo tics sea mapeado y usado como un token ERC-20 y viceversa. La dirección 0xD4949664cD82660AaE99bEdc034a0deA8A0bd517 es el contrato ERC-20 precompilado para el token tics.
- Optimización: Excelente para la interoperabilidad EVM.
f. evm (Módulo EVM - Ethermint)
- evm_denom: "tics" (confirmando que tics es la moneda base para gas en EVM).
- extra_eips: ["ethereum_3855"] (una EIP relacionada con el op-code PUSH0).
- chain_config: Las configuraciones de las bifurcaciones de Ethereum (Homestead, Byzantium, London, Shanghai, Cancun, etc.) están todas en "0".
- Observación: Configurar todas las bifurcaciones en "0" significa que todas esas características de Ethereum están activas desde el bloque génesis. Esto es común en cadenas Ethermint para tener la funcionalidad más reciente de Ethereum desde el inicio.
- allow_unprotected_txs: false.
- Observación: Esto es muy bueno para la seguridad. Significa que la cadena requerirá transacciones EIP-155 (transacciones firmadas con chain_id para prevenir ataques de repetición).
- evm_channels: ["channel-10", "channel-31", "channel-83"]
- Observación: Esto indica que la EVM de Qubetics está configurada para comunicarse a través de canales IBC específicos. Esto es crucial para la funcionalidad de cadena agregada y la interoperabilidad con otras cadenas.
- access_control: create y call son ACCESS_TYPE_PERMISSIONLESS.
- Observación: Esto significa que cualquiera puede crear y llamar contratos inteligentes sin restricciones de lista blanca. Esto es el comportamiento esperado para una blockchain pública tipo Ethereum.
g. feemarket (Módulo de Mercado de Tarifas - EIP-1559)
- Observación: Esto significa que cualquiera puede crear y llamar contratos inteligentes sin restricciones de lista blanca. Esto es el comportamiento esperado para una blockchain pública tipo Ethereum.
- no_base_fee: false (significa que hay una tarifa base EIP-1559).
- base_fee: "30000000000000" (30 billones de tics).
- min_gas_price: "0.000000000000000000" (0).
- Observación: Esto es la implementación de la EIP-1559 de Ethereum. base_fee es relativamente alto en unidades mínimas de tics.
- Posible "Falla"/Corrección: Un min_gas_price de "0" combinado con un base_fee puede ser confuso. Normalmente, el min_gas_price es un umbral para que el nodo acepte transacciones. Si la tarifa base de EIP-1559 es el principal mecanismo, min_gas_price puede configurarse a cero si los nodos solo confían en la base_fee. No es una falla crítica, pero es una configuración a entender y monitorear.
h. genutil (Módulo de Utilidades de Génesis)
- gen_txs: Contiene la transacción de creación de un validador inicial.
- moniker: "NodeForgeAlpha"
- min_self_delegation: "25000000000000000000000" (25,000 tics en unidades base, asumiendo 18 decimales).
- delegator_address: qubetics1ej7gz8kgf0z893xzsg0wtfg5spfmsf7vt75p3q (la misma cuenta que recibe todos los tokens iniciales).
- validator_address: qubeticsvaloper1ej7gz8kgf0z893xzsg0wtfg5spfmsf7vguzhuy
- value (auto-delegación): "25000000000000000000000" (25,000 tics).
- memo: "70c78086097bd27ec2e4ec49fb7bfb87817fceed@10.1.79.46:26656"
- Observación: Este memo contiene una dirección IP privada (10.1.79.46) y un puerto (26656).
- Posible "Falla"/Corrección: Esto es una falla de seguridad importante para una Mainnet. Exponer una dirección IP privada en el genesis.json (que será público) es un riesgo significativo.
- Riesgos: Podría dar pistas sobre la topología de red interna del equipo, o incluso si esa IP fuera pública por accidente, sería un objetivo directo para ataques.
- Corrección: Este memo DEBE eliminarse o ser una cadena vacía ("") antes de un lanzamiento de Mainnet. Los memo en las transacciones de génesis son a menudo metadatos para el validador, pero no deben contener información sensible o privada.
- auth_info:
- public_key @type: /ethermint.crypto.v1.ethsecp256k1.PubKey
- mode: SIGN_MODE_DIRECT
- signatures: Una firma larga.
- Observación: Esto confirma que el validador inicial usará la clave ethsecp256k1 (compatible con Ethereum), lo cual es bueno para la integración Ethermint.
i. gov (Módulo de Gobernanza)
- min_deposit: 1,000,000,000,000,000,000,000 (1000 tics).
- voting_period: 172800s (2 días).
- quorum y veto_threshold: 0.334000000000000000 (33.4%).
- threshold: 0.500000000000000000 (50%).
- Observación: Estas son configuraciones estándar para la gobernanza de Cosmos. Los umbrales y períodos son los típicos para el inicio.
- Optimización: Son parámetros que la comunidad puede ajustar a través de la gobernanza una vez que la red esté en marcha.
j. mint (Módulo de Acuñación/Inflación)
- inflation: 0.000000000000000000.
- inflation_rate_change, inflation_max, inflation_min son 0.000000000000000000.
- Observación: Esto significa que la inflación está configurada en 0% desde el génesis. No se acuñarán nuevos tokens automáticamente para recompensar a los stakers o al fondo de la comunidad a través de este módulo.
- Posible "Falla"/Corrección: Si la intención de Qubetics es tener un modelo deflacionario o una emisión fija a través de otros medios, esto es correcto. Pero si la idea es recompensar a los stakers o validadores con nuevos tokens para incentivar la participación a largo plazo, entonces esta configuración necesitará ser cambiada (y probablemente el módulo de distribution también). Sin inflación, las recompensas de staking provendrían de las tarifas de transacción o de los subsidios iniciales del bank (que son finitos).
k. staking (Módulo de Staking)
- unbonding_time: 1209600s (14 días).
- max_validators: 100.
- min_commission_rate: 0.050000000000000000 (5%).
- Observación: Estas son configuraciones razonables para una red de prueba de concepto o una mainnet inicial. 100 validadores es un buen número para empezar la descentralización. El tiempo de unbonding de 14 días es un estándar.
- Optimización: El max_validators es un parámetro clave para la descentralización. A medida que la red crezca, se podría considerar aumentarlo mediante gobernanza.
l. validatorpool (Módulo Personalizado?)
- annual_roi: 30.
- Observación: Este parece ser un módulo personalizado de Qubetics. Un annual_roi (Retorno Anual de la Inversión) de 30 (probablemente 30%) es una característica interesante para un "pool de validadores" o un módulo de liquidez de staking.
- Optimización: Para una mainnet, los detalles de este módulo serían cruciales en la documentación.
Resumen de "Fallas" y Puntos de Corrección/Optimización
Basado en el análisis de este genesis.json, aquí están las áreas que se pueden considerar "fallas" o que requieren una atención crítica antes de un lanzamiento de Mainnet:
- genesis_time en el Pasado:
- Falla: La fecha y hora de génesis (2025-06-17T...Z) es anterior a la fecha actual.
- Corrección: Actualizar a la fecha y hora exacta en que se genere el genesis.json final para el lanzamiento de la Mainnet.
- consensus_params.block.max_gas Excesivamente Alto:
- Falla: El límite de gas por bloque es de 10^15, un valor irrealmente alto y potencialmente peligroso para la estabilidad y seguridad de la red.
- Corrección: Reducirlo drásticamente a un valor más manejable (ej., 30-60 millones o incluso unos pocos billones, pero no cuatrillones), y permitir que sea ajustado por gobernanza más tarde.
- Centralización Inicial de Tokens (bank):
- Falla (para Mainnet): Todos los tokens iniciales se asignan a una única cuenta.
- Corrección: Para un lanzamiento de Mainnet, el genesis.json debería reflejar la distribución inicial planificada de tokens a múltiples partes interesadas (equipo, inversores, comunidad, etc.) para fomentar la descentralización desde el Día 1. Si esto es para una testnet o un solo nodo, es menos crítico.
- Dirección IP Privada en genutil.gen_txs.memo:
- Falla Crítica de Seguridad/Privacidad: La inclusión de 70c78086097bd27ec2e4ec49fb7bfb87817fceed@10.1.79.46:26656 expone una IP privada.
- Corrección: ELIMINAR COMPLETAMENTE esta información sensible del campo memo antes de cualquier lanzamiento público de la Mainnet. Este campo debe estar vacío o contener metadatos públicos no sensibles.
- Inflación Cero (mint):
- Falla Potencial (Diseño Económico): Si la intención es recompensar el staking con nuevos tokens para incentivar la participación a largo plazo, una inflación del 0% no lo permitirá.
- Corrección: Si se desea inflación, ajustar los parámetros de mint para definir un modelo inflacionario. Si la intención es deflacionaria o las recompensas vienen de otro lado, entonces no es una falla, pero debe ser una elección de diseño clara y comunicada.
Este genesis.json es un documento técnico vital. Abordar las "fallas" y optimizaciones mencionadas, especialmente la dirección IP privada y el max_gas excesivo, será crucial para la seguridad, estabilidad y descentralización de la red Qubetics cuando se lance oficialmente.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels