
신규 퍼블릭 블록체인 Nibiru 메인넷 출시 임박, 기술 특징과 안전한 개발 실천 방안 분석
글: Beosin
Layer1 퍼블릭 체인 Nibiru Chain은 2024년 1월 말 에어드랍 인센티브를 출시했으며, 한 달간의 에어드랍 활동을 거쳐 커뮤니티가 3배 이상 성장하며 트위터 팔로워 수가 50만 명을 돌파했습니다. 2000만 달러 이상의 자금을 유치한 신규 퍼블릭 체인인 Nibiru Chain은 DeFi 애플리케이션의 보안성과 속도 문제 해결에 집중하고 있으며, dYdX의 잠재적 경쟁자가 될 전망입니다.
현재 Nibiru Chain은 금주 메인넷 출시를 계획하고 있습니다. 빠르게 성장하는 Layer1인 Nibiru Chain은 어떤 기술적 특징과 경쟁 우위를 지니고 있을까요? 또한 생태계 프로젝트 개발 시 주의해야 할 보안 사항은 무엇일까요? 오늘 Beosin이 하나씩 분석해드립니다.
Nibiru Chain 프로토콜 분석
Nibiru Chain은 주로 DeFi 거래를 핵심 비즈니스로 삼고 있으며, 다음과 같은 4개의 핵심 구성 요소를 갖추고 있습니다:
1. Nibi-Perps
체인 상 영구계약 거래 서비스로, 사용자가 BTC, ETH, ATOM 등 인기 있는 암호화 자산에 대해 최대 10배 레버리지를 적용하여 거래할 수 있게 합니다. $NIBI 스테이킹 참여자들은 Nibi-Perps의 거버넌스 권한과 거래 수수료 할인 혜택을 누릴 수 있습니다.
2. Nibi-Swap
Nibiru의 자동화 마켓메이커(AMM) 프로토콜로, 두 가지 유형의 LP 풀을 지원할 예정입니다: 스테이블코인 교환 풀과 일반적인 상수곱 풀입니다.
3. $NUSD
Nibiru 생태계 내 완전 담보 스테이블코인입니다. Nibiru는 초기에 $USDC와 $NIBI를 이용해 NUSD를 발행할 수 있도록 지원할 계획이며, 구체적인 비율은 담보비율(Collateral Ratio, CR)에 따라 결정됩니다. 예를 들어 CR이 80%라면, 100 $NUSD를 발행하기 위해 사용자는 80 $USDC와 가치 20NUSD에 해당하는 NIBI를 제공해야 합니다.
향후 Nibiru Chain은 더 다양한 종류의 담보 자산을 지원할 예정이며, 현재로서는 $NUSD는 코스모스 생태계의 $FRAX와 유사한 형태입니다.
4. Nibi-Oracles
Nibi-Oracles는 Nibiru의 네이티브 오라클 솔루션으로, 검증자 운영자가 오라클 컨센서스 투표에 적극적으로 참여할 수 있게 하며, 오프체인 데이터를 높은 정확도로 블록체인에 통합하고 외부 API 및 스마트 계약에서 저지연 피드백을 제공합니다.
2024년에는 Nibiru Chain이 생태계 확장에 집중할 계획이며, 주요 개발 방향은 여러 체인의 주요 DeFi 프로젝트와의 통합, 일류 중심화 거래소 상장, 병렬 낙관적 실행 완료, 그리고 완전한 EVM 호환성 실현 등을 포함합니다.
보안 개발 실천
Nibiru Chain에서 애플리케이션을 개발할 경우, 개발 프로세스와 필요한 언어는 다른 Cosmos 기반 체인과 거의 동일하며, 다음 보안 가이드라인을 준수하면 프로젝트의 스마트 계약 보안성을 높일 수 있습니다:
스마트 계약 개발 보안
1. 공격 대비 준비
솔리디티를 이용한 스마트 계약 개발과 마찬가지로, 개발자들은 공격에 어떻게 대응하고 취약점을 수정할 것인지 미리 고려해야 합니다. 따라서 업그레이드 가능한 스마트 계약을 설계하고 위험 대응 계획을 마련해야 합니다.
2. 주소 검증 표준화 주의
모든 유효한 Cosmos SDK 주소는 소문자와 대문자 두 가지 형식으로 표현될 수 있습니다. 예를 들어 cosmos1uzwqa88hcqe5gs7u7lgjxekz7xc6sm0f7xwp6a와 COSMOS1UZWQA88HCQE5GS7U7LGJXEKZ7XC6SM0F7XWP6A는 동일한 주소입니다. Nibiru 역시 마찬가지입니다. 계약에서 주소를 처리할 때 이러한 특성을 반드시 고려해야 합니다.
pub fn valid_transfer (
deps: DepsMut,
info: MessageInfo,
amount: Uint128,
dest: String ,
) -> Result <Response, ContractError> {
// 주소가 블랙리스트에 있는지 확인
if let Some (is_in_blacklist) = BLACKLIST. may_load (deps.storage, &dest.to_string ( )? {
if is_denied {
return Err (ContractError::DeniedRecipient);
}
} else if let Some (is_in_blacklist) = BLACKLIST.may_load ( deps.storage , &info.sender.clone ( ) )? {
if is_denied {
return Err (ContractError::DeniedSender);
}
......
};
위 코드에서 보듯이 dest 주소가 표준화되지 않아 소문자 주소를 일반적으로 사용하는 경우, 누구든지 대문자 주소를 입력함으로써 BLACKLIST를 우회할 수 있습니다.
3. 연산 및 오버플로우 주의
CosmWasm 스마트 계약에서는 정수 오버플로우 또는 0으로 나누기 등의 위험이 있으므로 주의해야 합니다. 개발자들은 CosmWasm의 Uint256 및 Uint512 타입을 사용하고 오버플로우가 발생하지 않는 full_mul()과 같은 수학 함수를 사용하는 것이 좋습니다.
4. 접근 제어 문제
접근 제어는 프로그램 보안의 핵심 문제 중 하나이며, 이로 인한 보안 사고는 무수히 많습니다. Cosmwasm 계약에서도 마찬가지로 중요하게 다뤄져야 합니다. 다음은 대표적인 사례입니다:
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"))
}
위 코드는 호출자 주소에 대한 검사를 누락하여 누구나 update_config()를 호출해 자신의 주소를 금고 주소로 설정하고 계약에서 생성되는 모든 보상을 수령할 수 있게 됩니다.
5. 무한 루프 주의
Cosmwasm 스마트 계약은 매우 높은 가스 리밋을 설정하지만, 부적절한 사용 시 가스를 모두 소진할 수 있습니다. CosmWasm 계약은 ACK 핸들러에서 자기 자신을 다시 호출함으로써 무한 루프에 빠질 수 있습니다. 만약 개발자가 두 개의 CosmWasm 계약 사이에서 데이터 패킷을 전달하는 경우, 무한 루프가 발생해 많은 가스 비용을 소모할 수 있음을 유의해야 합니다.
프로젝트 보안 실천
1. 스마트 계약 감사
스마트 계약 감사는 스마트 계약 코드를 체계적으로 테스트하고 검토하여 잠재적 보안 취약점을 찾아내고 보안 위험을 제거하며, 코드에 비즈니스 로직 오류가 없고 예상된 실행 흐름과 결과를 따르는지 확인하는 과정입니다. 프로젝트의 스마트 계약을 정기적으로 보안 감사하는 것은 매우 중요하며, 감사 시점은 스마트 계약 개발 완료 후 메인넷 배포 전이 바람직합니다.
2. 멀티시그 지갑 사용
프로젝트 팀은 프로젝트 금고 및 스마트 계약 관리를 위해 멀티시그 지갑 사용을 고려해야 합니다. 멀티시그 계정은 여러 주체가 공동으로 보유함으로써 접근 제어 위험 및 내부 악용 가능성을 최소화해야 합니다. 현재 Nibiru Chain은 Nomos 멀티시그 솔루션을 도입했으며, 프로젝트팀 역시 자산 관리에 Nomos를 활용하는 것을 추천합니다.
결론
Nibiru Chain은 새로운 Layer1 퍼블릭 체인으로서 DeFi, 게임, RWA 등 다양한 분야에 혁신적인 플랫폼을 제공하며, Web3 애플리케이션의 접근성, 보안성, 성능 문제를 해결하고 개발자 및 일반 사용자에게 종합적이고 우수한 서비스를 제공하는 것을 목표로 하고 있습니다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














