ส่งต่อชื่อเดิม:新公链 Nibiru 主网将上线,解析其技术特点与安全เปิด发实践
เชนสาธารณะ Layer1—-Nibiru Chain เปิดตัวสิ่งจูงใจในการส่งเครื่องบินเมื่อปลายเดือนมกราคม 2024 หลังจากกิจกรรมแอร์ดรอปเป็นเวลาหนึ่งเดือน ชุมชนของมันก็เติบโตขึ้นมากกว่าสามเท่า โดยมีผู้ติดตามบน Twitter มากกว่า 500,000 คน ด้วยเงินทุนที่มีประกันมากกว่า 20 ล้านดอลลาร์ Nibiru Chain จึงพร้อมที่จะรับมือกับความปลอดภัยและความเร็วของแอปพลิเคชัน DeFi ที่อาจแข่งขันกับ dYdX ปัจจุบัน Nibiru Chain วางแผนที่จะเปิดตัว Mainnet ในสัปดาห์นี้ เนื่องจากโซลูชัน Layer1 ที่เติบโตอย่างรวดเร็ว คุณลักษณะทางเทคนิคของ Nibiru Chain และข้อได้เปรียบทางการแข่งขันคืออะไร นักพัฒนาควรคำนึงถึงข้อควรพิจารณาด้านความปลอดภัยอะไรบ้างเมื่อพัฒนาโครงการภายในระบบนิเวศของตน วันนี้ Beosin จะมานำเสนอบทวิเคราะห์แบบละเอียด
Nibiru Chain มุ่งเน้นไปที่ธุรกรรม DeFi เป็นหลักเป็นธุรกิจหลัก ประกอบด้วยองค์ประกอบหลักสี่ประการ:
การซื้อขายตามสัญญาแบบออนไลน์ตลอดเวลา ช่วยให้ผู้ใช้สามารถมีส่วนร่วมในการซื้อขายสินทรัพย์ crypto ยอดนิยมเช่น BTC, ETH และ ATOM โดยใช้เลเวอเรจได้สูงสุด 10 เท่า ผู้ถือโทเค็น $NIBI จะมีสิทธิ์ในการกำกับดูแลเหนือ Nibi-Perps และเพลิดเพลินกับส่วนลดค่าธรรมเนียมการซื้อขาย
โปรโตคอลผู้ดูแลสภาพคล่องอัตโนมัติของ Nibiru ได้รับการออกแบบมาเพื่อรองรับกลุ่มสภาพคล่องสองประเภท: กลุ่มการแลกเปลี่ยนเหรียญที่มีเสถียรภาพ และกลุ่มผลิตภัณฑ์คงที่ปกติ
เหรียญเสถียรที่มีหลักประกันเต็มรูปแบบภายในระบบนิเวศของ Nibiru Nibiru วางแผนที่จะสนับสนุนการขุดเหรียญ $NUSD โดยใช้ $USDC และ $NIBI ในขั้นต้น โดยมีอัตราส่วนเฉพาะที่กำหนดโดย Collateral Ratio (CR) ตัวอย่างเช่น หาก CR=80% หมายถึงการสร้างเหรียญ 100 $NUSD ผู้ใช้จะต้องจัดเตรียม 80 $USDC และเทียบเท่ากับ 20 $NUSD ใน NIBI ในอนาคต Nibiru Chain จะสนับสนุนหลักประกันประเภทต่างๆ มากขึ้น และในปัจจุบัน $NUSD ก็เหมือนกับ $FRAX ในระบบนิเวศของ Cosmos มากกว่า
Nibi-Oracles เป็นโซลูชัน Oracle ดั้งเดิมของ Nibiru ซึ่งช่วยให้ผู้ปฏิบัติงานตรวจสอบสามารถมีส่วนร่วมในการลงคะแนนฉันทามติของ Oracle อย่างแข็งขัน โดยผสานรวมข้อมูลนอกเครือข่ายที่มีความเที่ยงตรงสูงเข้ากับบล็อกเชน โดยให้ผลตอบรับเวลาแฝงต่ำจาก API ภายนอกและสัญญาอัจฉริยะ
ในปี 2024 Nibiru Chain จะมุ่งเน้นไปที่การขยายระบบนิเวศ ด้วยการพัฒนาที่สำคัญซึ่งรวมถึงแผนต่างๆ เช่น การบูรณาการกับโครงการ DeFi ที่สำคัญบนเครือข่ายหลายเครือข่าย การจดทะเบียนในการแลกเปลี่ยนแบบรวมศูนย์ระดับแนวหน้า การดำเนินการเชิงบวกแบบคู่ขนานให้เสร็จสิ้น และการบรรลุความเข้ากันได้ของ EVM ที่ครอบคลุม
หากคุณพัฒนาแอปพลิเคชันบน Nibiru Chain กระบวนการพัฒนาและภาษาที่ต้องการจะเกือบจะเหมือนกันกับที่อยู่ในเครือข่ายสาธารณะของ Cosmos อื่นๆ การปฏิบัติตามหลักเกณฑ์ด้านความปลอดภัยด้านล่างสามารถปรับปรุงการรักษาความปลอดภัยของสัญญาของโครงการได้:
เช่นเดียวกับการพัฒนาสัญญาโดยใช้ Solidity นักพัฒนาจำเป็นต้องพิจารณาวิธีจัดการกับการโจมตีและแก้ไขช่องโหว่ ดังนั้นนักพัฒนาควรสร้างสัญญาอัจฉริยะที่สามารถอัปเกรดได้และกำหนดแผนตอบสนองต่อความเสี่ยง
ที่อยู่ Cosmos SDK ที่ถูกต้องมีการแสดงที่ถูกต้องสองแบบ: ตัวพิมพ์เล็กทั้งหมดและตัวพิมพ์ใหญ่ทั้งหมด เช่น:
cosmos1uzwqa88hcqe5gs7u7lgjxekz7xc6sm0f7xwp6a เทียบกับ
คอสมอส1UZWQA88HCQE5GS7U7LGJXEKZ7XC6SM0F7XWP6A
อยู่แห่งเดียวกับนิบิรุ เมื่อต้องจัดการกับที่อยู่ในสัญญา เราต้องพิจารณาลักษณะของที่อยู่นี้ด้วย
ผับ fn valid_transfer (
เดปส์: DepsMut,
ข้อมูล: MessageInfo,
จำนวน: Uint128,
ปลายทาง: สตริง,
) -> ผลลัพธ์ <การตอบสนอง, ContractError> {
// ตรวจสอบว่าที่อยู่ในบัญชีดำหรือไม่
ถ้าปล่อยให้บาง (is_in_blacklist) = BLACKLIST may_load (deps.storage, &dest.to_string ( )? {
ถ้า is_denied {
กลับข้อผิดพลาด (ContractError::DeniedRecipient);
}
} อย่างอื่นถ้าให้บาง (is_in_blacklist) = BLACKLIST.may_load ( deps.storage , &info.sender.clone ( ) )? {
ถ้า is_denied {
กลับข้อผิดพลาด (ContractError::DeniedSender);
}
……
};
ดังที่แสดงในโค้ดด้านบน เนื่องจากปลายทางไม่ได้มาตรฐานและที่อยู่ที่ใช้กันทั่วไปคือที่อยู่ตัวพิมพ์เล็ก ใครๆ ก็สามารถข้าม BLACKLIST ได้โดยการระบุที่อยู่ตัวพิมพ์ใหญ่
ในสัญญา CosmWasm นักพัฒนาควรคำนึงถึงความเสี่ยงล้นของจำนวนเต็มหรือสถานการณ์ เช่น การหารด้วยศูนย์ ขอแนะนำให้นักพัฒนาใช้ประเภท Uint256 และ Uint512 ของ CosmWasm และใช้ฟังก์ชันทางคณิตศาสตร์ เช่น full_mul() ซึ่งจะไม่ทำให้เกิดการล้น
การควบคุมการเข้าถึงเป็นหนึ่งในข้อกังวลด้านความปลอดภัยหลักในการรักษาความปลอดภัยของโปรแกรม และเหตุการณ์ด้านความปลอดภัยจำนวนมากมีสาเหตุมาจากปัญหาการควบคุมการเข้าถึง การแก้ไขปัญหาการควบคุมการเข้าถึงในสัญญา Cosmwasm ก็มีความสำคัญไม่แพ้กัน
นี่เป็นตัวอย่างทั่วไป:
fn update_config (
เดปส์: DepsMut,
msg: อัพเดตข้อความ
) -> ผลลัพธ์ <การตอบสนอง, ContractError> {
ให้ config = CONFIG.load(deps.storage)?;
ให้ new_config = กำหนดค่า {
รางวัล_vault_contract: msg.vault_address
.map(|มนุษย์| deps.api.addr_validate(&มนุษย์))
.ขนย้าย()?
.unwrap_or(config.rewards_vault_contract)
};
CONFIG.บันทึก(deps.storage, &new_config)?;
ตกลง(การตอบสนอง::ใหม่().add_attribute("การกระทำ", "update_config"))
}
เนื่องจากขาดการตรวจสอบและข้อจำกัดเกี่ยวกับที่อยู่ของผู้โทร โค้ดด้านบนจึงอนุญาตให้ใครก็ตามโทร update_config() ตั้งค่าที่อยู่ของตนเองเป็นที่อยู่ของห้องนิรภัย และรับรางวัลทั้งหมดที่สร้างโดยสัญญา
การดำเนินการตามสัญญาของจักรวาลกำหนดขีดจำกัดก๊าซที่สูง แต่การใช้ที่ไม่เหมาะสมจะทำให้ก๊าซหมด สัญญา CosmWasm อาจติดอยู่ในวงวนไม่สิ้นสุดโดยการเรียกตัวเองกลับมาในตัวจัดการ ACK หากนักพัฒนาถ่ายโอนแพ็กเก็ตข้อมูลระหว่างสัญญา CosmWasm สองสัญญา พวกเขาควรตระหนักว่าสิ่งนี้อาจนำไปสู่การวนซ้ำที่ไม่สิ้นสุดและใช้ค่าธรรมเนียมก๊าซจำนวนมาก
การตรวจสอบสัญญาอัจฉริยะเกี่ยวข้องกับการทดสอบและตรวจสอบรหัสสัญญาอัจฉริยะอย่างเป็นระบบเพื่อระบุช่องโหว่ด้านความปลอดภัยที่อาจเกิดขึ้น ลดความเสี่ยงด้านความปลอดภัย และตรวจสอบให้แน่ใจว่ารหัสไม่มีข้อบกพร่องด้านตรรกะทางธุรกิจ และสอดคล้องกับกระบวนการปฏิบัติงานและผลลัพธ์ที่คาดหวัง การดำเนินการตรวจสอบความปลอดภัยของสัญญาอัจฉริยะสำหรับโครงการเป็นประจำถือเป็นสิ่งสำคัญ แนะนำให้ทำการตรวจสอบหลังจากการพัฒนาสัญญาเสร็จสิ้น และก่อนที่จะปรับใช้ Mainnet
ทีมงานโครงการควรพิจารณาใช้กระเป๋าเงินหลายซิกเพื่อจัดการคลังโครงการและสัญญาอัจฉริยะ บัญชีหลายลายเซ็นควรถูกครอบครองโดยหน่วยงานหลายแห่งเพื่อลดความเสี่ยงในการควบคุมการเข้าถึงที่อาจเกิดขึ้นและความผิดพลาดภายใน Nibiru Chain ได้นำโซลูชัน Nomos multi-sig มาใช้แล้ว และทีมงานโครงการอาจพิจารณาใช้ Nomos เพื่อวัตถุประสงค์ในการจัดการสินทรัพย์
ในฐานะเครือข่ายสาธารณะ Layer1 ใหม่ Nibiru Chain มอบแพลตฟอร์มที่เป็นนวัตกรรมสำหรับ DeFi เกม RWA และสาขาอื่นๆ โดยมีจุดมุ่งหมายเพื่อแก้ไขปัญหาการเข้าถึง ความปลอดภัย และประสิทธิภาพของแอปพลิเคชัน Web3 และมอบบริการที่เป็นเลิศและครอบคลุมแก่นักพัฒนาและผู้ใช้ทั่วไป บริการ.
ส่งต่อชื่อเดิม:新公链 Nibiru 主网将上线,解析其技术特点与安全เปิด发实践
เชนสาธารณะ Layer1—-Nibiru Chain เปิดตัวสิ่งจูงใจในการส่งเครื่องบินเมื่อปลายเดือนมกราคม 2024 หลังจากกิจกรรมแอร์ดรอปเป็นเวลาหนึ่งเดือน ชุมชนของมันก็เติบโตขึ้นมากกว่าสามเท่า โดยมีผู้ติดตามบน Twitter มากกว่า 500,000 คน ด้วยเงินทุนที่มีประกันมากกว่า 20 ล้านดอลลาร์ Nibiru Chain จึงพร้อมที่จะรับมือกับความปลอดภัยและความเร็วของแอปพลิเคชัน DeFi ที่อาจแข่งขันกับ dYdX ปัจจุบัน Nibiru Chain วางแผนที่จะเปิดตัว Mainnet ในสัปดาห์นี้ เนื่องจากโซลูชัน Layer1 ที่เติบโตอย่างรวดเร็ว คุณลักษณะทางเทคนิคของ Nibiru Chain และข้อได้เปรียบทางการแข่งขันคืออะไร นักพัฒนาควรคำนึงถึงข้อควรพิจารณาด้านความปลอดภัยอะไรบ้างเมื่อพัฒนาโครงการภายในระบบนิเวศของตน วันนี้ Beosin จะมานำเสนอบทวิเคราะห์แบบละเอียด
Nibiru Chain มุ่งเน้นไปที่ธุรกรรม DeFi เป็นหลักเป็นธุรกิจหลัก ประกอบด้วยองค์ประกอบหลักสี่ประการ:
การซื้อขายตามสัญญาแบบออนไลน์ตลอดเวลา ช่วยให้ผู้ใช้สามารถมีส่วนร่วมในการซื้อขายสินทรัพย์ crypto ยอดนิยมเช่น BTC, ETH และ ATOM โดยใช้เลเวอเรจได้สูงสุด 10 เท่า ผู้ถือโทเค็น $NIBI จะมีสิทธิ์ในการกำกับดูแลเหนือ Nibi-Perps และเพลิดเพลินกับส่วนลดค่าธรรมเนียมการซื้อขาย
โปรโตคอลผู้ดูแลสภาพคล่องอัตโนมัติของ Nibiru ได้รับการออกแบบมาเพื่อรองรับกลุ่มสภาพคล่องสองประเภท: กลุ่มการแลกเปลี่ยนเหรียญที่มีเสถียรภาพ และกลุ่มผลิตภัณฑ์คงที่ปกติ
เหรียญเสถียรที่มีหลักประกันเต็มรูปแบบภายในระบบนิเวศของ Nibiru Nibiru วางแผนที่จะสนับสนุนการขุดเหรียญ $NUSD โดยใช้ $USDC และ $NIBI ในขั้นต้น โดยมีอัตราส่วนเฉพาะที่กำหนดโดย Collateral Ratio (CR) ตัวอย่างเช่น หาก CR=80% หมายถึงการสร้างเหรียญ 100 $NUSD ผู้ใช้จะต้องจัดเตรียม 80 $USDC และเทียบเท่ากับ 20 $NUSD ใน NIBI ในอนาคต Nibiru Chain จะสนับสนุนหลักประกันประเภทต่างๆ มากขึ้น และในปัจจุบัน $NUSD ก็เหมือนกับ $FRAX ในระบบนิเวศของ Cosmos มากกว่า
Nibi-Oracles เป็นโซลูชัน Oracle ดั้งเดิมของ Nibiru ซึ่งช่วยให้ผู้ปฏิบัติงานตรวจสอบสามารถมีส่วนร่วมในการลงคะแนนฉันทามติของ Oracle อย่างแข็งขัน โดยผสานรวมข้อมูลนอกเครือข่ายที่มีความเที่ยงตรงสูงเข้ากับบล็อกเชน โดยให้ผลตอบรับเวลาแฝงต่ำจาก API ภายนอกและสัญญาอัจฉริยะ
ในปี 2024 Nibiru Chain จะมุ่งเน้นไปที่การขยายระบบนิเวศ ด้วยการพัฒนาที่สำคัญซึ่งรวมถึงแผนต่างๆ เช่น การบูรณาการกับโครงการ DeFi ที่สำคัญบนเครือข่ายหลายเครือข่าย การจดทะเบียนในการแลกเปลี่ยนแบบรวมศูนย์ระดับแนวหน้า การดำเนินการเชิงบวกแบบคู่ขนานให้เสร็จสิ้น และการบรรลุความเข้ากันได้ของ EVM ที่ครอบคลุม
หากคุณพัฒนาแอปพลิเคชันบน Nibiru Chain กระบวนการพัฒนาและภาษาที่ต้องการจะเกือบจะเหมือนกันกับที่อยู่ในเครือข่ายสาธารณะของ Cosmos อื่นๆ การปฏิบัติตามหลักเกณฑ์ด้านความปลอดภัยด้านล่างสามารถปรับปรุงการรักษาความปลอดภัยของสัญญาของโครงการได้:
เช่นเดียวกับการพัฒนาสัญญาโดยใช้ Solidity นักพัฒนาจำเป็นต้องพิจารณาวิธีจัดการกับการโจมตีและแก้ไขช่องโหว่ ดังนั้นนักพัฒนาควรสร้างสัญญาอัจฉริยะที่สามารถอัปเกรดได้และกำหนดแผนตอบสนองต่อความเสี่ยง
ที่อยู่ Cosmos SDK ที่ถูกต้องมีการแสดงที่ถูกต้องสองแบบ: ตัวพิมพ์เล็กทั้งหมดและตัวพิมพ์ใหญ่ทั้งหมด เช่น:
cosmos1uzwqa88hcqe5gs7u7lgjxekz7xc6sm0f7xwp6a เทียบกับ
คอสมอส1UZWQA88HCQE5GS7U7LGJXEKZ7XC6SM0F7XWP6A
อยู่แห่งเดียวกับนิบิรุ เมื่อต้องจัดการกับที่อยู่ในสัญญา เราต้องพิจารณาลักษณะของที่อยู่นี้ด้วย
ผับ fn valid_transfer (
เดปส์: DepsMut,
ข้อมูล: MessageInfo,
จำนวน: Uint128,
ปลายทาง: สตริง,
) -> ผลลัพธ์ <การตอบสนอง, ContractError> {
// ตรวจสอบว่าที่อยู่ในบัญชีดำหรือไม่
ถ้าปล่อยให้บาง (is_in_blacklist) = BLACKLIST may_load (deps.storage, &dest.to_string ( )? {
ถ้า is_denied {
กลับข้อผิดพลาด (ContractError::DeniedRecipient);
}
} อย่างอื่นถ้าให้บาง (is_in_blacklist) = BLACKLIST.may_load ( deps.storage , &info.sender.clone ( ) )? {
ถ้า is_denied {
กลับข้อผิดพลาด (ContractError::DeniedSender);
}
……
};
ดังที่แสดงในโค้ดด้านบน เนื่องจากปลายทางไม่ได้มาตรฐานและที่อยู่ที่ใช้กันทั่วไปคือที่อยู่ตัวพิมพ์เล็ก ใครๆ ก็สามารถข้าม BLACKLIST ได้โดยการระบุที่อยู่ตัวพิมพ์ใหญ่
ในสัญญา CosmWasm นักพัฒนาควรคำนึงถึงความเสี่ยงล้นของจำนวนเต็มหรือสถานการณ์ เช่น การหารด้วยศูนย์ ขอแนะนำให้นักพัฒนาใช้ประเภท Uint256 และ Uint512 ของ CosmWasm และใช้ฟังก์ชันทางคณิตศาสตร์ เช่น full_mul() ซึ่งจะไม่ทำให้เกิดการล้น
การควบคุมการเข้าถึงเป็นหนึ่งในข้อกังวลด้านความปลอดภัยหลักในการรักษาความปลอดภัยของโปรแกรม และเหตุการณ์ด้านความปลอดภัยจำนวนมากมีสาเหตุมาจากปัญหาการควบคุมการเข้าถึง การแก้ไขปัญหาการควบคุมการเข้าถึงในสัญญา Cosmwasm ก็มีความสำคัญไม่แพ้กัน
นี่เป็นตัวอย่างทั่วไป:
fn update_config (
เดปส์: DepsMut,
msg: อัพเดตข้อความ
) -> ผลลัพธ์ <การตอบสนอง, ContractError> {
ให้ config = CONFIG.load(deps.storage)?;
ให้ new_config = กำหนดค่า {
รางวัล_vault_contract: msg.vault_address
.map(|มนุษย์| deps.api.addr_validate(&มนุษย์))
.ขนย้าย()?
.unwrap_or(config.rewards_vault_contract)
};
CONFIG.บันทึก(deps.storage, &new_config)?;
ตกลง(การตอบสนอง::ใหม่().add_attribute("การกระทำ", "update_config"))
}
เนื่องจากขาดการตรวจสอบและข้อจำกัดเกี่ยวกับที่อยู่ของผู้โทร โค้ดด้านบนจึงอนุญาตให้ใครก็ตามโทร update_config() ตั้งค่าที่อยู่ของตนเองเป็นที่อยู่ของห้องนิรภัย และรับรางวัลทั้งหมดที่สร้างโดยสัญญา
การดำเนินการตามสัญญาของจักรวาลกำหนดขีดจำกัดก๊าซที่สูง แต่การใช้ที่ไม่เหมาะสมจะทำให้ก๊าซหมด สัญญา CosmWasm อาจติดอยู่ในวงวนไม่สิ้นสุดโดยการเรียกตัวเองกลับมาในตัวจัดการ ACK หากนักพัฒนาถ่ายโอนแพ็กเก็ตข้อมูลระหว่างสัญญา CosmWasm สองสัญญา พวกเขาควรตระหนักว่าสิ่งนี้อาจนำไปสู่การวนซ้ำที่ไม่สิ้นสุดและใช้ค่าธรรมเนียมก๊าซจำนวนมาก
การตรวจสอบสัญญาอัจฉริยะเกี่ยวข้องกับการทดสอบและตรวจสอบรหัสสัญญาอัจฉริยะอย่างเป็นระบบเพื่อระบุช่องโหว่ด้านความปลอดภัยที่อาจเกิดขึ้น ลดความเสี่ยงด้านความปลอดภัย และตรวจสอบให้แน่ใจว่ารหัสไม่มีข้อบกพร่องด้านตรรกะทางธุรกิจ และสอดคล้องกับกระบวนการปฏิบัติงานและผลลัพธ์ที่คาดหวัง การดำเนินการตรวจสอบความปลอดภัยของสัญญาอัจฉริยะสำหรับโครงการเป็นประจำถือเป็นสิ่งสำคัญ แนะนำให้ทำการตรวจสอบหลังจากการพัฒนาสัญญาเสร็จสิ้น และก่อนที่จะปรับใช้ Mainnet
ทีมงานโครงการควรพิจารณาใช้กระเป๋าเงินหลายซิกเพื่อจัดการคลังโครงการและสัญญาอัจฉริยะ บัญชีหลายลายเซ็นควรถูกครอบครองโดยหน่วยงานหลายแห่งเพื่อลดความเสี่ยงในการควบคุมการเข้าถึงที่อาจเกิดขึ้นและความผิดพลาดภายใน Nibiru Chain ได้นำโซลูชัน Nomos multi-sig มาใช้แล้ว และทีมงานโครงการอาจพิจารณาใช้ Nomos เพื่อวัตถุประสงค์ในการจัดการสินทรัพย์
ในฐานะเครือข่ายสาธารณะ Layer1 ใหม่ Nibiru Chain มอบแพลตฟอร์มที่เป็นนวัตกรรมสำหรับ DeFi เกม RWA และสาขาอื่นๆ โดยมีจุดมุ่งหมายเพื่อแก้ไขปัญหาการเข้าถึง ความปลอดภัย และประสิทธิภาพของแอปพลิเคชัน Web3 และมอบบริการที่เป็นเลิศและครอบคลุมแก่นักพัฒนาและผู้ใช้ทั่วไป บริการ.