A análise da cadeia de Nibiru

Principiante3/18/2024, 8:25:25 AM
A Nibiru Chain, uma cadeia pública Layer1 emergente, concentra-se em melhorar a segurança e a velocidade das aplicações DeFi, com mais de 20 milhões de dólares em financiamento garantido. O artigo analisa o protocolo principal da cadeia Nibiru, os planos de desenvolvimento do ecossistema e as considerações de segurança para os programadores ao criarem aplicações.

Reenvie o título original:新公链 Nibiru 主网将上线,解析其技术特点与安全开发实践

A cadeia pública Layer1--Nibiru Chain lançou um incentivo de lançamento aéreo no final de janeiro de 2024. Após um mês de actividades de lançamento aéreo, a sua comunidade triplicou, com mais de 500 000 seguidores no Twitter. Com mais de 20 milhões de dólares em financiamento garantido, a Nibiru Chain está preparada para abordar a segurança e a velocidade das aplicações DeFi, competindo potencialmente com a dYdX. Atualmente, a Nibiru Chain planeia lançar a sua Mainnet esta semana. Como uma solução Layer1 em rápido crescimento, quais são as características técnicas e as vantagens competitivas da Nibiru Chain? Que considerações de segurança devem os programadores ter em mente quando desenvolvem projectos no seu ecossistema? Hoje, Beosin fará uma análise pormenorizada.

Análise do Protocolo da Cadeia de Nibiru

A Nibiru Chain centra-se principalmente nas transacções DeFi como a sua atividade principal. Inclui quatro componentes principais:

  1. Nibi-Perps

Negociação de contratos perpétuos na cadeia, permitindo que os utilizadores se envolvam na negociação alavancada de activos criptográficos populares, como BTC, ETH e ATOM, com uma alavancagem de até 10x. Os detentores de tokens $NIBI terão direitos de governação sobre o Nibi-Perps e beneficiarão de descontos nas taxas de negociação.

  1. Nibi-Swap

O protocolo de criação de mercado automatizado da Nibiru foi concebido para suportar dois tipos de pools de liquidez: pools de troca de stablecoin e pools de produtos constantes regulares.

  1. $NUSD

Uma stablecoin totalmente colateralizada dentro do ecossistema Nibiru. Nibiru planeia inicialmente apoiar a cunhagem de $NUSD usando $USDC e $NIBI, com o rácio específico determinado pelo Rácio de Garantia (CR). Por exemplo, se CR=80%, significa que para cunhar 100 $NUSD, o utilizador tem de fornecer 80 $USDC e o equivalente a 20 $NUSD em NIBI. No futuro, a cadeia Nibiru suportará mais tipos de garantias e, atualmente, o $NUSD é mais parecido com o $FRAX no ecossistema Cosmos.

  1. Nibi-Oráculos

O Nibi-Oracles é a solução de oráculo nativa do Nibiru, permitindo que os operadores de validação participem ativamente na votação de consenso do oráculo. Integra dados fora da cadeia de alta fidelidade na cadeia de blocos, fornecendo feedback de baixa latência a partir de APIs externas e contratos inteligentes.

Em 2024, a Nibiru Chain irá concentrar-se na expansão do ecossistema, com grandes desenvolvimentos que incluem vários planos, tais como a integração com os principais projectos DeFi em várias cadeias, a listagem em bolsas centralizadas de primeira linha, a conclusão da execução otimista paralela e a obtenção de uma compatibilidade EVM abrangente.

Práticas de desenvolvimento seguro

Se desenvolver uma aplicação na cadeia Nibiru, o processo de desenvolvimento e as linguagens necessárias são quase idênticos aos das outras cadeias públicas Cosmos. O cumprimento das orientações de segurança abaixo indicadas pode melhorar a segurança contratual do projeto:

Segurança do desenvolvimento do contrato

  1. Esteja preparado para enfrentar os ataques

À semelhança do desenvolvimento de contratos utilizando Solidity, os programadores têm de considerar a forma de lidar com ataques e corrigir vulnerabilidades. Por conseguinte, os criadores devem criar contratos inteligentes actualizáveis e formular planos de resposta aos riscos.

  1. Preste atenção à normalização da validação de endereços

Qualquer endereço válido do Cosmos SDK tem duas representações válidas: todas as letras minúsculas e todas as letras maiúsculas, como por exemplo:

cosmos1uzwqa88hcqe5gs7u7lgjxekz7xc6sm0f7xwp6a vs.

COSMOS1UZWQA88HCQE5GS7U7LGJXEKZ7XC6SM0F7XWP6A

Eles estão no mesmo endereço que Nibiru. Quando tratamos de endereços em contratos, temos de ter em conta esta caraterística dos endereços.

pub fn valid_transfer (

deps: DepsMut,

info: MessageInfo,

quantidade: Uint128,

dest: String,

) -> Result <Response, ContractError> {

// Verifique se o endereço está na lista negra

if let Some (is_in_blacklist) = BLACKLIST. may_load (deps.storage, &dest.to_string ( )? {

se is_denied {

return Err (ContractError::DeniedRecipient);

}

} else if let Some (is_in_blacklist) = BLACKLIST.may_load ( deps.storage , &info.sender.clone ( ) )? {

se is_denied {

return Err (ContractError::DeniedSender);

}

......

};

Como mostra o código acima, uma vez que o dest não está normalizado e os endereços normalmente utilizados são endereços em minúsculas, qualquer pessoa pode contornar a BLACKLIST fornecendo um endereço em maiúsculas.

  1. Preste atenção às operações aritméticas e ao transbordamento

Nos contratos CosmWasm, os programadores devem ter em atenção os riscos de estouro de números inteiros ou situações como a divisão por zero. Recomenda-se que os programadores utilizem os tipos Uint256 e Uint512 do CosmWasm e empreguem funções matemáticas como full_mul() que não causem overflow.

  1. Questões de controlo de acesso

O controlo do acesso é uma das principais preocupações em matéria de segurança dos programas, e numerosos incidentes de segurança foram causados por problemas de controlo do acesso. É igualmente importante abordar as questões de controlo de acesso nos contratos Cosmwasm.

Eis um exemplo típico:

fn update_config(

deps: DepsMut,

msg: UpdateMsg

) -> Result<Response, ContractError> {

let config = CONFIG.load(deps.storage)?;

let new_config = Config {

rewards_vault_contract: msg.vault_address

.map(|human| deps.api.addr_validate(&human))

.transpose()?

.unwrap_or(config.rewards_vault_contract)

};

CONFIG.save(deps.storage, &new_config)?

Ok(Response::new().add_attribute("action", "update_config"))

}

Devido à falta de verificações e restrições no endereço de quem chama, o código acima permite que qualquer pessoa chame update_config(), defina o seu próprio endereço como o endereço do cofre e receba todas as recompensas geradas pelo contrato.

  1. Cuidado com os loops infinitos

O funcionamento por contrato da Cosmwasm estabelece um limite de gás elevado, mas uma utilização incorrecta irá esgotar o gás. O contrato CosmWasm pode ficar preso num ciclo infinito, chamando-se a si próprio de novo no manipulador ACK. Se os programadores transferirem pacotes de dados entre dois contratos CosmWasm, devem estar cientes de que isso pode levar a um loop infinito e consumir uma grande quantidade de taxas de gás.

Práticas de segurança em projectos

  1. Auditoria de contratos inteligentes

A auditoria de contratos inteligentes envolve o teste sistemático e a revisão do código do contrato inteligente para identificar potenciais vulnerabilidades de segurança, mitigar os riscos de segurança e garantir que o código não tem falhas de lógica comercial e está em conformidade com os processos e resultados operacionais esperados. É crucial realizar auditorias de segurança regulares aos contratos inteligentes para projectos. Recomenda-se que as auditorias sejam efectuadas após a conclusão do desenvolvimento do contrato e antes da implantação da Mainnet.

  1. Utilização de carteiras Multisig

As equipas de projeto devem considerar a utilização de carteiras multi-sig para gerir tesourarias de projectos e contratos inteligentes. As contas com várias assinaturas devem ser detidas por várias entidades para atenuar os potenciais riscos de controlo de acesso e a má-fé interna. A Nibiru Chain já adoptou a solução multi-sig Nomos, e as equipas de projeto podem considerar a utilização do Nomos para fins de gestão de activos.

Resumo

Como uma nova cadeia pública Layer1, a Nibiru Chain fornece uma plataforma inovadora para DeFi, jogos, RWA e outros campos. O seu objetivo é resolver os problemas de acessibilidade, segurança e desempenho das aplicações Web3 e fornecer aos programadores e utilizadores comuns serviços completos e excelentes. Serviços.

Declaração de exoneração de responsabilidade:

  1. Este artigo foi reimpresso de [Techflow]. *Reencaminhe o título original '新公链 Nibiru 主网将上线,解析其技术特点与安全开发实践'.Todos os direitos de autor pertencem ao autor original [Beosin]. Se houver objecções a esta reimpressão, contacte a equipa da Gate Learn, que tratará prontamente do assunto.
  2. Declaração de exoneração de responsabilidade: Os pontos de vista e opiniões expressos neste artigo são da exclusiva responsabilidade do autor e não constituem um conselho de investimento.
  3. As traduções do artigo para outras línguas são efectuadas pela equipa Gate Learn. A menos que seja mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

A análise da cadeia de Nibiru

Principiante3/18/2024, 8:25:25 AM
A Nibiru Chain, uma cadeia pública Layer1 emergente, concentra-se em melhorar a segurança e a velocidade das aplicações DeFi, com mais de 20 milhões de dólares em financiamento garantido. O artigo analisa o protocolo principal da cadeia Nibiru, os planos de desenvolvimento do ecossistema e as considerações de segurança para os programadores ao criarem aplicações.

Reenvie o título original:新公链 Nibiru 主网将上线,解析其技术特点与安全开发实践

A cadeia pública Layer1--Nibiru Chain lançou um incentivo de lançamento aéreo no final de janeiro de 2024. Após um mês de actividades de lançamento aéreo, a sua comunidade triplicou, com mais de 500 000 seguidores no Twitter. Com mais de 20 milhões de dólares em financiamento garantido, a Nibiru Chain está preparada para abordar a segurança e a velocidade das aplicações DeFi, competindo potencialmente com a dYdX. Atualmente, a Nibiru Chain planeia lançar a sua Mainnet esta semana. Como uma solução Layer1 em rápido crescimento, quais são as características técnicas e as vantagens competitivas da Nibiru Chain? Que considerações de segurança devem os programadores ter em mente quando desenvolvem projectos no seu ecossistema? Hoje, Beosin fará uma análise pormenorizada.

Análise do Protocolo da Cadeia de Nibiru

A Nibiru Chain centra-se principalmente nas transacções DeFi como a sua atividade principal. Inclui quatro componentes principais:

  1. Nibi-Perps

Negociação de contratos perpétuos na cadeia, permitindo que os utilizadores se envolvam na negociação alavancada de activos criptográficos populares, como BTC, ETH e ATOM, com uma alavancagem de até 10x. Os detentores de tokens $NIBI terão direitos de governação sobre o Nibi-Perps e beneficiarão de descontos nas taxas de negociação.

  1. Nibi-Swap

O protocolo de criação de mercado automatizado da Nibiru foi concebido para suportar dois tipos de pools de liquidez: pools de troca de stablecoin e pools de produtos constantes regulares.

  1. $NUSD

Uma stablecoin totalmente colateralizada dentro do ecossistema Nibiru. Nibiru planeia inicialmente apoiar a cunhagem de $NUSD usando $USDC e $NIBI, com o rácio específico determinado pelo Rácio de Garantia (CR). Por exemplo, se CR=80%, significa que para cunhar 100 $NUSD, o utilizador tem de fornecer 80 $USDC e o equivalente a 20 $NUSD em NIBI. No futuro, a cadeia Nibiru suportará mais tipos de garantias e, atualmente, o $NUSD é mais parecido com o $FRAX no ecossistema Cosmos.

  1. Nibi-Oráculos

O Nibi-Oracles é a solução de oráculo nativa do Nibiru, permitindo que os operadores de validação participem ativamente na votação de consenso do oráculo. Integra dados fora da cadeia de alta fidelidade na cadeia de blocos, fornecendo feedback de baixa latência a partir de APIs externas e contratos inteligentes.

Em 2024, a Nibiru Chain irá concentrar-se na expansão do ecossistema, com grandes desenvolvimentos que incluem vários planos, tais como a integração com os principais projectos DeFi em várias cadeias, a listagem em bolsas centralizadas de primeira linha, a conclusão da execução otimista paralela e a obtenção de uma compatibilidade EVM abrangente.

Práticas de desenvolvimento seguro

Se desenvolver uma aplicação na cadeia Nibiru, o processo de desenvolvimento e as linguagens necessárias são quase idênticos aos das outras cadeias públicas Cosmos. O cumprimento das orientações de segurança abaixo indicadas pode melhorar a segurança contratual do projeto:

Segurança do desenvolvimento do contrato

  1. Esteja preparado para enfrentar os ataques

À semelhança do desenvolvimento de contratos utilizando Solidity, os programadores têm de considerar a forma de lidar com ataques e corrigir vulnerabilidades. Por conseguinte, os criadores devem criar contratos inteligentes actualizáveis e formular planos de resposta aos riscos.

  1. Preste atenção à normalização da validação de endereços

Qualquer endereço válido do Cosmos SDK tem duas representações válidas: todas as letras minúsculas e todas as letras maiúsculas, como por exemplo:

cosmos1uzwqa88hcqe5gs7u7lgjxekz7xc6sm0f7xwp6a vs.

COSMOS1UZWQA88HCQE5GS7U7LGJXEKZ7XC6SM0F7XWP6A

Eles estão no mesmo endereço que Nibiru. Quando tratamos de endereços em contratos, temos de ter em conta esta caraterística dos endereços.

pub fn valid_transfer (

deps: DepsMut,

info: MessageInfo,

quantidade: Uint128,

dest: String,

) -> Result <Response, ContractError> {

// Verifique se o endereço está na lista negra

if let Some (is_in_blacklist) = BLACKLIST. may_load (deps.storage, &dest.to_string ( )? {

se is_denied {

return Err (ContractError::DeniedRecipient);

}

} else if let Some (is_in_blacklist) = BLACKLIST.may_load ( deps.storage , &info.sender.clone ( ) )? {

se is_denied {

return Err (ContractError::DeniedSender);

}

......

};

Como mostra o código acima, uma vez que o dest não está normalizado e os endereços normalmente utilizados são endereços em minúsculas, qualquer pessoa pode contornar a BLACKLIST fornecendo um endereço em maiúsculas.

  1. Preste atenção às operações aritméticas e ao transbordamento

Nos contratos CosmWasm, os programadores devem ter em atenção os riscos de estouro de números inteiros ou situações como a divisão por zero. Recomenda-se que os programadores utilizem os tipos Uint256 e Uint512 do CosmWasm e empreguem funções matemáticas como full_mul() que não causem overflow.

  1. Questões de controlo de acesso

O controlo do acesso é uma das principais preocupações em matéria de segurança dos programas, e numerosos incidentes de segurança foram causados por problemas de controlo do acesso. É igualmente importante abordar as questões de controlo de acesso nos contratos Cosmwasm.

Eis um exemplo típico:

fn update_config(

deps: DepsMut,

msg: UpdateMsg

) -> Result<Response, ContractError> {

let config = CONFIG.load(deps.storage)?;

let new_config = Config {

rewards_vault_contract: msg.vault_address

.map(|human| deps.api.addr_validate(&human))

.transpose()?

.unwrap_or(config.rewards_vault_contract)

};

CONFIG.save(deps.storage, &new_config)?

Ok(Response::new().add_attribute("action", "update_config"))

}

Devido à falta de verificações e restrições no endereço de quem chama, o código acima permite que qualquer pessoa chame update_config(), defina o seu próprio endereço como o endereço do cofre e receba todas as recompensas geradas pelo contrato.

  1. Cuidado com os loops infinitos

O funcionamento por contrato da Cosmwasm estabelece um limite de gás elevado, mas uma utilização incorrecta irá esgotar o gás. O contrato CosmWasm pode ficar preso num ciclo infinito, chamando-se a si próprio de novo no manipulador ACK. Se os programadores transferirem pacotes de dados entre dois contratos CosmWasm, devem estar cientes de que isso pode levar a um loop infinito e consumir uma grande quantidade de taxas de gás.

Práticas de segurança em projectos

  1. Auditoria de contratos inteligentes

A auditoria de contratos inteligentes envolve o teste sistemático e a revisão do código do contrato inteligente para identificar potenciais vulnerabilidades de segurança, mitigar os riscos de segurança e garantir que o código não tem falhas de lógica comercial e está em conformidade com os processos e resultados operacionais esperados. É crucial realizar auditorias de segurança regulares aos contratos inteligentes para projectos. Recomenda-se que as auditorias sejam efectuadas após a conclusão do desenvolvimento do contrato e antes da implantação da Mainnet.

  1. Utilização de carteiras Multisig

As equipas de projeto devem considerar a utilização de carteiras multi-sig para gerir tesourarias de projectos e contratos inteligentes. As contas com várias assinaturas devem ser detidas por várias entidades para atenuar os potenciais riscos de controlo de acesso e a má-fé interna. A Nibiru Chain já adoptou a solução multi-sig Nomos, e as equipas de projeto podem considerar a utilização do Nomos para fins de gestão de activos.

Resumo

Como uma nova cadeia pública Layer1, a Nibiru Chain fornece uma plataforma inovadora para DeFi, jogos, RWA e outros campos. O seu objetivo é resolver os problemas de acessibilidade, segurança e desempenho das aplicações Web3 e fornecer aos programadores e utilizadores comuns serviços completos e excelentes. Serviços.

Declaração de exoneração de responsabilidade:

  1. Este artigo foi reimpresso de [Techflow]. *Reencaminhe o título original '新公链 Nibiru 主网将上线,解析其技术特点与安全开发实践'.Todos os direitos de autor pertencem ao autor original [Beosin]. Se houver objecções a esta reimpressão, contacte a equipa da Gate Learn, que tratará prontamente do assunto.
  2. Declaração de exoneração de responsabilidade: Os pontos de vista e opiniões expressos neste artigo são da exclusiva responsabilidade do autor e não constituem um conselho de investimento.
  3. As traduções do artigo para outras línguas são efectuadas pela equipa Gate Learn. A menos que seja mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!