Reenviar el título original:新公链 Nibiru 主网将上线,解析其技术特点与安全开发实践
Cadena pública de capa 1—-Nibiru Chain lanzó un incentivo de lanzamiento aéreo a finales de enero de 2024. Después de un mes de actividades de airdrop, su comunidad creció más de tres veces, con más de 500.000 seguidores en Twitter. Con más de USD 20 millones en fondos asegurados, Nibiru Chain está preparada para abordar la seguridad y la velocidad de las aplicaciones DeFi, compitiendo potencialmente con dYdX. Actualmente, Nibiru Chain planea lanzar su Mainnet esta semana. Como una solución de Capa 1 de rápido crecimiento, cuáles son las características técnicas y las ventajas competitivas de Nibiru Chain? ¿Qué consideraciones de seguridad deben tener en cuenta los desarrolladores a la hora de desarrollar proyectos dentro de su ecosistema? Hoy, Beosin ofrecerá un análisis detallado.
Nibiru Chain se centra principalmente en las transacciones DeFi como su negocio principal. Consta de cuatro componentes principales:
Negociación de contratos perpetuos en cadena, que permite a los usuarios participar en operaciones apalancadas de criptoactivos populares como BTC, ETH y ATOM, con un apalancamiento de hasta 10x. Los titulares de tokens $NIBI tendrán derechos de gobernanza sobre Nibi-Perps y disfrutarán de descuentos en las tarifas de negociación.
El protocolo automatizado de creadores de mercado de Nibiru está diseñado para admitir dos tipos de fondos de liquidez: grupos de intercambio de monedas estables y grupos de productos constantes regulares.
Una stablecoin totalmente colateralizada dentro del ecosistema Nibiru. Nibiru planea inicialmente apoyar la acuñación de $NUSD utilizando $USDC y $NIBI, con la proporción específica determinada por el Índice de Garantía (CR). Por ejemplo, si CR = 80%, significa acuñar 100 $NUSD, el usuario debe proporcionar 80 $USDC y el equivalente a 20 $NUSD en NIBI. En el futuro, la Cadena Nibiru soportará más tipos de garantías, y actualmente, $NUSD se parece más a la $FRAX en el ecosistema del Cosmos.
Nibi-Oracles es la solución nativa de Nibiru, que permite a los operadores validadores participar activamente en la votación de consenso de los oráculos. Integra datos fuera de la cadena de alta fidelidad en la cadena de bloques, proporcionando retroalimentación de baja latencia de API externas y contratos inteligentes.
En 2024, Nibiru Chain se centrará en expandir el ecosistema, con importantes desarrollos que incluyen múltiples planes, como la integración con los principales proyectos DeFi en múltiples cadenas, la cotización en exchanges centralizados de primer nivel, la finalización de la ejecución optimista paralela y el logro de una compatibilidad EVM integral.
Si desarrollas una aplicación en Nibiru Chain, el proceso de desarrollo y los lenguajes requeridos son casi idénticos a los de otras cadenas públicas de Cosmos. Seguir las pautas de seguridad a continuación puede mejorar la seguridad del contrato del proyecto:
Al igual que en el desarrollo de contratos con Solidity, los desarrolladores deben considerar cómo abordar los ataques y corregir las vulnerabilidades. Por lo tanto, los desarrolladores deben crear contratos inteligentes actualizables y formular planes de respuesta al riesgo.
Cualquier dirección válida del SDK de Cosmos tiene dos representaciones válidas: todas minúsculas y mayúsculas, como:
cosmos1uzwqa88hcqe5gs7u7lgjxekz7xc6sm0f7xwp6a vs.
COSMOS1UZWQA88HCQE5GS7U7LGJXEKZ7XC6SM0F7XWP6A
Ellos están en la misma dirección, que Nibiru. Cuando se trata de direcciones en los contratos, debemos tener en cuenta esta característica de las direcciones.
pub fn valid_transfer (
deps: DepsMut,
info: MessageInfo,
importe: Uint128,
dest: Cadena,
) -> resultado <Response, ContractError> {
Compruebe si la dirección está en la lista negra
if let Some (is_in_blacklist) = BLACKLIST. may_load (deps.storage, &dest.to_string ( )? {
Si is_denied {
return Err (ContractError::D eniedRecipient);
}
} else if let Some (is_in_blacklist) = BLACKLIST.may_load ( deps.storage , &info.sender.clone ( ) )? {
Si is_denied {
return Err (ContractError::D eniedSender);
}
......
};
Como se muestra en el código anterior, dado que dest no está estandarizado y las direcciones comúnmente utilizadas son direcciones en minúsculas, cualquiera puede omitir BLACKLIST proporcionando una dirección en mayúsculas.
En los contratos de CosmWasm, los desarrolladores deben tener en cuenta los riesgos de desbordamiento de enteros o situaciones como la división por cero. Se recomienda que los desarrolladores usen los tipos Uint256 y Uint512 de CosmWasm y empleen funciones matemáticas como full_mul() que no causen desbordamiento.
El control de acceso es una de las principales preocupaciones de seguridad en la seguridad del programa, y numerosos incidentes de seguridad han sido causados por problemas de control de acceso. Es igualmente importante abordar los problemas de control de acceso en los contratos de Cosmwasm.
He aquí un ejemplo típico:
fn update_config(
deps: DepsMut,
msg: UpdateMsg
) -> Resultado<Respuesta, ContractError> {
let config = CONFIG.load(deps.storage)?;
let new_config = Config {
rewards_vault_contract: msg.vault_address
.map(|humano| deps.api.addr_validate(&humano))
.transpose()?
.unwrap_or(config.rewards_vault_contract)
};
CONFIG.save(deps.storage, &new_config)?;
Ok(Response::new().add_attribute("action", "update_config"))
}
Debido a la falta de comprobaciones y restricciones en la dirección de la persona que llama, el código anterior permite a cualquier persona llamar a update_config(), establecer su propia dirección como dirección de bóveda y recibir todas las recompensas generadas por el contrato.
La operación por contrato de Cosmwasm establece un límite de gas alto, pero el uso inadecuado de los gases de escape. El contrato CosmWasm puede atascarse en un bucle infinito al volver a llamarse a sí mismo en el controlador ACK. Si los desarrolladores transfieren paquetes de datos entre dos contratos de CosmWasm, deben tener en cuenta que esto puede conducir a un bucle infinito y consumir una gran cantidad de tarifas de gas.
La auditoría de contratos inteligentes implica probar y revisar sistemáticamente el código de los contratos inteligentes para identificar posibles vulnerabilidades de seguridad, mitigar los riesgos de seguridad y garantizar que el código no tenga fallas de lógica empresarial y se ajuste a los procesos y resultados operativos esperados. Es crucial realizar auditorías de seguridad periódicas de los contratos inteligentes para los proyectos. Se recomienda que las auditorías se realicen después de la finalización del desarrollo del contrato y antes de la implementación de la red principal.
Los equipos de proyecto deben considerar el uso de billeteras multi-sig para administrar las tesorerías del proyecto y los contratos inteligentes. Las cuentas multifirma deben estar en manos de varias entidades para mitigar los posibles riesgos de control de acceso y la malversación interna. Nibiru Chain ya ha adoptado la solución multi-sig de Nomos, y los equipos de proyecto pueden considerar el uso de Nomos para fines de gestión de activos.
Como una nueva cadena pública de Capa 1, Nibiru Chain proporciona una plataforma innovadora para DeFi, juegos, RWA y otros campos. Su objetivo es resolver los problemas de accesibilidad, seguridad y rendimiento de las aplicaciones Web3 y proporcionar a los desarrolladores y usuarios comunes servicios integrales y excelentes. Servicios.
Reenviar el título original:新公链 Nibiru 主网将上线,解析其技术特点与安全开发实践
Cadena pública de capa 1—-Nibiru Chain lanzó un incentivo de lanzamiento aéreo a finales de enero de 2024. Después de un mes de actividades de airdrop, su comunidad creció más de tres veces, con más de 500.000 seguidores en Twitter. Con más de USD 20 millones en fondos asegurados, Nibiru Chain está preparada para abordar la seguridad y la velocidad de las aplicaciones DeFi, compitiendo potencialmente con dYdX. Actualmente, Nibiru Chain planea lanzar su Mainnet esta semana. Como una solución de Capa 1 de rápido crecimiento, cuáles son las características técnicas y las ventajas competitivas de Nibiru Chain? ¿Qué consideraciones de seguridad deben tener en cuenta los desarrolladores a la hora de desarrollar proyectos dentro de su ecosistema? Hoy, Beosin ofrecerá un análisis detallado.
Nibiru Chain se centra principalmente en las transacciones DeFi como su negocio principal. Consta de cuatro componentes principales:
Negociación de contratos perpetuos en cadena, que permite a los usuarios participar en operaciones apalancadas de criptoactivos populares como BTC, ETH y ATOM, con un apalancamiento de hasta 10x. Los titulares de tokens $NIBI tendrán derechos de gobernanza sobre Nibi-Perps y disfrutarán de descuentos en las tarifas de negociación.
El protocolo automatizado de creadores de mercado de Nibiru está diseñado para admitir dos tipos de fondos de liquidez: grupos de intercambio de monedas estables y grupos de productos constantes regulares.
Una stablecoin totalmente colateralizada dentro del ecosistema Nibiru. Nibiru planea inicialmente apoyar la acuñación de $NUSD utilizando $USDC y $NIBI, con la proporción específica determinada por el Índice de Garantía (CR). Por ejemplo, si CR = 80%, significa acuñar 100 $NUSD, el usuario debe proporcionar 80 $USDC y el equivalente a 20 $NUSD en NIBI. En el futuro, la Cadena Nibiru soportará más tipos de garantías, y actualmente, $NUSD se parece más a la $FRAX en el ecosistema del Cosmos.
Nibi-Oracles es la solución nativa de Nibiru, que permite a los operadores validadores participar activamente en la votación de consenso de los oráculos. Integra datos fuera de la cadena de alta fidelidad en la cadena de bloques, proporcionando retroalimentación de baja latencia de API externas y contratos inteligentes.
En 2024, Nibiru Chain se centrará en expandir el ecosistema, con importantes desarrollos que incluyen múltiples planes, como la integración con los principales proyectos DeFi en múltiples cadenas, la cotización en exchanges centralizados de primer nivel, la finalización de la ejecución optimista paralela y el logro de una compatibilidad EVM integral.
Si desarrollas una aplicación en Nibiru Chain, el proceso de desarrollo y los lenguajes requeridos son casi idénticos a los de otras cadenas públicas de Cosmos. Seguir las pautas de seguridad a continuación puede mejorar la seguridad del contrato del proyecto:
Al igual que en el desarrollo de contratos con Solidity, los desarrolladores deben considerar cómo abordar los ataques y corregir las vulnerabilidades. Por lo tanto, los desarrolladores deben crear contratos inteligentes actualizables y formular planes de respuesta al riesgo.
Cualquier dirección válida del SDK de Cosmos tiene dos representaciones válidas: todas minúsculas y mayúsculas, como:
cosmos1uzwqa88hcqe5gs7u7lgjxekz7xc6sm0f7xwp6a vs.
COSMOS1UZWQA88HCQE5GS7U7LGJXEKZ7XC6SM0F7XWP6A
Ellos están en la misma dirección, que Nibiru. Cuando se trata de direcciones en los contratos, debemos tener en cuenta esta característica de las direcciones.
pub fn valid_transfer (
deps: DepsMut,
info: MessageInfo,
importe: Uint128,
dest: Cadena,
) -> resultado <Response, ContractError> {
Compruebe si la dirección está en la lista negra
if let Some (is_in_blacklist) = BLACKLIST. may_load (deps.storage, &dest.to_string ( )? {
Si is_denied {
return Err (ContractError::D eniedRecipient);
}
} else if let Some (is_in_blacklist) = BLACKLIST.may_load ( deps.storage , &info.sender.clone ( ) )? {
Si is_denied {
return Err (ContractError::D eniedSender);
}
......
};
Como se muestra en el código anterior, dado que dest no está estandarizado y las direcciones comúnmente utilizadas son direcciones en minúsculas, cualquiera puede omitir BLACKLIST proporcionando una dirección en mayúsculas.
En los contratos de CosmWasm, los desarrolladores deben tener en cuenta los riesgos de desbordamiento de enteros o situaciones como la división por cero. Se recomienda que los desarrolladores usen los tipos Uint256 y Uint512 de CosmWasm y empleen funciones matemáticas como full_mul() que no causen desbordamiento.
El control de acceso es una de las principales preocupaciones de seguridad en la seguridad del programa, y numerosos incidentes de seguridad han sido causados por problemas de control de acceso. Es igualmente importante abordar los problemas de control de acceso en los contratos de Cosmwasm.
He aquí un ejemplo típico:
fn update_config(
deps: DepsMut,
msg: UpdateMsg
) -> Resultado<Respuesta, ContractError> {
let config = CONFIG.load(deps.storage)?;
let new_config = Config {
rewards_vault_contract: msg.vault_address
.map(|humano| deps.api.addr_validate(&humano))
.transpose()?
.unwrap_or(config.rewards_vault_contract)
};
CONFIG.save(deps.storage, &new_config)?;
Ok(Response::new().add_attribute("action", "update_config"))
}
Debido a la falta de comprobaciones y restricciones en la dirección de la persona que llama, el código anterior permite a cualquier persona llamar a update_config(), establecer su propia dirección como dirección de bóveda y recibir todas las recompensas generadas por el contrato.
La operación por contrato de Cosmwasm establece un límite de gas alto, pero el uso inadecuado de los gases de escape. El contrato CosmWasm puede atascarse en un bucle infinito al volver a llamarse a sí mismo en el controlador ACK. Si los desarrolladores transfieren paquetes de datos entre dos contratos de CosmWasm, deben tener en cuenta que esto puede conducir a un bucle infinito y consumir una gran cantidad de tarifas de gas.
La auditoría de contratos inteligentes implica probar y revisar sistemáticamente el código de los contratos inteligentes para identificar posibles vulnerabilidades de seguridad, mitigar los riesgos de seguridad y garantizar que el código no tenga fallas de lógica empresarial y se ajuste a los procesos y resultados operativos esperados. Es crucial realizar auditorías de seguridad periódicas de los contratos inteligentes para los proyectos. Se recomienda que las auditorías se realicen después de la finalización del desarrollo del contrato y antes de la implementación de la red principal.
Los equipos de proyecto deben considerar el uso de billeteras multi-sig para administrar las tesorerías del proyecto y los contratos inteligentes. Las cuentas multifirma deben estar en manos de varias entidades para mitigar los posibles riesgos de control de acceso y la malversación interna. Nibiru Chain ya ha adoptado la solución multi-sig de Nomos, y los equipos de proyecto pueden considerar el uso de Nomos para fines de gestión de activos.
Como una nueva cadena pública de Capa 1, Nibiru Chain proporciona una plataforma innovadora para DeFi, juegos, RWA y otros campos. Su objetivo es resolver los problemas de accesibilidad, seguridad y rendimiento de las aplicaciones Web3 y proporcionar a los desarrolladores y usuarios comunes servicios integrales y excelentes. Servicios.