เคล็ดลับการรวม BalancerV1

Dec 22 2022
สวัสดีผู้อ่านที่รัก! เรายังคงโพสต์คำแนะนำพิเศษสำหรับนักพัฒนาที่ใช้การรวม Balancer V1 เราเชื่อว่าไม่มีใครสงสัยว่าพื้นฐานของการผสานรวมที่ปลอดภัยนั้นเป็นวิธีการพิเศษในการเขียนโค้ด
แหล่งที่มา

สวัสดีผู้อ่านที่รัก! เรายังคงโพสต์คำแนะนำพิเศษสำหรับนักพัฒนาที่ใช้การรวมBalancer V1

บาลานเซอร์.fi

เราเชื่อว่าไม่มีใครสงสัยว่าพื้นฐานของการผสานรวมที่ปลอดภัยนั้นเป็นวิธีการพิเศษในการเขียนโค้ด ดังนั้น บทความนี้จะเน้นเฉพาะประเด็นที่มีประโยชน์จริงๆ สำหรับการทำให้โค้ดของคุณปลอดภัย !

ตรวจสอบบทความก่อนหน้าของเรา:

  • เยี่ยมชมบล็อกของเรา!

เราเข้าใจและเคารพในเวลาที่จำกัดของคุณ ดังนั้นเราจึงจัดทำสรุปข้อมูล เฉพาะ โดยไม่มีอะไรฟุ่มเฟือยสำหรับคุณเท่านั้น! ตรวจสอบออก!

ยังไงก็ตาม ตอนนี้ยังมีช่องว่างอยู่บ้าง ดังนั้นหากโปรเจกต์ของคุณต้องการการตรวจสอบ — อย่าลังเลที่จะเขียนถึงเรา ไปที่หน้ารายงานสาธารณะของเราที่นี่

ฉัน — บทสรุปของ Balancer.fi

สงสัยว่า บาลานเซอร์คืออะไร? กล่าวโดยย่อคือBalancerเป็นหนึ่งในผู้ทำตลาดอัตโนมัติ ( AMM ) ที่ได้รับความนิยมมากที่สุดและการแลกเปลี่ยนแบบกระจายอำนาจบนเครือข่าย Ethereum !

ทำความเข้าใจกับ Balancer Pools

ในท้ายที่สุด ผู้ใช้สามารถสร้างพูลได้โดยใช้สินทรัพย์ดิจิทัลสองตัวหรือมากกว่าที่พวกเขาเลือก เช่นเดียวกับ AMM ที่มีชื่อเสียงอื่น ๆ Balancer จะกำหนดเส้นทางการซื้อขายผ่านกลุ่มสภาพคล่องใด ๆ ที่จำเป็นเพื่อรักษาอัตราที่ดีที่สุดสำหรับผู้ใช้

ตรวจสอบ แหล่งข้อมูล นี้เยี่ยมชมบล็อก ของพวกเขา และ ช่อง ทางการ อื่นๆ :

  • ถ่ายทอดสดบน Mainnet ตั้งแต่ 26 กุมภาพันธ์ 2020
  • เอกสาร
  • กระดาษสีขาว
  • ทวิตเตอร์
  • เว็บไซต์
บาลานเซอร์คืออะไร? คู่มือฉบับสมบูรณ์

ในบทความนี้ เรานำเสนอเคล็ดลับที่เราได้รับจากการตรวจสอบการผสานรวม Balancer V1 เข้ากับโปรโตคอล DeFi เกือบสองปีคุณจะพบรายการเครื่องมือและการวิจัยสำหรับการศึกษาด้วยตนเอง เราขอแนะนำให้คุณอ่านแยกต่างหากเพื่อความเข้าใจที่ดีขึ้น .

มาเริ่มกันเลย! เราหวังว่าคุณจะพบว่าบทความในวันนี้ให้ข้อมูลและเป็นประโยชน์!

II — เราขอแนะนำ

การปฏิบัติตามคำแนะนำด้านล่างสามารถปรับปรุงความปลอดภัยของการผสานรวมของคุณได้อย่างมาก:

  • สัญญารวมเก็บเปอร์เซ็นต์ค่าธรรมเนียมในตัวแปร ไม่ควรแคชค่านี้เพื่อประหยัดน้ำมันเพราะเจ้าของพูลสามารถแก้ไขได้ตลอดเวลา!
  • อย่างไรก็ตาม หากpool.getOwner()ส่งกลับaddress(0)ค่าคอมมิชชันของพูลจะคงที่
  • มันไม่มีประสิทธิภาพอย่างมากหากโปรโตคอลการรวมใช้เพียงการแลกเปลี่ยนเพียงครั้งเดียว ( Vault.swap ) เมื่อทำการผสานรวม โปรโตคอลควรใช้การสลับเป็นชุดเนื่องจากโดยทั่วไปมีราคาถูกกว่าการสลับเพียงครั้งเดียวและเปิดคู่ที่มีศักยภาพมากขึ้น — บางครั้งไม่มีพูลสำหรับโทเค็นที่เลือกสองรายการ
  • สำหรับพูลที่มี ฟังก์ชัน TWAP ( Weighted2TokensและMetaStablePool ) คุณไม่ควรใช้ ฟังก์ชัน pool.getLatest()เนื่องจากใช้การสำรองในปัจจุบันซึ่งจัดการได้ง่าย ใช้pool.getTimeWeightedAverage()แทน!
  • Vault Query ( queryBatchSwap , queryJoin , queryExit ) ไม่สามารถใช้ในการคำนวณขีดจำกัด (ค่าสูงสุดหรือค่าต่ำสุด) ในธุรกรรมเดียวกันที่มีการดำเนินการ swap (การเข้าหรือออกของพูล) มิฉะนั้นธุรกรรมนั้นจะเสี่ยงต่อการถูกโจมตีแบบแซนวิชและ การสืบค้นจะส่งคืนค่า ตามธุรกรรมของผู้โจมตี
  • นอกจากนี้ ธุรกรรม swap จากผู้ใช้รายอื่นอาจส่งผลต่อราคา (slippage) อย่างมากและการสืบค้นในธุรกรรมเดียวกันด้วย swap จะไม่ป้องกันสิ่งนี้!
  • เมื่อโต้ตอบกับพูลผ่านVault จะมีการส่งผ่าน bytes32 pool_idและโปรดจำไว้ว่านี่ไม่ใช่ ที่อยู่ ของพูล ที่แปลงเป็นbytes32 ต้อง ได้รับ รหัสออนเชนผ่านpool.getPoolId( )
  • น้ำหนักของโท เค็นในพูลจะถูกปรับขนาดเป็น10¹⁸ ดังนี้ ค่า0.8*10¹⁸จะถูกเก็บไว้สำหรับน้ำหนัก80% หากมีการคำนวณด้วยน้ำหนักอย่าลืมหารด้วยตัวดัดแปลง10¹⁸หากไม่ลดลงเมื่อหารสองน้ำหนัก
  • เมื่อคำนวณค่าเอาต์พุตที่ swap ค่าที่ป้อนจะต้องรวมค่าธรรมเนียมพูล นอกจากนี้ เรายังแนะนำในประเด็นนี้ว่าควรพิจารณาวิธีระบุminReturnเมื่อเรียกใช้ฟังก์ชัน (โทเค็นใดที่เรียกเก็บค่าธรรมเนียม ณ จุดใด ฯลฯ)

เราเข้าใจและเคารพในเวลาที่จำกัดของคุณ ดังนั้นเราจึงจัดทำสรุปข้อมูล เฉพาะ โดยไม่มีอะไรฟุ่มเฟือยสำหรับคุณเท่านั้น! ตรวจสอบออก!

เราขอแนะนำให้คุณตรวจสอบรายการเครื่องมือและแหล่งข้อมูลที่ยอดเยี่ยมแยกกันเพื่อความเข้าใจที่ดีขึ้น:

ตรวจสอบบทความของเราพร้อมคำแนะนำเกี่ยวกับการเพิ่มประสิทธิภาพก๊าซรวมถึงบทความอื่นๆ !

เราควรทบทวนตราสารใด? คุณสนใจอ่านเรื่องอะไร

ตรวจสอบบทความก่อนหน้าของเรา:

  • เยี่ยมชมบล็อกของเรา!

อยู่อย่างปลอดภัย!