Cointime

Download App
iOS & Android

รายงานการวิเคราะห์ความปลอดภัยของห่วงโซ่: รายงานการวิเคราะห์ความเสี่ยงของ iZiFinance Smart Contract Centralization

Validated Project

iZiFinance เป็นโปรโตคอลการเงินแบบกระจายศูนย์ที่ใช้ zkSync ซึ่งเป็นโซลูชันการปรับขนาดเลเยอร์ 2 สำหรับ Ethereum zkSync เปิดใช้งานธุรกรรมที่รวดเร็วและต้นทุนต่ำบน Ethereum ในขณะที่ยังคงรักษาความปลอดภัยและความสามารถในการรวมของเครือข่ายเลเยอร์ 1 อย่างไรก็ตาม การเพิ่มประสิทธิภาพก๊าซยังคงเป็นส่วนสำคัญเมื่อทำการพัฒนาสัญญาอัจฉริยะบน zkSync เนื่องจากจะส่งผลต่อประสิทธิภาพและความสามารถในการทำกำไรของโปรโตคอล

ในการวิเคราะห์นี้ เราจะตรวจสอบหนึ่งในสัญญาหลักของ iZiFinance ซึ่งก็คือ iZiSwapPool.sol และหาวิธีง่ายๆ ในการลดการใช้ก๊าซโดยกำจัดการแสดงออกที่ซ้ำซ้อน

สัญญา iZiSwapPool

สัญญา iZiSwapPool ใช้ตรรกะของกลุ่มสภาพคล่องและการแลกเปลี่ยนโทเค็นบน iZiFinance เป็นไปตามอินเทอร์เฟซ IiZiSwapPool ซึ่งกำหนดฟังก์ชันและกิจกรรมของสัญญา หนึ่งในฟังก์ชันเหล่านี้คือ modifiedFeeChargePercent ซึ่งช่วยให้เจ้าของสัญญาสามารถปรับเปอร์เซ็นต์การเรียกเก็บค่าธรรมเนียมต่อกลุ่มได้ เปอร์เซ็นต์การเก็บค่าธรรมเนียมเป็นพารามิเตอร์ที่กำหนดการกระจายค่าธรรมเนียมการแลกเปลี่ยนระหว่างผู้ให้บริการสภาพคล่องและโปรโตคอล รหัสของฟังก์ชัน modifiedFeeChargePercent เป็นดังนี้:

ฟังก์ชันนี้ยอมรับพารามิเตอร์ประเภท uint24 ที่เรียกว่า newFeeChargePercent ซึ่งแสดงถึงเปอร์เซ็นต์การเรียกเก็บค่าธรรมเนียมใหม่ที่จะตั้งค่า นอกจากนี้ยังมีตัวแก้ไขบางอย่างและต้องมีคำสั่งเพื่อให้แน่ใจว่าเจ้าของเท่านั้นที่สามารถเรียกใช้ฟังก์ชันได้ และ newFeeChargePercent นั้นถูกต้อง การวิเคราะห์รหัส รหัสสัญญานี้เขียนขึ้นใน Solidity ซึ่งแสดงถึงฟังก์ชันของการปรับเปลี่ยนเปอร์เซ็นต์การเก็บค่าธรรมเนียม ดูเหมือนว่าจะได้รับการออกแบบในลักษณะที่ปลอดภัย โดยคำนึงถึงข้อจำกัดที่ใช้ก่อนการปรับเปลี่ยนจริง (บรรทัดที่ 534-536)

อย่างไรก็ตาม บรรทัด 535 need(newFeeChargePercent >= 0, "FP0"); ไม่จำเป็นจริงๆ นี่เป็นเพราะใน Solidity ชนิดข้อมูล uint (จำนวนเต็มที่ไม่ได้ลงนาม) ไม่สามารถเป็นค่าลบได้ uint24 เป็นประเภทจำนวนเต็มที่ไม่ได้ลงนาม ซึ่งมีตั้งแต่ 0 ถึง 2^24 - 1

ดังนั้น การตรวจสอบว่า newFeeChargePercent มากกว่าหรือเท่ากับ 0 นั้นถือเป็นการสรุปซ้ำ เนื่องจากจำนวนเต็มที่ไม่ได้ลงนามต้องไม่น้อยกว่า 0 ตามคำจำกัดความ ดังนั้น บรรทัดนี้ถือเป็นคำซ้ำซากและสามารถลบออกได้อย่างปลอดภัยโดยไม่กระทบต่อการทำงานของโค้ดหรือทำให้เกิดช่องโหว่ด้านความปลอดภัยใดๆ บรรทัดที่ต่อท้าย ต้อง (newFeeChargePercent <= 100, "FP0"); ก็เพียงพอแล้วที่จะทำให้แน่ใจว่า newFeeChargePercent อยู่ในช่วงที่คาดไว้ (0-100)

ความเสี่ยงจากการรวมศูนย์

เรายังระบุความเสี่ยงของการรวมศูนย์ที่อาจส่งผลต่อความปลอดภัยของโปรโตคอลและความปลอดภัยของทรัพย์สินของผู้ใช้

ความเสี่ยงจากการรวมศูนย์

เรายังระบุความเสี่ยงของการรวมศูนย์ที่อาจส่งผลต่อความปลอดภัยของโปรโตคอลและความปลอดภัยของทรัพย์สินของผู้ใช้

คำแนะนำด้านความปลอดภัย

สำหรับทีมโครงการ iZiFinance ต่อไปนี้เป็นเคล็ดลับความปลอดภัย 10 ข้อเพื่อปกป้องสินทรัพย์บนเครือข่ายของผู้ใช้จากความเสี่ยงจากการรวมศูนย์

  1. การล็อกเวลาถูกกำหนดให้กับฟังก์ชันหลัก เช่น setFarm() และ setWrapToken() ซึ่งอนุญาตให้แก้ไขในเวลาที่กำหนดเท่านั้นในอนาคต ทำให้ชุมชนมีเวลาพูดคุยและบรรลุฉันทามติ
  2. ต้องการการอนุมัติหลายลายเซ็นของที่อยู่กระเป๋าเงินหลายแห่งเพื่อเรียกใช้ฟังก์ชัน เช่น enableFeeAmount() และ newPool() ที่ส่งผลต่อค่าธรรมเนียมและรางวัล
  3. ใช้การควบคุมการเข้าถึงตามบทบาทสำหรับฟังก์ชัน เช่น expandObservationQueue() และ CollectFeeCharged() โดยจำกัดเฉพาะบทบาทที่ระบุในการเรียก
  4. เมื่อมีการปรับใช้สัญญา ทำให้พารามิเตอร์หลัก เช่น startBlock, endBlock, rewardPerBlock ไม่เปลี่ยนรูป และไม่อนุญาตให้ทำการเปลี่ยนแปลงในภายหลัง
  5. สร้างโครงสร้างการกำกับดูแลของ DAO ที่ต้องมีข้อเสนอของชุมชนและการลงคะแนนเสียงสำหรับการเรียกไปยังหน้าที่ที่ละเอียดอ่อน
  6. ใช้สถาปัตยกรรมโมดูลาร์เพื่อแยกความรับผิดชอบและหลีกเลี่ยงการรวมศูนย์มากเกินไปของโมดูลใดโมดูลหนึ่ง
  7. สร้างกลไกหยุดฉุกเฉินด้วยการรับรองความถูกต้องหลายลายเซ็น ซึ่งสามารถระงับข้อตกลงได้หากมีสิ่งผิดปกติเกิดขึ้น
  8. ดำเนินการตรวจสอบความปลอดภัยภายนอกเป็นประจำและจัดการกับปัญหาที่พบในเวลาที่เหมาะสมเพื่อลดความเสี่ยงจากการควบคุมจากส่วนกลาง
  9. ในระหว่างการพัฒนา ให้ใช้วิธี fuzzing และวิธีการอื่นๆ เพื่อระบุและกำจัดช่องโหว่ของการควบคุมจากส่วนกลาง
  10. ปฏิบัติตามหลักการของสิทธิ์ขั้นต่ำ และให้สิทธิ์ที่จำเป็นขั้นต่ำแก่บทบาทและบัญชีเท่านั้น

ความเสี่ยงจากการรวมศูนย์เหล่านี้เกิดจากข้อเท็จจริงที่ว่าเจ้าของสัญญาอาจควบคุมพารามิเตอร์และฟังก์ชันของสัญญามากเกินไป ซึ่งอาจทำให้เจ้าของสามารถปรับเปลี่ยนโปรโตคอลหรือเป็นอันตรายต่อผู้ใช้ได้ นอกจากนี้ เรายังหวังว่าการวิเคราะห์นี้จะให้ข้อมูลเชิงลึกที่เป็นประโยชน์และคำแนะนำด้านความปลอดภัยสำหรับการปรับปรุงสัญญาอัจฉริยะของ iZiFinance

ตามเรามา

ทวิตเตอร์: @MetaTrustLabs

เว็บไซต์: metatrust.io

ความคิดเห็น

ความคิดเห็นทั้งหมด

Recommended for you

  • ITA 2026: เหลืออีก 2 วัน – การประชุมสุดยอดระดับโลก RWA ครั้งแรก

    ข่าววันที่ 7 กุมภาพันธ์: เพื่อสำรวจแนวโน้มล้ำสมัยในด้านสินทรัพย์ในโลกแห่งความเป็นจริง (RWA) และสร้างแพลตฟอร์มการแลกเปลี่ยนและความร่วมมือระดับสูงที่เกี่ยวข้องกับภาครัฐ เศรษฐกิจ อุตสาหกรรม สถาบันการศึกษา และการวิจัย นิตยสาร Bauhinia ร่วมกับสหพันธ์ระบบนิเวศ RWA ระหว่างประเทศ บริษัท Triangle Technology (Hong Kong) Limited, WebX Global Digital Holdings Group, Coin Found และบริษัทอื่นๆ จะจัดงาน "ITA 2026 First RWA Global Summit" ในฮ่องกงในวันที่ 9 กุมภาพันธ์ เหลือเวลาอีกเพียง 2 วันเท่านั้น

  • ราคา BTC ร่วงลงต่ำกว่า 68,000 ดอลลาร์

    ข้อมูลตลาดแสดงให้เห็นว่า BTC ร่วงลงต่ำกว่า 68,000 ดอลลาร์ และปัจจุบันซื้อขายอยู่ที่ 67,999.01 ดอลลาร์ เพิ่มขึ้น 4.86% ในช่วง 24 ชั่วโมงที่ผ่านมา ความผันผวนของตลาดสูง โปรดบริหารความเสี่ยงของคุณให้เหมาะสม

  • ราคา BTC ร่วงลงต่ำกว่า 69,000 ดอลลาร์

    ข้อมูลตลาดแสดงให้เห็นว่า BTC ร่วงลงต่ำกว่า 69,000 ดอลลาร์ และปัจจุบันซื้อขายอยู่ที่ 68,957.16 ดอลลาร์ เพิ่มขึ้น 5.84% ในช่วง 24 ชั่วโมงที่ผ่านมา ความผันผวนของตลาดสูง โปรดบริหารความเสี่ยงของคุณให้เหมาะสม

  • อี้ ลี่ฮัว โอน ETH ไปยังเว็บเทรดมากกว่าจำนวนที่จำเป็นสำหรับการปลดเลเวอเรจ ซึ่งบ่งชี้ว่าเขาอาจกำลังขายสินทรัพย์ทั้งหมดที่มีอยู่

    เมื่อวันที่ 7 กุมภาพันธ์ Yu Jin นักวิเคราะห์ข้อมูลบนบล็อกเชนได้โพสต์บน X ว่าดูเหมือนว่าที่อยู่ของ Yi Lihua ไม่ได้แค่ทำการลดเลเวอเรจเท่านั้น แต่ยังทำการขายสินทรัพย์ทั้งหมดที่มีอยู่ด้วย ปัจจุบัน ที่อยู่ดังกล่าวได้โอน ETH จำนวน 630,400 ETH (1.294 พันล้านดอลลาร์สหรัฐ) ไปยัง Binance แล้ว เหลือเพียง 21,300 ETH (43.94 ล้านดอลลาร์สหรัฐ) บนบล็อกเชน เนื่องจาก 96% ของ ETH ถูกโอนไปยังเว็บเทรดแล้ว ซึ่งมากกว่าจำนวนที่จำเป็นสำหรับการลดเลเวอเรจอย่างมาก จึงมีความเป็นไปได้สูงที่จะเป็นการขายสินทรัพย์ทั้งหมด

  • ETH ทะลุ 2,000 ดอลลาร์

    ข้อมูลตลาดแสดงให้เห็นว่า ETH ทะลุ 2,000 ดอลลาร์แล้ว และปัจจุบันซื้อขายอยู่ที่ 2,000.7 ดอลลาร์ ลดลง 3.93% ในช่วง 24 ชั่วโมงที่ผ่านมา ตลาดมีความผันผวนสูง โปรดบริหารความเสี่ยงของคุณอย่างเหมาะสม

  • ราคา Bitcoin ทะลุ 68,000 ดอลลาร์

    ข้อมูลตลาดแสดงให้เห็นว่า BTC ทะลุระดับ 68,000 ดอลลาร์แล้ว และปัจจุบันซื้อขายอยู่ที่ 68,000.01 ดอลลาร์ ลดลง 3.33% ในช่วง 24 ชั่วโมงที่ผ่านมา ตลาดกำลังมีความผันผวนสูง ดังนั้นโปรดบริหารความเสี่ยงของคุณให้เหมาะสม

  • ราคา BTC ร่วงลงต่ำกว่า 67,000 ดอลลาร์

    ข้อมูลตลาดแสดงให้เห็นว่า BTC ร่วงลงต่ำกว่า 67,000 ดอลลาร์ โดยปัจจุบันซื้อขายอยู่ที่ 66,996.64 ดอลลาร์ ลดลง 4.65% ในช่วง 24 ชั่วโมงที่ผ่านมา ตลาดกำลังมีความผันผวนสูง โปรดบริหารความเสี่ยงของคุณให้เหมาะสม

  • ราคา Bitcoin ทะลุ 67,000 ดอลลาร์

    ข้อมูลตลาดแสดงให้เห็นว่า BTC ทะลุระดับ 67,000 ดอลลาร์ และปัจจุบันซื้อขายอยู่ที่ 67,006.7 ดอลลาร์ ลดลง 3.83% ในช่วง 24 ชั่วโมงที่ผ่านมา ตลาดมีความผันผวนสูง โปรดบริหารความเสี่ยงของคุณให้เหมาะสม

  • ราคา Bitcoin ทะลุ 66,000 ดอลลาร์

    ข้อมูลตลาดแสดงให้เห็นว่า BTC ทะลุระดับ 66,000 ดอลลาร์ และปัจจุบันซื้อขายอยู่ที่ 66,006.95 ดอลลาร์ ลดลง 7.87% ในช่วง 24 ชั่วโมง ตลาดมีความผันผวนสูง โปรดบริหารความเสี่ยงของคุณให้เหมาะสม

  • ยืนยันรายชื่อแขกรับเชิญพิเศษ | ศาสตราจารย์หลี่ฮุย จะเข้าร่วมงาน Web3 Night Afterparty ที่ฮ่องกงในวันที่ 9 กุมภาพันธ์

    จากข้อมูลของ Cointime ศาสตราจารย์หลี่ ฮุย ศาสตราจารย์กิตติคุณแห่งบัณฑิตวิทยาลัยเซินเจิ้น มหาวิทยาลัยปักกิ่ง และผู้อำนวยการศูนย์นวัตกรรมแห่งอนาคตของมหาวิทยาลัยปักกิ่งสำหรับโครงสร้างพื้นฐานวิทยาศาสตร์และเทคโนโลยีระดับชาติ ได้ยืนยันการเข้าร่วมงานเลี้ยงหลังงาน Web3 Night ในหัวข้อ "การลงทุน ข้อมูลเชิงลึก การมองการณ์ไกล และนวัตกรรม" ที่ฮ่องกงในวันที่ 9 กุมภาพันธ์