
新規パブリックチェーンNibiruのメインネットが近日リリース予定。その技術的特徴とセキュアな開発実践を解説
TechFlow厳選深潮セレクト

新規パブリックチェーンNibiruのメインネットが近日リリース予定。その技術的特徴とセキュアな開発実践を解説
2000万ドル以上の資金調達を果たした新規パブリックチェーンであるNibiru Chainは、DeFiアプリケーションのセキュリティと速度の課題解決に注力している。
執筆:Beosin
Layer1 パブリックチェーンであるNibiru Chainは、2024年1月末にエアドロキャンペーンを開始し、1か月間の活動を通じてコミュニティが3倍以上に拡大し、X(旧Twitter)のフォロワー数は50万人を超えた。2000万ドル以上の資金調達を果たした新興パブリックチェーンであるNibiru Chainは、DeFiアプリケーションのセキュリティとスピードの課題解決に注力しており、dYdXの潜在的競合となる可能性がある。
現在、Nibiru Chainは今週中にメインネットをローンチする予定である。急成長を遂げるこのLayer1チェーンにはどのような技術的特徴と競争優位性があるのか?また、そのエコシステムプロジェクト開発において注意すべきセキュリティ問題は何なのか?本日はBeosinがこれらについて詳細に解説する。
Nibiru Chainプロトコルの解説
Nibiru Chainの主要なビジネスはDeFi取引を中心としている。そのコアコンポーネントは以下の4つである。
1. Nibi-Perps
オンチェーンの永続的先物取引であり、ユーザーはBTC、ETH、ATOMなどの人気暗号資産に対して最大10倍のレバレッジで取引できる。$NIBIのステーキング参加者は、Nibi-Perpsにおけるガバナンス権および取引手数料の割引を享受する。
2. Nibi-Swap
Nibiruの自動マーケットメイカープロトコルであり、2種類の流動性プール(ステーブルコイン交換用プールと通常の定積プール)をサポートする計画である。
3. $NUSD
Nibiruエコシステム内の完全担保型ステーブルコイン。初期段階では、ユーザーが$USDCおよび$NIBIを使用してNUSDを発行できるようにする予定であり、具体的な比率は担保比率(Collateral Ratio: CR)によって決定される。例えばCR=80%の場合、100$NUSDを発行するには80$USDCと、残り20NUSD相当のNIBIを提供する必要がある。
将来はより多くの種類の担保資産をサポートする予定であり、現時点では$NUSDはCosmosエコシステムにおける$FRAXに近い存在といえる。
4. Nibi-Oracles
Nibi-OraclesはNibiruのネイティブオラクルソリューションであり、バリデーター事業者がオラクルコンセンサス投票に積極的に参加することで、外部データを高忠実度でブロックチェーン上に統合し、外部APIやスマートコントラクトからの低遅延フィードバックを提供する。
2024年、Nibiru Chainはエコシステムの拡大を目指しており、主な開発計画には、複数チェーンの主要DeFiプロジェクトとの統合、一流の中心化取引所への上場、並列楽観的実行の完了、そして完全なEVM互換性の実現などが含まれる。
安全な開発実践
Nibiru Chain上でアプリケーションを開発する場合、開発プロセスおよび使用言語は他のCosmos系チェーンとほぼ同一である。以下のセキュリティガイドラインに従うことで、プロジェクトのコントラクト安全性を高めることができる。
コントラクト開発のセキュリティ
1. 攻撃への備えを徹底する
Solidityでのコントラクト開発と同様に、開発者は攻撃への対応や脆弱性の修復を常に考慮しなければならない。そのため、アップグレード可能なスマートコントラクトの構築と、リスク対応策の事前策定が不可欠である。
2. アドレス検証の標準化に注意
有効なCosmos SDKアドレスは、すべて小文字またはすべて大文字の2通りの表記が可能であり、たとえば「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コントラクトでは、整数のオーバーフローやゼロ除算のリスクに十分注意が必要である。開発者には、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コントラクトの実行には高いgas limitが設定されているが、不適切な使用によりgasが枯渇する可能性がある。CosmWasmコントラクトはACKハンドラー内で自己コールバックすることにより無限ループに陥ることがあり得る。2つのCosmWasmコントラクト間でデータパケットを送信する場合は、これが無限ループを引き起こし大量のgasを消費する可能性があることに注意が必要である。
プロジェクトのセキュリティ実践
1. スマートコントラクト監査
スマートコントラクト監査とは、コードに対して体系的なテストとレビューを行い、潜在的なセキュリティ脆弱性を可能な限り発見し、リスクを排除し、業務ロジック上のバグがないことを確認し、期待される動作フローと結果に合致しているかを保証することである。プロジェクトのスマートコントラクトに対して定期的にセキュリティ監査を行うことは極めて重要であり、監査のタイミングはコントラクト開発完了後、メインネット展開前に実施することが推奨される。
2. マルチシグウォレットの活用
プロジェクト側は、プロジェクトの資金管理およびスマートコントラクト管理にマルチシグウォレットの使用を検討すべきである。マルチシグアカウントは複数の実体が保持すべきであり、潜在的なアクセス制御リスクや内部悪用をできる限り回避する。現在、Nibiru ChainはすでにNomosのマルチシグソリューションを採用しており、プロジェクト側もNomosを利用した資産管理を検討できる。
まとめ
Nibiru Chainは、DeFi、ゲーム、RWAなど多岐にわたる分野に革新的なプラットフォームを提供する新規Layer1パブリックチェーンであり、Web3アプリケーションのアクセシビリティ、セキュリティ、パフォーマンスといった課題の解決を目指し、開発者および一般ユーザーに包括的かつ優れたサービスを提供することを目的としている。
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














