ด้วยความเจริญรุ่งเรืองของ dYdX V4 ที่อยู่เบื้องหลัง การวิเคราะห์ลึกลงในการจัดประเภทการเลี้ยงเงิน DeFi การประยุกต์ใช้และปฏิบัติด้านความปลอดภัย

กลาง12/13/2023, 2:12:46 PM
เอกสารนี้สำรวจความหลากหลายและสถานการณ์การใช้งานของ DeFi leverage ผ่าน dYdX V4 วิเคราะห์ช่องโหว่ในระดับโค้ด และนำเสนอจุดประกันความปลอดภัยสำคัญของโปรโตคอลการเอาประกัน

คำอธิบายเกี่ยวกับการยืมเงิน DeFi

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

ความหลายชนะคืออะไร

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

เลวเรจในการซื้อขายดิจิทัล

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

เหมือนกับการเงินแบบดั้งเดิม นักเทรดใช้เลวเรจในการยืมเงินเพื่อเพิ่มพลังซื้อของตน หรือใช้เพื่อใช้ประโยชน์จากสินค้าอนุพันธ์ทางการเงินต่างๆ เช่น อนุพันธ์และตัวเลือกต่างๆ

อัตราความเฉียบพลันยังเพิ่มขึ้นจาก 3 เท่าและ 5 เท่า สู่มากกว่า 100 เท่า การเพิ่มความเฉียบพลันสูงแสดงถึงความเสี่ยงสูง แต่เหมือนที่เห็นบนส่วนใหญ่ของบริษัทแลกเปลี่ยนที่เป็นกลาง นี่คือความเสี่ยงที่นักเทรดที่รุนแรงกำลังมองหาผลตอบแทนสูงพร้อมจะรับเป็นการซื้อขายในที่เพิ่มมากขึ้น

อธิบายอย่างละเอียดการจำแนกประเภทเลวเรจ

ในเชิง DeFi ผลิตภัณฑ์ที่มีการเลือกกาฬมีสี่ประเภทหลัก และกลไกสำหรับการสร้างความเลือกกาฬต่างกัน: เลือกกาฬให้ยืมเงิน, เลือกกาฬการซื้อขายของทรัพย์, เลือกกาฬสัญญาถาวร, และเลือกกาฬโทเค็น

การยืมเงินเช่าเงินทุน

การให้ยืมและการให้ยืม DeFi เป็นหนึ่งในแอปพลิเคชัน DeFi ที่เก่าแก่และใหญ่ที่สุด สิ่งที่ใหญ่เช่น MakerDAO, Compound, AAVE และ Venus ได้เริ่มดำเนินการในตลาดแล้ว ตรรกะสำหรับการได้ขีดจำนองโดยการยืมสินทรัพย์เชิงโครทีโอง่าย

ตัวอย่างเช่นหากคุณถือเงิน $10,000 ใน Ether (ETH) และมีทิศทางในการลงทุน คุณสามารถฝาก ETH เป็นทรัพย์สินขั้นต่ำใน Compound, ให้ยืม $5,000 ใน USDC, แล้วใช้สัญญา $5,000 USDC นั้นแลกกับอีก $5,000 ใน ETH โดยทางนี้คุณจะได้ความเสี่ยง 1.5 เท่าบน ETH และเทียบกับสินทรัพย์เริ่มต้นของคุณ $10,000 คุณจะได้ $1.5 ล้านในการต่อต้าน ETH

ในทำนองเดียวกัน หากคุณเชื่อว่าราคาจะลด คุณสามารถเลือกฝาก stablecoins และให้ยืม ETH หากราคาของ ETH ลดลง คุณสามารถซื้อ ETH ในตลาดในราคาที่ต่ำกว่าและชำระหนี้ของคุณ

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

การเทรดมาร์จินด้วยเลเวอเรจ

ด้วยการให้ยืม DeFi, คุณสามารถทำสิ่งที่คุณต้องการกับสินทรัพย์ดิจิทัลเหล่านี้ได้ DeFi ซื้อขายของเงินทุนเพิ่มเติมเน้นไปที่การเพิ่มขนาดตำแหน่ง (เพิ่มพลังซื้อขาย) และถือว่าเป็น “ตำแหน่งที่มีการยืมเงิน”. อย่างไรก็ตามมีความแตกต่างอย่างสำคัญอยู่ที่นี่ — ในขณะที่ตำแหน่งของเงินทุนยังค้างอยู่, สินทรัพย์ของนักเทรดนั้นเป็นหลักประกันสำหรับเงินยืม

dYdX เป็นแพลตฟอร์มการซื้อขายหุ้นอย่างเดี่ยวที่มีชื่อเสียงที่อนุญาตให้ใช้การยืมเงินสูงสุด 5 เท่า ในการซื้อขายหุ้นของ dYdX นักซื้อขายใช้เงินทุนของตัวเองเป็นหลักประกัน ขยายเงินทุนเริ่มต้นของพวกเขาหลายเท่าและใช้เงินทุนที่ขยายขนาดนี้ในการลงทุนในขอบเขตที่ใหญ่ขึ้น

นักเทรดต้องจ่ายค่าดอกเบี้ยและค่าธรรมเนียมที่เกี่ยวข้องกับการซื้อขาย ตำแหน่งนี้ไม่ใช่เพียงแต่เป็นภาพจินตนาการ มันเป็นการยืมและซื้อ/ขายจริงจัง

หากตลาดเคลื่อนไหวในทิศทางที่ไม่เอื้ออำนวย สินทรัพย์ของนักเทรดเดอร์อาจจะไม่สามารถชดใช้หนี้ทั้งหมดได้ ในการป้องกันไม่ให้เกิดเหตุการณ์นี้ เอกสารสัญญาจะขายทองหนี้ของคุณก่อนอัตราการละลายที่กำหนดถึง

การเงินปรับความเสี่ยงอย่างไรในการซื้อขายเงินทุน

สมมติว่าคุณเชื่อว่าราคา ETH ขึ้น 3 เท่าในการซื้อขายของเงินยืม แต่คุณไม่ต้องการปรับปรุงความเสี่ยงของคุณตลอดเวลา

คุณถือ USDC 100 ดอลลาร์และยืมอีก 200 ดอลลาร์ใน USDC เพื่อซื้อขาย 300 ดอลลาร์ใน ETH เพื่อสร้างตำแหน่ง ETH ในทิศทางยาวที่คุณต้องการ ระดับการเพิ่มความเสี่ยงคือ 300/100 = 3 เท่า

หากราคาของ ETH ขึ้น 20% กำไรของคุณจะเป็น 300 (1 +20%) -300 = $60 ความเสี่ยงที่จะถูกล้างหนี้จะน้อยลงในขณะที่ระดับการยืมที่แท้จริงจะลดลงเหลือ 360/ (360-200) = 2.25 เท่า กล่าวอีกนัยหนึ่งคือ คุณจะลดระดับการยืมโดยอัตโนมัติเมื่อราคาของ ETH ขึ้น

หากราคาของ ETH ลดลง 20% ความเสียหายของคุณจะเป็น 300 (1-20%) -300 = -60 ดอลลาร์ แต่เมื่อเรื่องถึงการขายออก คุณจะอยู่ในตำแหน่งที่เสี่ยงอันตรายมากขึ้นและระดับความผันผวนจริงถูกเพิ่มขึ้นโดยอัตโนมัติเป็น 240/(240-200) = 6 เท่า กล่าวคือ คุณทำการสมดุลกาลเวลาที่ราคาของ ETH ลดลงซึ่งบ่งชี้ว่าคุณกำลังอยู่ในตำแหน่งที่เสี่ยงมากกว่าก่อนหน้า

ดังนั้น ในขณะที่คุณอาจคิดว่าคุณสามารถรักษาการเปิดที่ leverage คงที่โดยการซื้อขายบนขอบเขต 3 เท่า แต่ leverage เรียลไทม์กำลังเปลี่ยนไปอย่างต่อเนื่องโปรดตรวจสอบแผนภูมิด้านล่างเพื่อดูว่าการยืดหยุ่นจะเปลี่ยนแปลงอย่างไรตามการเปลี่ยนแปลงของราคา [1]

สัญญาถาวรเงินค้ำประกัน

สัญญาถาวรคล้ายกับสัญญาฟิวเจอร์ที่เป็นแบบดั้งเดิม แต่ไม่มีวันหมดอายุ สัญญาถาวรจำลองตลาดสปอตที่ใช้มาร์จิน ดังนั้นการซื้อขายใกล้เคียงกับราคาดัชนีอ้างอิง

มีโครงการ DeFi มากมายที่ให้สัญญาถาวรสำหรับนักเทรด เช่น dYdX, MCDEX, Perpetual Protocol, Incomplete, ฯลฯ นักเทรดมากมายอาจพบว่ายากที่จะบอกความแตกต่างระหว่างการซื้อขายเงินทุนและสัญญาถาวร — ในความเป็นจริงพวกเขามีการใช้ความสามารถของผู้ใช้เหมือนกัน

อย่างไรก็ตาม มีความแตกต่างบางอย่างในกลไกการยืมเงิน ค่าธรรมเนียม และระดับของการยืมเงิน

สัญญาถาวรคือผลิตภัณฑ์衍生ซึ่งซื้อขายสินทรัพย์สังเคราะห์และมีลักษณะในการซื้อขายด้วยเงินยืม ราคาของสินทรัพย์ใต้เบื้องต้นถูกติดตามในลักษณะสังเคราะห์โดยไม่จำเป็นต้องซื้อขายสินทรัพย์ใต้เบื้องต้นจริง แต่การซื้อขายเงินยืมเกี่ยวข้องกับการยืมและซื้อขายสินทรัพย์เข้าจริง

ด้วยการเกิดขึ้นของสัญญาอนุรักษ์ที่ต่อเนื่อง แนวคิดเรทการเงินก็เกิดขึ้น วัตถุประสงค์คือเพื่อรักษาราคาธุรกรรมของสัญญาอนุรักษ์ให้สอดคล้องกับราคาอ้างอิงฐาน. หากราคาสัญญาสูงกว่าราคาสปอต แล้วผู้ถือครองจะต้องชำระเงินให้กับคนที่ขาด. กล่าวอีกนัยหนึ่ง นักซื้อขายจำเป็นต้องชำระค่าธรรมเนียมให้กับการยืมเงินอย่างต่อเนื่อง

การเลวเรจในสัญญาถาวรที่เป็นไปได้จะสูงกว่าในการซื้อขายเงินยืมและสามารถถึง 100 เท่า กลไกการล้างบัญชีและเลวเรจจริงเหมือนกับการซื้อขายเงินยืม

โทเค็นเลเวอร์เรจ

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

ความแตกต่างที่สำคัญที่สุดระหว่างโทเค็นเลเวอร์เจทและการซื้อขายเงินทุน/สัญญาตลาดอนุสัญญาคือโทเค็นเลเวอร์จะถูกทำการปรับสมดุลเป็นระยะๆ หรือเมื่อถึงเกณฑ์บางอย่างเพื่อรักษาระดับเลเวอเจทที่แน่นอน

นี่แตกต่างจากการซื้อขายเงินทุนและสัญญาเรียกเก็บเงินในระยะยาวอย่างชัดเจน — ความเร่งของผลิตภัณฑ์เหล่านี้เปลี่ยนแปลงอยู่เสมอตามการเปลี่ยนแปลงของราคา แม้แต่ว่านักซื้อขายอาจระบุระดับการเล่นเงินไว้ตั้งแต่แรก

มาดูวิธีการทำงานของการปรับสมดุลในตัวอย่าง 3x ETH ด้านบน:

คุณถือ USDC 100 ดอลลาร์และซื้อโทเค็นเลเวอร์เจ็ทบูล (3 เท่า) โปรโตคอลจะยืม USDC 200 ดอลลาร์อัตโนมัติและซื้อขาย ETH 200 ดอลลาร์

สมมติว่าราคาของ ETH ได้เพิ่มขึ้น 20% ในขณะที่ราคาของโทเค็น ETHBULL (3x) เพิ่มขึ้นเป็น 300* (1 +20%) -200 = $160 ก่อนการทำการสมดุลผลการใช้ความเหนี่ยวนำของคุณจริงๆ คือ 2.25 (360/160) ต่ำกว่าความเหนี่ยวนำเป้าหมายของคุณ

ในกระบวนการทำให้สมดุลอีกครั้ง โปรโตคอลจะยืมเงินเพิ่มจากสระสเตเบิลคอยน์มากขึ้น และซื้อ ETH พวกเพิ่มเพื่อให้ค่าความเบาเช่นเดิมที่ 3 เท่า ในตัวอย่างของเรา โปรโตคอลจะยืมเงินเพิ่มอีก $120 และแลกเปลี่ยนกับ ETH ดังนั้น ค่าความเบารวมกลับมาเป็น (360+120) /160 = 3 ครั้ง

สมมติว่าราคาของ ETH ลดลง 20% ในขณะที่ราคาของโทเค็น ETHBULL (3x) ลดลงเหลือ 300* (1-20%) -200 = $40 ก่อนการทำการสมดุลใหม่ ความเหนียวจริงของคุณจะเป็น 6 (240/40) สูงกว่าความเหนียวเป้าหมายของคุณ

ในกรณีนี้ ข้อตกลงจะขายตั๊กและชำระหนี้คงค้างเพื่อลดความเสี่ยง ในตัวอย่างนี้ โปรโตคอลจะขาย ETH 120 ดอลลาร์เพื่อชำระสระว่าง หนี้จะกลายเป็น 80 ดอลลาร์ และความเสี่ยงรวมจะกลับมาอีกครั้ง (240-120) / 40 = 3 เท่า

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

ด้วยเหตุนี้ กองทุนการยืมในโมเดลโทเค็นที่มีการเปิดโพธิ์ทรัพย์จะได้รับการยกเว้นจากความเสี่ยงของการล่วงละเอียดและมีความปลอดภัยกว่ากองทุนการยืมในการซื้อขายขายเอน

ตัวอย่างการใช้งานการยืดหยุ่น

ตอนนี้ที่เราได้เรียนรู้เกี่ยวกับบางประเภทของ DeFi protocol ที่เป็นที่พบบ่อยเกี่ยวกับการอัดเงินยืม มาถึงเวลาพูดถึงการใช้เงินยืมอย่างละเอียดเกี่ยวกับ DeFi protocols ที่เฉพาะเจาะจง

GMX

GMX [2]เป็นการแลกเปลี่ยนแบบที่ไม่มีสถานที่และถาวรที่มอบให้นักซื้อขายสามารถซื้อขายสินทรัพย์ด้วยความละเอียดสูงสูงสุดถึง 50 เท่า ข้อตกลงนี้กำลังดำเนินการบน Arbitrum และ Avalanche บน GMX นักซื้อขายทราบถึงสถานการณ์ของคู่ค้าของพวกเขาอย่างสมบูรณ์ซึ่งแตกต่างจากการซื้อขายบน CEX ไม่เหมือนกับข้อตกลงสัญญาถาวรอื่น ๆ เช่น dYdX GMX ดำเนินการอย่างเต็มที่บนเชื่อมโยงและใช้ฟังก์ชัน AMM เพื่อเปิดให้การซื้อขายโภคศาสตร์

สิ่งที่ทำให้ GMX แตกต่างจากบริการอื่น ๆ คือมันเป็นตลาดแบบกระจายที่ให้บริการซื้อขายเงินเหลือทุน ในทางนี้มันรวมประสบการณ์ที่คล้ายกับตลาด DeFi อื่น ๆ เช่น Uniswap กับบริการซื้อขายเงินเหลือทุนที่ Binance และอื่น ๆ มี

GMX มีพูล Likvidity GLP ซึ่งเป็นพูล multi-asset ที่ให้ Likvidity สำหรับการเทรดของยูเซอร์: ผู้ใช้สามารถเข้าทิศทางยาว / สั้นและดำเนินการเทรดโดยการทำเหรียญ GLP และทำลายเหรียญ GLP พูลได้รับค่าธรรมเนียม LP จากการเทรดและการเทรดเลเวอเรจ ซึ่งจะแจกจ่ายให้กับผู้ถือ GMX และ GLP

เพื่อเทรดด้วยการยืมเงิน นักเทรดจะฝากหลักทรัพย์เข้าสู่ข้อตกลง นักเทรดสามารถเลือกการยืมเงินได้สูงสุด 50 เท่า ยิ่งเลเวอเรจสูง ราคา likuidation ยิ่งสูง ซึ่งจะเพิ่มขึ้นเรื่อย ๆ เมื่อค่ายืมเพิ่มขึ้น

ตัวอย่างเช่น เมื่อเข้าสู่ตลาดด้าน ETH ทางผู้ค้าจะ "เช่า" พื้นที่การขยายของ ETH จาก สระ GLP; เมื่อทำการขายสั้น ETH ผู้ค้าจะ "เช่า" พื้นที่การขยายของ stablecoins ต่อ ETH จาก สระ GLP อย่างไรก็ตาม สินทรัพย์ใน สระ GLP ไม่ได้ถูกเช่าออกไปจริงๆ

เมื่อปิดตำแหน่ง ถ้านักเทรดวางเดิมทายถูก กำไรจะถูกจ่ายในรูปแบบการเพิ่มโทเค็นจากบ่อ GLP มิฉะนั้น ความเสียหายจะถูกหักจากค้ำประกันและจ่ายเข้าสู่บ่อ กำไรจาก GLP มาจากความเสียหายของนักเทรดและกำไรจากความเสียหายของนักเทรด

ในขั้นตอนนี้ นักเทรดจ่ายค่าธรรมเนียมธุรกรรม ค่าธุรกรรมเปิด/ปิด และค่ายืมเพื่อเปลี่ยนเป็นพื้นที่สูง/ต่ำสำหรับโทเค็นที่ระบุ (BTC, ETH, AVAX, UNI และ LINK) ต่อเทียบกับดอลลาร์สหรัฐ

การซื้อขาย Merkle

Merkle Trade[3]เป็นแพลตฟอร์มการซื้อขายแบบกระจายที่มีการซื้อขายสกุลเงินดิจิตอล ฟอเร็กซ์ และสินค้าด้วยการยืดหยุ่นขึ้นถึง 1,000 เท่าและคุณลักษณะการซื้อขายที่ให้บริการผู้ใช้อย่างละเอียดอุดม Merkle Trade ได้รับพลังจากบล็อกเชน Aptos และมีประสิทธิภาพและความยืดหยุ่นระดับหนึ่งเมื่อเปรียบเทียบกับ Gains Network ซึ่งมีการยืดหยุ่นสูงเช่นเดียวกัน มีความล่าช้าในธุรกรรมและค่าธรรมเนียมต่ำกว่า

ไม่เหมือนกับการแลกเปลี่ยนส่วนใหญ่ Merkle Trade ไม่มี order book เป็นตัว แทนที่ Merkle LP ทำหน้าที่เป็นคู่ค้ากับทุก ๆ การเทรด และเมื่อนักเทรดขาดทุน มันจะเก็บหลักทรัพย์และจ่ายกำไรในการเทรดที่ปิดด้วยผลตอบแทนที่เป็นบวก

  • เทรดสกุลเงินดิจิตอล ฟอเร็กซ์ และสินค้า ด้วยการยืดหยุ่นสูงสุด 1,000 เท่า

Merkle Trade ถูกออกแบบขึ้นมาเพื่อให้บริการที่มีรายการคู่ซื้อขายที่หลากหลาย รวมถึงสกุลเงินดิจิทัล ฟอเร็กซ์ และสินค้า รวมถึงการยืดหยุ่นสูงสุดบนตลาด สูงสุดถึง 150 เท่าในสกุลเงินดิจิทัล และสูงสุดถึง 1,000 เท่าในฟอเร็กซ์

  • การดำเนินคำสั่งให้ได้ราคาที่เป็นธรรม, ความล่าช้าในระดับมิลลิวินาที, การลื่นไหลที่ต่ำ

การสร้างบล็อกเชนด้วย Aptos ซึ่งมีความล่าช้าต่ำที่สุดถึงปัจจุบัน สามารถให้ประสบการณ์การทำธุรกรรม on-chain ที่เร็วที่สุด สำหรับนักเทรด นี่หมายความว่าประสบการณ์การซื้อขายที่รวดเร็วขึ้นและมีการเลื่อนราคาน้อยลงเนื่องจากความล่าช้าในการดำเนินการ

  • ธุรกรรมที่ไม่มีการจัดเก็บข้อมูลศูนย์กลาง และไม่มีความเสี่ยงจากการมีคู่ค้า

นักเทรดทำการเทรดกับพูล Likuadity (Merkle LP) ซึ่งเป็นคู่ค้าสำหรับทุกครั้งที่มีการทำธุรกรรมบนข้อตกลง การทำธุรกรรมและการชำระเงินทั้งหมดถูกดำเนินการโดยสมาร์ทคอนแทรค และไม่มีการเก็บเงินของผู้ใช้ไว้ตลอดเวลาใด ๆ

  • ค่าธรรมเนียมการประมวลผลที่ต่ำที่สุด

Merkle Trade อ้างว่ามีค่าธรรมเนียมต่ำที่สุดในตลาดจนถึงปัจจุบัน ในการเริ่มต้น ค่าธรรมเนียมสำหรับคู่ซื้อขายสกุลเงินดิจิตอลต่ำที่สุดถึง 0.05% และค่าธรรมเนียมสำหรับคู่ซื้อขายฟอเร็กซ์ต่ำที่สุดถึง 0.0075%

DYDX

DYDX

dYdX[4]เป็นการแลกเปลี่ยนแบบกระจาย (DEX) ที่ให้ผู้ใช้มีความสามารถในการซื้อขายสัญญาตลาดต่อเนื่องอย่างมีประสิทธิภาพพร้อมทั้งมีการควบคุมที่แท้จริงเกี่ยวกับสินทรัพย์ ตั้งแต่เริ่มเปิดให้บริการในปี 2021 ได้นำเสนอ โซลูชั่นการขยายของเลเยอร์ระดับสองที่ไม่จำเป็นต้องการฝากเงินไว้ก่อนเพื่อใช้ในการดำเนินการแลกเปลี่ยน แต่ระบบสมุดคำสั่งและเครื่องจับคู่ก็ยังควบคุมอยู่ที่ศูนย์กลางอยู่

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

การวิเคราะห์ความปลอดภัยของการเฉลี่ย

เราได้นำเสนอประเภททั่ว ๆ ไปและการประยุกต์ของการเพิ่มความสามารถใน DeFi แล้ว ยังมีปัญหาด้านความปลอดภัยอีกมากในการออกแบบการเพิ่มความสามารถที่เราควรให้ความสนใจ พวกเราจะวิเคราะห์ปัญหาด้านความปลอดภัยและจุดตรวจสอบของการเพิ่มความสามารถใน DeFi โดยขึ้นอยู่กับกรณีตรวจสอบโดยเฉพาะ

แยกแยกการสั่งซื้อที่จำกัดและการสั่งซื้อในตลาด

ในแอปพลิเคชันการซื้อขายเงินทุนมากที่สุด มีคำสั่งจำกัดและคำสั่งตลาด การแยกแยะและการตรวจสอบคำสั่งจำกัดและคำสั่งตลาดอย่างเคร่งครัดมีความจำเป็นมากในขั้นตอนถัดไป เราจะดำเนินการวิเคราะห์อย่างละเอียดเกี่ยวกับปัญหาที่พบในการตรวจสอบ Merkle Trade [5]

let now = timestamp: :now_seconds (); if (now - order.created_timestamp > 30) {         cancel_order_internal(             _order_id,             order,             T_CANCEL_ORDER_EXPIRED         );         return     };

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

ข้อผิดพลาดในการคำนวณความเท็จ

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

มาดูโค้ดสำหรับการคำนวณเลVERAGE ใน Unstoppable กัน

def _calculate_calculation (_position_value: uint256, _debt_value: uint256, _margin_value: uint256) -> uint256: if _position_value < = _debt_value: #หนี้เสีย Return max_value (uint256) Return (precision * (_debt_value + _margin_value)/(_position_value - _debt_value) /PRECISION)

ฟังก์ชัน _calculate_margin ทำให้การยืมเงินถูกคำนวณผิดพลาดโดยใช้ _debt_value + _margin_value เป็นตัวตั้งแทน _position_value ฟังก์ชันมีพารามิเตอร์นำเข้าทั้งหมด 3 ตัวคือ _position_value, _debt_value, และ _margin_value ทั้งหมดกำหนดโดยข้อมูลราคาที่ Chainlink’s on-chain oracles ให้ ที่นี่ _debt_value ระบุค่าการแปลงส่วนหนึ่งของหนี้ในตำแหน่งเป็นจำนวนหนี้เงินดอลลาร์ _margin_value ระบุค่าปัจจุบันของจำนวนมาร์จินเริ่มต้นของตำแหน่ง (ในดอลลาร์สหรัฐ) _position_value ระบุค่าปัจจุบัน (ในดอลลาร์) ของจำนวนตำแหน่งเริ่มต้นของตำแหน่ง

ปัญหากับการคำนวณดังกล่าวคือ _debt_value + _margin_value ไม่แทนค่าของตำแหน่ง การเงินคืออัตราส่วนระหว่างค่าตำแหน่งปัจจุบันและค่ามาร์จินปัจจุบัน _position_value - _debt_value ถูกต้อง มันบ่งบอกค่ามาร์จินปัจจุบัน แต่ _debt_value + _margin_value ไม่แทนค่าปัจจุบันของตำแหน่ง เพราะไม่มีการรับประกันว่าตั๊กเงินและตั๊กตำแหน่งมีการเปลี่ยนแปลงราคาที่เกี่ยวข้อง

ตัวอย่างเช่น โทเค็นหนี้คือ ETH และ โทเค็นตำแหน่งคือ BTC

Alice ใช้ 1 ETH เป็นมาร์จิ้น ยืม 14 ETH (2,000 ดอลลาร์ต่อหนึ่ง) และได้รับ 1 BTC (30,000 ดอลลาร์ต่อหนึ่ง) ในตัวแทนตำแหน่ง การเลวเรจคือ 14

วันถัดไป ราคาของ ETH ยังคงที่ที่ $2,000/ETH แต่ราคาของ BTC ลดลงจาก $30,000/BTC เป็น $29,000/BTC ณ จุดนี้กำลังความเสี่ยงควรเป็น (_position_value == 29,000)/(_position_value == 29,000 - _debt_value == 28,000) = 29 ไม่ใช่ค่าที่คำนวณในสัญญา: (_debt_value == 28,000 + _margin_value == 2,000)/(_position_value == 29,000 - _debt_value == 28,000) = 30

ดังนั้น เพื่อแก้ไขปัญหานี้ สูตรที่ถูกต้องที่กล่าวถึงข้างต้นควรใช้เพื่อคำนวณความเป็นมากของสัญญาอัจฉริยะ การคำนวณความเป็นมากอาจทำให้การล่วงละเมิดไม่เป็นธรรมหรือมีตำแหน่งที่มีการเปิดสถานการณ์ได้มากเกินไปในเชิงราคา

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

ข้อผิดพลาดทางตรรกะ

ข้อผิดพลาดตรรกะ

ข้อผิดพลาดทางตรรกะต้องให้ความสนใจเป็นพิเศษในการตรวจสอบสัญญาอัจฉริยะ เนื่องจากมีตรรกะที่ซับซ้อน เช่นการซื้อขายเงินเหลือ DeFi

พูดคุยเรื่องปัญหาตรรกะที่ควรระวังในการใช้หลักทรัพย์ DeFi โดยใช้ปัญหาที่ค้นพบโดย Tigris[7](Tigris, แพลตฟอร์มการซื้อขายเลเวอเรจสินทรัพย์ทางซิงเท็ตไลบ์ที่มีพื้นฐานบน Arbitrum และ Polygon) ในการตรวจสอบจากบุคคลที่สาม

มาดูตรรกะของฟังก์ชันการปิดราคาจำกัดใน Tigris กัน

function limitClose ( uint _id, bool _tp, priceData calldata _priceData, Bytes calldata _signature) external{   _checkDelay(_id, false);   (uint _limitPrice, address _tigAsset) = tradingExtension._limitClose(_id, _tp, _priceData, _signature);   _closePosition(_id, DIVISION_CONSTANT, _limitPrice, address(0), _tigAsset, true);}function _limitClose ( uint _id, bool _tp, priceData calldata _priceData, Bytes calldata _signature) external view returns (uint _limitPrice, address _TIGAsset) { _checkGas (); iPosition.trade memory _trade = position.trades (_id);   _tigAsset = _trade.tigAsset;   getVerifiedPrice (_trade.asset, _priceData, _signature, 0); uint256 _price = _priceData.price;   if (_trade.orderType! = 0) revert (" 4 "); //isLimit if (_tp) { if (_trade.tpPrice == 0) revert (" 7 "); //limitNotSet if (_trade.direction) {           if (_trade.tpPrice > _price) revert("6"); //LimitNotMet       } else {           if (_trade.tpPrice < _price) revert("6"); //LimitNotMet       } _limitPrice = _trade.tpPrice;   } else { if (_trade.slprice == 0) revert (" 7 "); //limitNotSet if (_trade.direction) {           if (_trade.slPrice < _price) revert("6"); //LimitNotMet       } else {           if (_trade.slPrice > _price) revert("6"); //LimitNotMet       } //@audit stop loss is closed at user specified price NOT market price _limitPrice = _trade.slprice;   }}

เมื่อใช้ stop-loss เพื่อปิดตำแหน่ง ราคาปิดของผู้ใช้คือราคา stop-loss ที่ตั้งโดยผู้ใช้ ไม่ใช่ราคาปัจจุบันของสินทรัพย์ ในกรณีของตลาดแนวทางและความเหนื่อยสูง ผู้ใช้อาจใช้เสรีภาพนี้เพื่อประสบความสำเร็จในการเทรดโดยเสี่ยงน้อยมาก ผู้ใช้สามารถเปิดตำแหน่งลองและตั้งราคา stop-loss ที่ต่ำกว่าราคาปัจจุบัน $0.01

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

การเปลี่ยนแปลงราคา

Price Tubs

ผลกระทบจากการเปลี่ยนแปลงราคาต่ออัตราการเพิ่มความเสี่ยงใน DeFi มีความสำคัญมาก โดยการพิจารณาราคาเปลี่ยนแปลงอย่างตลอดเวลาเท่านั้นที่จะช่วยให้เรามั่นใจในความปลอดภัยของข้อตกลงการเพิ่มความเสี่ยง ให้เราใช้ DeFiner [8]โปรโตคอลเป็นตัวอย่างเช่นสำหรับการวิเคราะห์ลึกลับของปัญหาที่ค้นพบในการตรวจสอบบุคคลที่สาม

โปรโตคอล DeFiner ผ่านการตรวจสอบสองขั้นตอนก่อนทำการถอน

เริ่มต้น วิธีการจะตรวจสอบว่าจำนวนที่ผู้ใช้ขอถอนมีมูลค่ามากกว่ายอดคงเหลือของสินทรัพย์นั้นหรือไม่:

ฟังก์ชันการให้สิทธิ์ (ที่อยู่ _accountAddr, ที่อยู่ _token, uint256 _amount) ภายนอกเฉพาะที่ได้รับอนุญาต ส่งคืน (uint256) { // ตรวจสอบว่ามีจำนวนเพียงพอน้อยกว่ายอดคงเหลือของผู้ใช้ require (_amount < = getDepositBalanceCurrent (_token, _accountAddr), " ยอดคงเหลือที่ได้รับรายได้ ");   uint256 borrowLtv = globalConfig.tokenInfoLogistry () .getBorrowLtv (_token);

เมื่อถอนเงินครั้งที่สอง วิธีการจะตรวจสอบว่าการถอนเงินจะทำให้อัตราความเสี่ยงของผู้ใช้สูงเกินไปหรือไม่ จำนวนที่ถอนจะถูกหักจาก " อำนวยความสะดวกในการกู้ยืม " ของราคาปัจจุบันของผู้ใช้ หากมูลค่าการกู้ยืมรวมของผู้ใช้เกินอำนวยความสะดวกในการกู้ยืมใหม่ วิธีการล้มเหลวเนื่องจากผู้ใช้ไม่มีหลักทรัพย์เพียงพอที่จะสนับสนุนตำแหน่งการกู้ยืมของตน อย่างไรก็ตาม ข้อกำหนดนี้จะถูกตรวจสอบเท่านั้นหากผู้ใช้ไม่ได้มีเหนือเกินไป:

if (getBorrowEth (_accountAddr) < = getBorrowPower (_accountAddr)) require ( getBorrowEth (_accountAddr) < = getBorrowPower (_accountAddr) .sub (           _amount.mul (globalConfig.tokenInfoRegistry () .priceFromAddress (_token)) .mul (borrowLtv) .div (utils.getDivisor (address (globalConfig), _token)) .div (100)       ), " Colloquium Collège when ");

หากผู้ใช้ยืมมากกว่า " อํานาจการกู้ยืม " อนุญาตพวกเขาสามารถถอนเงินได้โดยไม่คํานึงถึง สิ่งนี้สามารถเกิดขึ้นได้ในหลายสถานการณ์ที่พบบ่อยที่สุดคือความผันผวนของราคา ข้อตกลงไม่ได้พิจารณาถึงผลกระทบของความผันผวนของราคาต่อข้อตกลงซึ่งทําให้เกิดปัญหานี้

อื่นๆ

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

รวม

สรุป

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

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

ในฐานะทีมรักษาความปลอดภัยบล็อกเชนชั้นนําในสาขา Web3 ScaleBit กระจายอยู่ใน Silicon Valley, Singapore, Hong Kong, Taiwan เป็นต้น เราได้จัดหาโซลูชันการรักษาความปลอดภัยบล็อกเชนให้กับสถาบันและโครงการ 200+ แห่งในภาคส่วน Web3 ทั่วโลก สะสมรหัสการตรวจสอบ 180,000+ บรรทัด และปกป้องทรัพย์สินของผู้ใช้มากกว่า 8 พันล้านดอลลาร์ ทําให้ทุกคนสามารถเข้าถึงความปลอดภัยได้! หากคุณมีความต้องการตรวจสอบความปลอดภัยโปรดติดต่อเรา เราจะปรับแต่งโซลูชันการรักษาความปลอดภัยที่มีรายละเอียดครอบคลุมและเป็นมืออาชีพเพื่อให้คุณปกป้องคุณและฟิลด์ Web3 อย่างปลอดภัย!

ข้อความปฏิเสธความรับผิดชอบ:

  1. บทความนี้ถูกคัดลอกมาจาก[ScaleBit]และลิขสิทธิ์เป็นของผู้เขียนต้นฉบับ [โพลาริสหากคุณมีข้อโต้แย้งใด ๆ เกี่ยวกับการพิมพ์ซ้ำ โปรดติดต่อทีม Gate Learn และทีมจะดำเนินการตามขั้นตอนที่เกี่ยวข้องโดยเร็วที่สุด

  2. คำประกาศ: มุมมองและความคิดเห็นที่แสดงในบทความนี้เพียงแสดงถึงความคิดเห็นส่วนตัวของผู้เขียนเท่านั้น และไม่เป็นที่สมบูรณ์แก่การให้คำแนะนำทางการลงทุนใดๆ

  3. การแปลบทความเป็นภาษาอื่น ๆ โดยทีม Gate Learn ถูกดำเนินการ นอกจากนี้ หากไม่ได้กล่าวถึง การคัดลอก การแจกจ่าย หรือการลอกเลียนบทความที่ถูกแปล ถูกห้าม

ด้วยความเจริญรุ่งเรืองของ dYdX V4 ที่อยู่เบื้องหลัง การวิเคราะห์ลึกลงในการจัดประเภทการเลี้ยงเงิน DeFi การประยุกต์ใช้และปฏิบัติด้านความปลอดภัย

กลาง12/13/2023, 2:12:46 PM
เอกสารนี้สำรวจความหลากหลายและสถานการณ์การใช้งานของ DeFi leverage ผ่าน dYdX V4 วิเคราะห์ช่องโหว่ในระดับโค้ด และนำเสนอจุดประกันความปลอดภัยสำคัญของโปรโตคอลการเอาประกัน

คำอธิบายเกี่ยวกับการยืมเงิน DeFi

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

ความหลายชนะคืออะไร

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

เลวเรจในการซื้อขายดิจิทัล

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

เหมือนกับการเงินแบบดั้งเดิม นักเทรดใช้เลวเรจในการยืมเงินเพื่อเพิ่มพลังซื้อของตน หรือใช้เพื่อใช้ประโยชน์จากสินค้าอนุพันธ์ทางการเงินต่างๆ เช่น อนุพันธ์และตัวเลือกต่างๆ

อัตราความเฉียบพลันยังเพิ่มขึ้นจาก 3 เท่าและ 5 เท่า สู่มากกว่า 100 เท่า การเพิ่มความเฉียบพลันสูงแสดงถึงความเสี่ยงสูง แต่เหมือนที่เห็นบนส่วนใหญ่ของบริษัทแลกเปลี่ยนที่เป็นกลาง นี่คือความเสี่ยงที่นักเทรดที่รุนแรงกำลังมองหาผลตอบแทนสูงพร้อมจะรับเป็นการซื้อขายในที่เพิ่มมากขึ้น

อธิบายอย่างละเอียดการจำแนกประเภทเลวเรจ

ในเชิง DeFi ผลิตภัณฑ์ที่มีการเลือกกาฬมีสี่ประเภทหลัก และกลไกสำหรับการสร้างความเลือกกาฬต่างกัน: เลือกกาฬให้ยืมเงิน, เลือกกาฬการซื้อขายของทรัพย์, เลือกกาฬสัญญาถาวร, และเลือกกาฬโทเค็น

การยืมเงินเช่าเงินทุน

การให้ยืมและการให้ยืม DeFi เป็นหนึ่งในแอปพลิเคชัน DeFi ที่เก่าแก่และใหญ่ที่สุด สิ่งที่ใหญ่เช่น MakerDAO, Compound, AAVE และ Venus ได้เริ่มดำเนินการในตลาดแล้ว ตรรกะสำหรับการได้ขีดจำนองโดยการยืมสินทรัพย์เชิงโครทีโอง่าย

ตัวอย่างเช่นหากคุณถือเงิน $10,000 ใน Ether (ETH) และมีทิศทางในการลงทุน คุณสามารถฝาก ETH เป็นทรัพย์สินขั้นต่ำใน Compound, ให้ยืม $5,000 ใน USDC, แล้วใช้สัญญา $5,000 USDC นั้นแลกกับอีก $5,000 ใน ETH โดยทางนี้คุณจะได้ความเสี่ยง 1.5 เท่าบน ETH และเทียบกับสินทรัพย์เริ่มต้นของคุณ $10,000 คุณจะได้ $1.5 ล้านในการต่อต้าน ETH

ในทำนองเดียวกัน หากคุณเชื่อว่าราคาจะลด คุณสามารถเลือกฝาก stablecoins และให้ยืม ETH หากราคาของ ETH ลดลง คุณสามารถซื้อ ETH ในตลาดในราคาที่ต่ำกว่าและชำระหนี้ของคุณ

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

การเทรดมาร์จินด้วยเลเวอเรจ

ด้วยการให้ยืม DeFi, คุณสามารถทำสิ่งที่คุณต้องการกับสินทรัพย์ดิจิทัลเหล่านี้ได้ DeFi ซื้อขายของเงินทุนเพิ่มเติมเน้นไปที่การเพิ่มขนาดตำแหน่ง (เพิ่มพลังซื้อขาย) และถือว่าเป็น “ตำแหน่งที่มีการยืมเงิน”. อย่างไรก็ตามมีความแตกต่างอย่างสำคัญอยู่ที่นี่ — ในขณะที่ตำแหน่งของเงินทุนยังค้างอยู่, สินทรัพย์ของนักเทรดนั้นเป็นหลักประกันสำหรับเงินยืม

dYdX เป็นแพลตฟอร์มการซื้อขายหุ้นอย่างเดี่ยวที่มีชื่อเสียงที่อนุญาตให้ใช้การยืมเงินสูงสุด 5 เท่า ในการซื้อขายหุ้นของ dYdX นักซื้อขายใช้เงินทุนของตัวเองเป็นหลักประกัน ขยายเงินทุนเริ่มต้นของพวกเขาหลายเท่าและใช้เงินทุนที่ขยายขนาดนี้ในการลงทุนในขอบเขตที่ใหญ่ขึ้น

นักเทรดต้องจ่ายค่าดอกเบี้ยและค่าธรรมเนียมที่เกี่ยวข้องกับการซื้อขาย ตำแหน่งนี้ไม่ใช่เพียงแต่เป็นภาพจินตนาการ มันเป็นการยืมและซื้อ/ขายจริงจัง

หากตลาดเคลื่อนไหวในทิศทางที่ไม่เอื้ออำนวย สินทรัพย์ของนักเทรดเดอร์อาจจะไม่สามารถชดใช้หนี้ทั้งหมดได้ ในการป้องกันไม่ให้เกิดเหตุการณ์นี้ เอกสารสัญญาจะขายทองหนี้ของคุณก่อนอัตราการละลายที่กำหนดถึง

การเงินปรับความเสี่ยงอย่างไรในการซื้อขายเงินทุน

สมมติว่าคุณเชื่อว่าราคา ETH ขึ้น 3 เท่าในการซื้อขายของเงินยืม แต่คุณไม่ต้องการปรับปรุงความเสี่ยงของคุณตลอดเวลา

คุณถือ USDC 100 ดอลลาร์และยืมอีก 200 ดอลลาร์ใน USDC เพื่อซื้อขาย 300 ดอลลาร์ใน ETH เพื่อสร้างตำแหน่ง ETH ในทิศทางยาวที่คุณต้องการ ระดับการเพิ่มความเสี่ยงคือ 300/100 = 3 เท่า

หากราคาของ ETH ขึ้น 20% กำไรของคุณจะเป็น 300 (1 +20%) -300 = $60 ความเสี่ยงที่จะถูกล้างหนี้จะน้อยลงในขณะที่ระดับการยืมที่แท้จริงจะลดลงเหลือ 360/ (360-200) = 2.25 เท่า กล่าวอีกนัยหนึ่งคือ คุณจะลดระดับการยืมโดยอัตโนมัติเมื่อราคาของ ETH ขึ้น

หากราคาของ ETH ลดลง 20% ความเสียหายของคุณจะเป็น 300 (1-20%) -300 = -60 ดอลลาร์ แต่เมื่อเรื่องถึงการขายออก คุณจะอยู่ในตำแหน่งที่เสี่ยงอันตรายมากขึ้นและระดับความผันผวนจริงถูกเพิ่มขึ้นโดยอัตโนมัติเป็น 240/(240-200) = 6 เท่า กล่าวคือ คุณทำการสมดุลกาลเวลาที่ราคาของ ETH ลดลงซึ่งบ่งชี้ว่าคุณกำลังอยู่ในตำแหน่งที่เสี่ยงมากกว่าก่อนหน้า

ดังนั้น ในขณะที่คุณอาจคิดว่าคุณสามารถรักษาการเปิดที่ leverage คงที่โดยการซื้อขายบนขอบเขต 3 เท่า แต่ leverage เรียลไทม์กำลังเปลี่ยนไปอย่างต่อเนื่องโปรดตรวจสอบแผนภูมิด้านล่างเพื่อดูว่าการยืดหยุ่นจะเปลี่ยนแปลงอย่างไรตามการเปลี่ยนแปลงของราคา [1]

สัญญาถาวรเงินค้ำประกัน

สัญญาถาวรคล้ายกับสัญญาฟิวเจอร์ที่เป็นแบบดั้งเดิม แต่ไม่มีวันหมดอายุ สัญญาถาวรจำลองตลาดสปอตที่ใช้มาร์จิน ดังนั้นการซื้อขายใกล้เคียงกับราคาดัชนีอ้างอิง

มีโครงการ DeFi มากมายที่ให้สัญญาถาวรสำหรับนักเทรด เช่น dYdX, MCDEX, Perpetual Protocol, Incomplete, ฯลฯ นักเทรดมากมายอาจพบว่ายากที่จะบอกความแตกต่างระหว่างการซื้อขายเงินทุนและสัญญาถาวร — ในความเป็นจริงพวกเขามีการใช้ความสามารถของผู้ใช้เหมือนกัน

อย่างไรก็ตาม มีความแตกต่างบางอย่างในกลไกการยืมเงิน ค่าธรรมเนียม และระดับของการยืมเงิน

สัญญาถาวรคือผลิตภัณฑ์衍生ซึ่งซื้อขายสินทรัพย์สังเคราะห์และมีลักษณะในการซื้อขายด้วยเงินยืม ราคาของสินทรัพย์ใต้เบื้องต้นถูกติดตามในลักษณะสังเคราะห์โดยไม่จำเป็นต้องซื้อขายสินทรัพย์ใต้เบื้องต้นจริง แต่การซื้อขายเงินยืมเกี่ยวข้องกับการยืมและซื้อขายสินทรัพย์เข้าจริง

ด้วยการเกิดขึ้นของสัญญาอนุรักษ์ที่ต่อเนื่อง แนวคิดเรทการเงินก็เกิดขึ้น วัตถุประสงค์คือเพื่อรักษาราคาธุรกรรมของสัญญาอนุรักษ์ให้สอดคล้องกับราคาอ้างอิงฐาน. หากราคาสัญญาสูงกว่าราคาสปอต แล้วผู้ถือครองจะต้องชำระเงินให้กับคนที่ขาด. กล่าวอีกนัยหนึ่ง นักซื้อขายจำเป็นต้องชำระค่าธรรมเนียมให้กับการยืมเงินอย่างต่อเนื่อง

การเลวเรจในสัญญาถาวรที่เป็นไปได้จะสูงกว่าในการซื้อขายเงินยืมและสามารถถึง 100 เท่า กลไกการล้างบัญชีและเลวเรจจริงเหมือนกับการซื้อขายเงินยืม

โทเค็นเลเวอร์เรจ

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

ความแตกต่างที่สำคัญที่สุดระหว่างโทเค็นเลเวอร์เจทและการซื้อขายเงินทุน/สัญญาตลาดอนุสัญญาคือโทเค็นเลเวอร์จะถูกทำการปรับสมดุลเป็นระยะๆ หรือเมื่อถึงเกณฑ์บางอย่างเพื่อรักษาระดับเลเวอเจทที่แน่นอน

นี่แตกต่างจากการซื้อขายเงินทุนและสัญญาเรียกเก็บเงินในระยะยาวอย่างชัดเจน — ความเร่งของผลิตภัณฑ์เหล่านี้เปลี่ยนแปลงอยู่เสมอตามการเปลี่ยนแปลงของราคา แม้แต่ว่านักซื้อขายอาจระบุระดับการเล่นเงินไว้ตั้งแต่แรก

มาดูวิธีการทำงานของการปรับสมดุลในตัวอย่าง 3x ETH ด้านบน:

คุณถือ USDC 100 ดอลลาร์และซื้อโทเค็นเลเวอร์เจ็ทบูล (3 เท่า) โปรโตคอลจะยืม USDC 200 ดอลลาร์อัตโนมัติและซื้อขาย ETH 200 ดอลลาร์

สมมติว่าราคาของ ETH ได้เพิ่มขึ้น 20% ในขณะที่ราคาของโทเค็น ETHBULL (3x) เพิ่มขึ้นเป็น 300* (1 +20%) -200 = $160 ก่อนการทำการสมดุลผลการใช้ความเหนี่ยวนำของคุณจริงๆ คือ 2.25 (360/160) ต่ำกว่าความเหนี่ยวนำเป้าหมายของคุณ

ในกระบวนการทำให้สมดุลอีกครั้ง โปรโตคอลจะยืมเงินเพิ่มจากสระสเตเบิลคอยน์มากขึ้น และซื้อ ETH พวกเพิ่มเพื่อให้ค่าความเบาเช่นเดิมที่ 3 เท่า ในตัวอย่างของเรา โปรโตคอลจะยืมเงินเพิ่มอีก $120 และแลกเปลี่ยนกับ ETH ดังนั้น ค่าความเบารวมกลับมาเป็น (360+120) /160 = 3 ครั้ง

สมมติว่าราคาของ ETH ลดลง 20% ในขณะที่ราคาของโทเค็น ETHBULL (3x) ลดลงเหลือ 300* (1-20%) -200 = $40 ก่อนการทำการสมดุลใหม่ ความเหนียวจริงของคุณจะเป็น 6 (240/40) สูงกว่าความเหนียวเป้าหมายของคุณ

ในกรณีนี้ ข้อตกลงจะขายตั๊กและชำระหนี้คงค้างเพื่อลดความเสี่ยง ในตัวอย่างนี้ โปรโตคอลจะขาย ETH 120 ดอลลาร์เพื่อชำระสระว่าง หนี้จะกลายเป็น 80 ดอลลาร์ และความเสี่ยงรวมจะกลับมาอีกครั้ง (240-120) / 40 = 3 เท่า

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

ด้วยเหตุนี้ กองทุนการยืมในโมเดลโทเค็นที่มีการเปิดโพธิ์ทรัพย์จะได้รับการยกเว้นจากความเสี่ยงของการล่วงละเอียดและมีความปลอดภัยกว่ากองทุนการยืมในการซื้อขายขายเอน

ตัวอย่างการใช้งานการยืดหยุ่น

ตอนนี้ที่เราได้เรียนรู้เกี่ยวกับบางประเภทของ DeFi protocol ที่เป็นที่พบบ่อยเกี่ยวกับการอัดเงินยืม มาถึงเวลาพูดถึงการใช้เงินยืมอย่างละเอียดเกี่ยวกับ DeFi protocols ที่เฉพาะเจาะจง

GMX

GMX [2]เป็นการแลกเปลี่ยนแบบที่ไม่มีสถานที่และถาวรที่มอบให้นักซื้อขายสามารถซื้อขายสินทรัพย์ด้วยความละเอียดสูงสูงสุดถึง 50 เท่า ข้อตกลงนี้กำลังดำเนินการบน Arbitrum และ Avalanche บน GMX นักซื้อขายทราบถึงสถานการณ์ของคู่ค้าของพวกเขาอย่างสมบูรณ์ซึ่งแตกต่างจากการซื้อขายบน CEX ไม่เหมือนกับข้อตกลงสัญญาถาวรอื่น ๆ เช่น dYdX GMX ดำเนินการอย่างเต็มที่บนเชื่อมโยงและใช้ฟังก์ชัน AMM เพื่อเปิดให้การซื้อขายโภคศาสตร์

สิ่งที่ทำให้ GMX แตกต่างจากบริการอื่น ๆ คือมันเป็นตลาดแบบกระจายที่ให้บริการซื้อขายเงินเหลือทุน ในทางนี้มันรวมประสบการณ์ที่คล้ายกับตลาด DeFi อื่น ๆ เช่น Uniswap กับบริการซื้อขายเงินเหลือทุนที่ Binance และอื่น ๆ มี

GMX มีพูล Likvidity GLP ซึ่งเป็นพูล multi-asset ที่ให้ Likvidity สำหรับการเทรดของยูเซอร์: ผู้ใช้สามารถเข้าทิศทางยาว / สั้นและดำเนินการเทรดโดยการทำเหรียญ GLP และทำลายเหรียญ GLP พูลได้รับค่าธรรมเนียม LP จากการเทรดและการเทรดเลเวอเรจ ซึ่งจะแจกจ่ายให้กับผู้ถือ GMX และ GLP

เพื่อเทรดด้วยการยืมเงิน นักเทรดจะฝากหลักทรัพย์เข้าสู่ข้อตกลง นักเทรดสามารถเลือกการยืมเงินได้สูงสุด 50 เท่า ยิ่งเลเวอเรจสูง ราคา likuidation ยิ่งสูง ซึ่งจะเพิ่มขึ้นเรื่อย ๆ เมื่อค่ายืมเพิ่มขึ้น

ตัวอย่างเช่น เมื่อเข้าสู่ตลาดด้าน ETH ทางผู้ค้าจะ "เช่า" พื้นที่การขยายของ ETH จาก สระ GLP; เมื่อทำการขายสั้น ETH ผู้ค้าจะ "เช่า" พื้นที่การขยายของ stablecoins ต่อ ETH จาก สระ GLP อย่างไรก็ตาม สินทรัพย์ใน สระ GLP ไม่ได้ถูกเช่าออกไปจริงๆ

เมื่อปิดตำแหน่ง ถ้านักเทรดวางเดิมทายถูก กำไรจะถูกจ่ายในรูปแบบการเพิ่มโทเค็นจากบ่อ GLP มิฉะนั้น ความเสียหายจะถูกหักจากค้ำประกันและจ่ายเข้าสู่บ่อ กำไรจาก GLP มาจากความเสียหายของนักเทรดและกำไรจากความเสียหายของนักเทรด

ในขั้นตอนนี้ นักเทรดจ่ายค่าธรรมเนียมธุรกรรม ค่าธุรกรรมเปิด/ปิด และค่ายืมเพื่อเปลี่ยนเป็นพื้นที่สูง/ต่ำสำหรับโทเค็นที่ระบุ (BTC, ETH, AVAX, UNI และ LINK) ต่อเทียบกับดอลลาร์สหรัฐ

การซื้อขาย Merkle

Merkle Trade[3]เป็นแพลตฟอร์มการซื้อขายแบบกระจายที่มีการซื้อขายสกุลเงินดิจิตอล ฟอเร็กซ์ และสินค้าด้วยการยืดหยุ่นขึ้นถึง 1,000 เท่าและคุณลักษณะการซื้อขายที่ให้บริการผู้ใช้อย่างละเอียดอุดม Merkle Trade ได้รับพลังจากบล็อกเชน Aptos และมีประสิทธิภาพและความยืดหยุ่นระดับหนึ่งเมื่อเปรียบเทียบกับ Gains Network ซึ่งมีการยืดหยุ่นสูงเช่นเดียวกัน มีความล่าช้าในธุรกรรมและค่าธรรมเนียมต่ำกว่า

ไม่เหมือนกับการแลกเปลี่ยนส่วนใหญ่ Merkle Trade ไม่มี order book เป็นตัว แทนที่ Merkle LP ทำหน้าที่เป็นคู่ค้ากับทุก ๆ การเทรด และเมื่อนักเทรดขาดทุน มันจะเก็บหลักทรัพย์และจ่ายกำไรในการเทรดที่ปิดด้วยผลตอบแทนที่เป็นบวก

  • เทรดสกุลเงินดิจิตอล ฟอเร็กซ์ และสินค้า ด้วยการยืดหยุ่นสูงสุด 1,000 เท่า

Merkle Trade ถูกออกแบบขึ้นมาเพื่อให้บริการที่มีรายการคู่ซื้อขายที่หลากหลาย รวมถึงสกุลเงินดิจิทัล ฟอเร็กซ์ และสินค้า รวมถึงการยืดหยุ่นสูงสุดบนตลาด สูงสุดถึง 150 เท่าในสกุลเงินดิจิทัล และสูงสุดถึง 1,000 เท่าในฟอเร็กซ์

  • การดำเนินคำสั่งให้ได้ราคาที่เป็นธรรม, ความล่าช้าในระดับมิลลิวินาที, การลื่นไหลที่ต่ำ

การสร้างบล็อกเชนด้วย Aptos ซึ่งมีความล่าช้าต่ำที่สุดถึงปัจจุบัน สามารถให้ประสบการณ์การทำธุรกรรม on-chain ที่เร็วที่สุด สำหรับนักเทรด นี่หมายความว่าประสบการณ์การซื้อขายที่รวดเร็วขึ้นและมีการเลื่อนราคาน้อยลงเนื่องจากความล่าช้าในการดำเนินการ

  • ธุรกรรมที่ไม่มีการจัดเก็บข้อมูลศูนย์กลาง และไม่มีความเสี่ยงจากการมีคู่ค้า

นักเทรดทำการเทรดกับพูล Likuadity (Merkle LP) ซึ่งเป็นคู่ค้าสำหรับทุกครั้งที่มีการทำธุรกรรมบนข้อตกลง การทำธุรกรรมและการชำระเงินทั้งหมดถูกดำเนินการโดยสมาร์ทคอนแทรค และไม่มีการเก็บเงินของผู้ใช้ไว้ตลอดเวลาใด ๆ

  • ค่าธรรมเนียมการประมวลผลที่ต่ำที่สุด

Merkle Trade อ้างว่ามีค่าธรรมเนียมต่ำที่สุดในตลาดจนถึงปัจจุบัน ในการเริ่มต้น ค่าธรรมเนียมสำหรับคู่ซื้อขายสกุลเงินดิจิตอลต่ำที่สุดถึง 0.05% และค่าธรรมเนียมสำหรับคู่ซื้อขายฟอเร็กซ์ต่ำที่สุดถึง 0.0075%

DYDX

DYDX

dYdX[4]เป็นการแลกเปลี่ยนแบบกระจาย (DEX) ที่ให้ผู้ใช้มีความสามารถในการซื้อขายสัญญาตลาดต่อเนื่องอย่างมีประสิทธิภาพพร้อมทั้งมีการควบคุมที่แท้จริงเกี่ยวกับสินทรัพย์ ตั้งแต่เริ่มเปิดให้บริการในปี 2021 ได้นำเสนอ โซลูชั่นการขยายของเลเยอร์ระดับสองที่ไม่จำเป็นต้องการฝากเงินไว้ก่อนเพื่อใช้ในการดำเนินการแลกเปลี่ยน แต่ระบบสมุดคำสั่งและเครื่องจับคู่ก็ยังควบคุมอยู่ที่ศูนย์กลางอยู่

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

การวิเคราะห์ความปลอดภัยของการเฉลี่ย

เราได้นำเสนอประเภททั่ว ๆ ไปและการประยุกต์ของการเพิ่มความสามารถใน DeFi แล้ว ยังมีปัญหาด้านความปลอดภัยอีกมากในการออกแบบการเพิ่มความสามารถที่เราควรให้ความสนใจ พวกเราจะวิเคราะห์ปัญหาด้านความปลอดภัยและจุดตรวจสอบของการเพิ่มความสามารถใน DeFi โดยขึ้นอยู่กับกรณีตรวจสอบโดยเฉพาะ

แยกแยกการสั่งซื้อที่จำกัดและการสั่งซื้อในตลาด

ในแอปพลิเคชันการซื้อขายเงินทุนมากที่สุด มีคำสั่งจำกัดและคำสั่งตลาด การแยกแยะและการตรวจสอบคำสั่งจำกัดและคำสั่งตลาดอย่างเคร่งครัดมีความจำเป็นมากในขั้นตอนถัดไป เราจะดำเนินการวิเคราะห์อย่างละเอียดเกี่ยวกับปัญหาที่พบในการตรวจสอบ Merkle Trade [5]

let now = timestamp: :now_seconds (); if (now - order.created_timestamp > 30) {         cancel_order_internal(             _order_id,             order,             T_CANCEL_ORDER_EXPIRED         );         return     };

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

ข้อผิดพลาดในการคำนวณความเท็จ

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

มาดูโค้ดสำหรับการคำนวณเลVERAGE ใน Unstoppable กัน

def _calculate_calculation (_position_value: uint256, _debt_value: uint256, _margin_value: uint256) -> uint256: if _position_value < = _debt_value: #หนี้เสีย Return max_value (uint256) Return (precision * (_debt_value + _margin_value)/(_position_value - _debt_value) /PRECISION)

ฟังก์ชัน _calculate_margin ทำให้การยืมเงินถูกคำนวณผิดพลาดโดยใช้ _debt_value + _margin_value เป็นตัวตั้งแทน _position_value ฟังก์ชันมีพารามิเตอร์นำเข้าทั้งหมด 3 ตัวคือ _position_value, _debt_value, และ _margin_value ทั้งหมดกำหนดโดยข้อมูลราคาที่ Chainlink’s on-chain oracles ให้ ที่นี่ _debt_value ระบุค่าการแปลงส่วนหนึ่งของหนี้ในตำแหน่งเป็นจำนวนหนี้เงินดอลลาร์ _margin_value ระบุค่าปัจจุบันของจำนวนมาร์จินเริ่มต้นของตำแหน่ง (ในดอลลาร์สหรัฐ) _position_value ระบุค่าปัจจุบัน (ในดอลลาร์) ของจำนวนตำแหน่งเริ่มต้นของตำแหน่ง

ปัญหากับการคำนวณดังกล่าวคือ _debt_value + _margin_value ไม่แทนค่าของตำแหน่ง การเงินคืออัตราส่วนระหว่างค่าตำแหน่งปัจจุบันและค่ามาร์จินปัจจุบัน _position_value - _debt_value ถูกต้อง มันบ่งบอกค่ามาร์จินปัจจุบัน แต่ _debt_value + _margin_value ไม่แทนค่าปัจจุบันของตำแหน่ง เพราะไม่มีการรับประกันว่าตั๊กเงินและตั๊กตำแหน่งมีการเปลี่ยนแปลงราคาที่เกี่ยวข้อง

ตัวอย่างเช่น โทเค็นหนี้คือ ETH และ โทเค็นตำแหน่งคือ BTC

Alice ใช้ 1 ETH เป็นมาร์จิ้น ยืม 14 ETH (2,000 ดอลลาร์ต่อหนึ่ง) และได้รับ 1 BTC (30,000 ดอลลาร์ต่อหนึ่ง) ในตัวแทนตำแหน่ง การเลวเรจคือ 14

วันถัดไป ราคาของ ETH ยังคงที่ที่ $2,000/ETH แต่ราคาของ BTC ลดลงจาก $30,000/BTC เป็น $29,000/BTC ณ จุดนี้กำลังความเสี่ยงควรเป็น (_position_value == 29,000)/(_position_value == 29,000 - _debt_value == 28,000) = 29 ไม่ใช่ค่าที่คำนวณในสัญญา: (_debt_value == 28,000 + _margin_value == 2,000)/(_position_value == 29,000 - _debt_value == 28,000) = 30

ดังนั้น เพื่อแก้ไขปัญหานี้ สูตรที่ถูกต้องที่กล่าวถึงข้างต้นควรใช้เพื่อคำนวณความเป็นมากของสัญญาอัจฉริยะ การคำนวณความเป็นมากอาจทำให้การล่วงละเมิดไม่เป็นธรรมหรือมีตำแหน่งที่มีการเปิดสถานการณ์ได้มากเกินไปในเชิงราคา

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

ข้อผิดพลาดทางตรรกะ

ข้อผิดพลาดตรรกะ

ข้อผิดพลาดทางตรรกะต้องให้ความสนใจเป็นพิเศษในการตรวจสอบสัญญาอัจฉริยะ เนื่องจากมีตรรกะที่ซับซ้อน เช่นการซื้อขายเงินเหลือ DeFi

พูดคุยเรื่องปัญหาตรรกะที่ควรระวังในการใช้หลักทรัพย์ DeFi โดยใช้ปัญหาที่ค้นพบโดย Tigris[7](Tigris, แพลตฟอร์มการซื้อขายเลเวอเรจสินทรัพย์ทางซิงเท็ตไลบ์ที่มีพื้นฐานบน Arbitrum และ Polygon) ในการตรวจสอบจากบุคคลที่สาม

มาดูตรรกะของฟังก์ชันการปิดราคาจำกัดใน Tigris กัน

function limitClose ( uint _id, bool _tp, priceData calldata _priceData, Bytes calldata _signature) external{   _checkDelay(_id, false);   (uint _limitPrice, address _tigAsset) = tradingExtension._limitClose(_id, _tp, _priceData, _signature);   _closePosition(_id, DIVISION_CONSTANT, _limitPrice, address(0), _tigAsset, true);}function _limitClose ( uint _id, bool _tp, priceData calldata _priceData, Bytes calldata _signature) external view returns (uint _limitPrice, address _TIGAsset) { _checkGas (); iPosition.trade memory _trade = position.trades (_id);   _tigAsset = _trade.tigAsset;   getVerifiedPrice (_trade.asset, _priceData, _signature, 0); uint256 _price = _priceData.price;   if (_trade.orderType! = 0) revert (" 4 "); //isLimit if (_tp) { if (_trade.tpPrice == 0) revert (" 7 "); //limitNotSet if (_trade.direction) {           if (_trade.tpPrice > _price) revert("6"); //LimitNotMet       } else {           if (_trade.tpPrice < _price) revert("6"); //LimitNotMet       } _limitPrice = _trade.tpPrice;   } else { if (_trade.slprice == 0) revert (" 7 "); //limitNotSet if (_trade.direction) {           if (_trade.slPrice < _price) revert("6"); //LimitNotMet       } else {           if (_trade.slPrice > _price) revert("6"); //LimitNotMet       } //@audit stop loss is closed at user specified price NOT market price _limitPrice = _trade.slprice;   }}

เมื่อใช้ stop-loss เพื่อปิดตำแหน่ง ราคาปิดของผู้ใช้คือราคา stop-loss ที่ตั้งโดยผู้ใช้ ไม่ใช่ราคาปัจจุบันของสินทรัพย์ ในกรณีของตลาดแนวทางและความเหนื่อยสูง ผู้ใช้อาจใช้เสรีภาพนี้เพื่อประสบความสำเร็จในการเทรดโดยเสี่ยงน้อยมาก ผู้ใช้สามารถเปิดตำแหน่งลองและตั้งราคา stop-loss ที่ต่ำกว่าราคาปัจจุบัน $0.01

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

การเปลี่ยนแปลงราคา

Price Tubs

ผลกระทบจากการเปลี่ยนแปลงราคาต่ออัตราการเพิ่มความเสี่ยงใน DeFi มีความสำคัญมาก โดยการพิจารณาราคาเปลี่ยนแปลงอย่างตลอดเวลาเท่านั้นที่จะช่วยให้เรามั่นใจในความปลอดภัยของข้อตกลงการเพิ่มความเสี่ยง ให้เราใช้ DeFiner [8]โปรโตคอลเป็นตัวอย่างเช่นสำหรับการวิเคราะห์ลึกลับของปัญหาที่ค้นพบในการตรวจสอบบุคคลที่สาม

โปรโตคอล DeFiner ผ่านการตรวจสอบสองขั้นตอนก่อนทำการถอน

เริ่มต้น วิธีการจะตรวจสอบว่าจำนวนที่ผู้ใช้ขอถอนมีมูลค่ามากกว่ายอดคงเหลือของสินทรัพย์นั้นหรือไม่:

ฟังก์ชันการให้สิทธิ์ (ที่อยู่ _accountAddr, ที่อยู่ _token, uint256 _amount) ภายนอกเฉพาะที่ได้รับอนุญาต ส่งคืน (uint256) { // ตรวจสอบว่ามีจำนวนเพียงพอน้อยกว่ายอดคงเหลือของผู้ใช้ require (_amount < = getDepositBalanceCurrent (_token, _accountAddr), " ยอดคงเหลือที่ได้รับรายได้ ");   uint256 borrowLtv = globalConfig.tokenInfoLogistry () .getBorrowLtv (_token);

เมื่อถอนเงินครั้งที่สอง วิธีการจะตรวจสอบว่าการถอนเงินจะทำให้อัตราความเสี่ยงของผู้ใช้สูงเกินไปหรือไม่ จำนวนที่ถอนจะถูกหักจาก " อำนวยความสะดวกในการกู้ยืม " ของราคาปัจจุบันของผู้ใช้ หากมูลค่าการกู้ยืมรวมของผู้ใช้เกินอำนวยความสะดวกในการกู้ยืมใหม่ วิธีการล้มเหลวเนื่องจากผู้ใช้ไม่มีหลักทรัพย์เพียงพอที่จะสนับสนุนตำแหน่งการกู้ยืมของตน อย่างไรก็ตาม ข้อกำหนดนี้จะถูกตรวจสอบเท่านั้นหากผู้ใช้ไม่ได้มีเหนือเกินไป:

if (getBorrowEth (_accountAddr) < = getBorrowPower (_accountAddr)) require ( getBorrowEth (_accountAddr) < = getBorrowPower (_accountAddr) .sub (           _amount.mul (globalConfig.tokenInfoRegistry () .priceFromAddress (_token)) .mul (borrowLtv) .div (utils.getDivisor (address (globalConfig), _token)) .div (100)       ), " Colloquium Collège when ");

หากผู้ใช้ยืมมากกว่า " อํานาจการกู้ยืม " อนุญาตพวกเขาสามารถถอนเงินได้โดยไม่คํานึงถึง สิ่งนี้สามารถเกิดขึ้นได้ในหลายสถานการณ์ที่พบบ่อยที่สุดคือความผันผวนของราคา ข้อตกลงไม่ได้พิจารณาถึงผลกระทบของความผันผวนของราคาต่อข้อตกลงซึ่งทําให้เกิดปัญหานี้

อื่นๆ

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

รวม

สรุป

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

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

ในฐานะทีมรักษาความปลอดภัยบล็อกเชนชั้นนําในสาขา Web3 ScaleBit กระจายอยู่ใน Silicon Valley, Singapore, Hong Kong, Taiwan เป็นต้น เราได้จัดหาโซลูชันการรักษาความปลอดภัยบล็อกเชนให้กับสถาบันและโครงการ 200+ แห่งในภาคส่วน Web3 ทั่วโลก สะสมรหัสการตรวจสอบ 180,000+ บรรทัด และปกป้องทรัพย์สินของผู้ใช้มากกว่า 8 พันล้านดอลลาร์ ทําให้ทุกคนสามารถเข้าถึงความปลอดภัยได้! หากคุณมีความต้องการตรวจสอบความปลอดภัยโปรดติดต่อเรา เราจะปรับแต่งโซลูชันการรักษาความปลอดภัยที่มีรายละเอียดครอบคลุมและเป็นมืออาชีพเพื่อให้คุณปกป้องคุณและฟิลด์ Web3 อย่างปลอดภัย!

ข้อความปฏิเสธความรับผิดชอบ:

  1. บทความนี้ถูกคัดลอกมาจาก[ScaleBit]และลิขสิทธิ์เป็นของผู้เขียนต้นฉบับ [โพลาริสหากคุณมีข้อโต้แย้งใด ๆ เกี่ยวกับการพิมพ์ซ้ำ โปรดติดต่อทีม Gate Learn และทีมจะดำเนินการตามขั้นตอนที่เกี่ยวข้องโดยเร็วที่สุด

  2. คำประกาศ: มุมมองและความคิดเห็นที่แสดงในบทความนี้เพียงแสดงถึงความคิดเห็นส่วนตัวของผู้เขียนเท่านั้น และไม่เป็นที่สมบูรณ์แก่การให้คำแนะนำทางการลงทุนใดๆ

  3. การแปลบทความเป็นภาษาอื่น ๆ โดยทีม Gate Learn ถูกดำเนินการ นอกจากนี้ หากไม่ได้กล่าวถึง การคัดลอก การแจกจ่าย หรือการลอกเลียนบทความที่ถูกแปล ถูกห้าม

Start Now
Sign up and get a
$100
Voucher!