ชื่อเดิม: "ราคา Oracle สำหรับสินทรัพย์อนุพันธ์" (Price Oracles for Derivative Assets)
ผู้เขียน: โจนาธาน เออร์ลิช
การรวบรวมต้นฉบับ: 0 xStephen
1. บทนำ
ในโพสต์นี้ เราจะวิเคราะห์สมมติฐานที่มีอยู่เกี่ยวกับออราเคิลสำหรับราคาสินทรัพย์ตราสารอนุพันธ์ในบริบทของโปรโตคอลการให้ยืม DeFi โดยเฉพาะอย่างยิ่ง เราจะหารือว่าเหตุใดการใช้ราคาของสินทรัพย์อ้างอิงเป็นตัวป้อนราคาสำหรับตราสารอนุพันธ์โดยทั่วไปจึงเป็นแนวทางปฏิบัติที่ไม่ถูกต้องซึ่งควรหลีกเลี่ยง เนื่องจากแนวทางปฏิบัตินี้แพร่หลาย เราเชื่อว่านี่เป็นปัญหาที่ทันท่วงทีและมีความสำคัญ
เราจะมุ่งเน้นไปที่สินทรัพย์อนุพันธ์สองประเภท: สินทรัพย์ข้ามสายและอนุพันธ์ที่มีสภาพคล่องเป็นหลักประกัน อย่างไรก็ตาม การวิเคราะห์ที่คล้ายกันสามารถสรุปเป็นภาพรวมสำหรับสินทรัพย์อนุพันธ์ประเภทใดก็ได้
บทความนี้แบ่งออกเป็นสามส่วน: สินทรัพย์ข้ามสายโซ่ ตราสารอนุพันธ์ที่มีสภาพคล่องสำรอง และบทสรุป
2. สินทรัพย์ข้ามสาย
เมื่อสินทรัพย์อนุพันธ์ถูกกำหนดราคาโดยใช้สินทรัพย์อ้างอิงเป็นพร็อกซี มีข้อสันนิษฐานพื้นฐาน (หรืออย่างน้อยข้อสันนิษฐานโดยนัยในการตัดสินใจ) ว่าสินทรัพย์ทั้งสองจะเป็นไปตามเส้นทางราคาเดียวกันเมื่อเวลาผ่านไป และโดยทั่วไปจะเป็นเช่นนี้
หากทุกอย่างทำงานอย่างถูกต้อง ราคาของสินทรัพย์อ้างอิงควรติดตามราคาของตราสารอนุพันธ์อย่างใกล้ชิด อย่างไรก็ตาม สมมติฐานนี้สามารถหักได้เมื่อสิ่งต่าง ๆ ไม่เป็นไปตามที่คาดไว้ ซึ่งเกิดขึ้นค่อนข้างบ่อยในกรณีของสินทรัพย์ข้ามสาย ลองสำรวจตัวอย่างเพื่อทำความเข้าใจว่าทำไม
สมมติว่าเรามีบริดจ์ ETH ซึ่งเป็นเวอร์ชันข้ามเชนของ ETH บนเชน L 1 ที่แตกต่างกัน ภายใต้สถานการณ์ปกติ แต่ละ bridgedETH ได้รับการสนับสนุนโดย ETH ที่ถูกล็อกไว้ในสัญญาอันชาญฉลาดของ Ethereum (ตรึงตามอัตราส่วน 1:1) อย่างไรก็ตาม สถานการณ์ปกติเหล่านี้ไม่ได้เกิดขึ้นเสมอไป โดยเฉพาะอย่างยิ่ง ดังที่เคยเกิดขึ้นหลายครั้ง การข้ามสายโซ่สามารถถูกแสวงประโยชน์ ส่งผลให้เกิดการขโมยทรัพย์สินอ้างอิง ตัวอย่างเช่น สมมติว่านี่คือสิ่งที่เกิดขึ้นกับ bridgedETH ของเรา ผู้โจมตีใช้ประโยชน์จาก cross-chain และสามารถขโมย ETH ที่สนับสนุน bridgedETH ได้ทั้งหมด
ดังนั้นสิ่งนี้จะส่งผลต่อโปรโตคอลการให้ยืมที่ใช้ราคา ETH เป็นพร็อกซีสำหรับ bridgedETH อย่างไร โดยพื้นฐานแล้ว หมายความว่าโปรโตคอลให้ค่าแต่ละ BridgedETH ที่ 1 ETH ในขณะที่ราคาจริงของมันคือ 0 ETH (สมมติว่านี่คือราคาตลาดด้วย) สิ่งนี้ทำให้โปรโตคอลมีช่องโหว่ดังต่อไปนี้:
ช่วยให้ผู้โจมตีสามารถขโมยเงินจากโปรโตคอลโดยใช้ bridgedETH เป็นหลักประกัน ผู้โจมตีสามารถซื้อบริดจิง ETH จากตลาดได้ในราคา 0 ฝากเป็นหลักประกันโปรโตคอล (ซึ่งมีมูลค่า 1 ETH และยืม (ขโมย) สินทรัพย์อื่น ๆ การโจมตีประเภทนี้ถูกนำมาใช้กับโปรโตคอลเรียลไทม์ที่แตกต่างกัน (สำหรับ เช่น เทียบกับ Hundred Finance บน Moonriver และ Aave บน Harmony)
ป้องกันการชำระบัญชีจากการทำงานอย่างถูกต้อง เมื่อราคาตลาดของ bridgedETH ลดลงจาก 1 ETH เป็น 0 ETH บางตำแหน่งที่ใช้ bridgedETH เป็นหลักประกันควรจะมีสภาพคล่อง อย่างไรก็ตาม ตำแหน่งเหล่านี้จะไม่สามารถชำระได้เนื่องจากโปรโตคอลยังคงให้มูลค่าแต่ละ bridgedETH ที่ 1 ETH ตำแหน่งเหล่านี้จะถูกชำระบัญชีจริงหรือไม่หากใช้ oracle ที่ทรงพลังเป็นอีกคำถามที่น่าสนใจ และท้ายที่สุดจะขึ้นอยู่กับว่าราคาตลาดของ bridgedETH ตกลงอย่างรวดเร็วเพียงใด อย่างไรก็ตาม การวิเคราะห์ดังกล่าวอยู่นอกเหนือขอบเขตของบทความนี้ ประเด็นสำคัญคือภายใต้กลไกออราเคิลที่เปราะบาง ตำแหน่งเหล่านี้จะไม่กลายเป็นหนี้สูญที่สามารถชำระบัญชีได้
เพื่อเป็นการแก้ไขปัญหานี้ Aave กำลังพิจารณาที่จะเชื่อมต่อกับฟีดราคา Proof-of-reserve ของ Chainlink ในระดับมหภาค ฟีดราคาเหล่านี้จะช่วยให้ Aave ตรวจสอบได้ว่ามีสินทรัพย์อ้างอิงที่รองรับอนุพันธ์ข้ามสายโซ่อยู่จริง แม้ว่านี่อาจเป็นวิธีแก้ปัญหาที่ได้ผล แต่รายละเอียดของการนำไปใช้นั้นยังเบาบางเกินกว่าจะประเมินได้ทั้งหมด นอกจากนี้ โซลูชันนี้ไม่สามารถจัดการกับกรณีพิเศษบางอย่างได้ดี
ตัวอย่างเช่น สินทรัพย์อ้างอิงอาจไม่สามารถเข้าถึงได้หรือ "หมดอายุ" ซึ่งหมายความว่าข้อผิดพลาดในสัญญาจะล็อกสินทรัพย์อ้างอิงในสัญญาตลอดไป ในกรณีนี้ สินทรัพย์อ้างอิงมีอยู่จริง ดังนั้นจะไม่มีข้อพิสูจน์เกี่ยวกับปัญหาเงินสำรอง อย่างไรก็ตาม ตราสารอนุพันธ์จะไม่มีมูลค่าหากไม่สามารถกู้คืนสินทรัพย์อ้างอิงได้ ราคาตลาดมีแนวโน้มที่จะสะท้อนถึงสิ่งนี้ ซึ่งจะทำให้โปรโตคอลมีช่องโหว่ตามที่สำรวจไว้ข้างต้น แม้ว่าเหตุการณ์นี้จะเป็นเหตุการณ์ที่มีความเป็นไปได้ต่ำ แต่ก็ควรนำมาพิจารณาเมื่อประเมินวิธีแก้ปัญหา
3. อนุพันธ์ที่เป็นของเหลว (LSD)
เมื่อใช้ราคาของสินทรัพย์อ้างอิงเป็นพร็อกซีสำหรับสินทรัพย์อนุพันธ์ LSD จะอยู่ภายใต้ช่องโหว่เดียวกันกับสินทรัพย์ข้ามสาย เนื่องจากเราได้กล่าวถึงปัญหาเหล่านี้ในส่วนที่แล้ว มาดูกรณีที่ซับซ้อนมากขึ้นใน DeFi สำหรับ LSD โดยเฉพาะ
ก่อนที่จะลงรายละเอียด คุณควรพูดคุยสั้นๆ ว่า LSD ทำงานอย่างไร ตามชื่อที่แนะนำ LSD เป็นหลักฐานสภาพคล่องของสินทรัพย์อ้างอิงที่เป็นหลักประกัน (โดยปกติจะอยู่ในเครือข่าย PoS) ในกรณีนี้ โปรโตคอลการเดิมพันสภาพคล่องทำงานดังนี้:
ได้รับทรัพย์สินที่จะเดิมพันจากฝั่งผู้ใช้
มอบหมายเนื้อหาเหล่านี้ให้กับตัวตรวจสอบ (โหนด) บางตัว
มันส่งคืนหลักฐาน (ต่อรองได้) ของสินทรัพย์ที่จำนองให้กับผู้ใช้: เช่น LSD
เมื่อผู้ใช้ต้องการถอนสินทรัพย์อ้างอิง (เปลี่ยน LSD เป็นสินทรัพย์หมุนเวียน) โปรโตคอลจะทำงานดังนี้:
ได้รับ LSD จากฝั่งผู้ใช้
ใช้อัตราการไถ่ถอนเพื่อคำนวณว่าควรส่งคืนสินทรัพย์อ้างอิงให้กับผู้ใช้เป็นจำนวนเท่าใด อัตราการไถ่ถอนคืออัตราส่วนของการจัดหา LSD ต่อสินทรัพย์อ้างอิง
มันยกเลิกสินทรัพย์อ้างอิงที่จำเป็น
หลังจากช่วงเปิดตัว ผู้ใช้สามารถอ้างสิทธิ์เนื้อหาได้
ด้วยพื้นหลังนี้ ลองกลับมาที่คำถามของราคา วิธีการปัจจุบันที่บางสัญญาใช้ในการคำนวณราคาของ LSD คือการคำนึงถึงราคาของสินทรัพย์อ้างอิงและอัตราการรับซื้อคืนหน่วยลงทุน (redeemption rate) โดยมีวิธีการคำนวณดังนี้
ใน:
ด้วยการรวมอัตราการไถ่ถอนเข้ากับการคำนวณ แนวทางนี้จะกล่าวถึงสถานการณ์ที่สำรวจในส่วนก่อนหน้านี้ ซึ่งสินทรัพย์อ้างอิงอาจถูกขโมย (หรือเฉือนในกรณีของโปรโตคอล PoS) ตัวอย่างเช่น หากสินทรัพย์อ้างอิงถูกขโมย มันจะสะท้อนให้เห็นในอัตราการไถ่ถอน ดังนั้น ราคาก็จะได้รับผลกระทบไปด้วย
เกิดอะไรขึ้นกับแนวทางนี้ ให้เราสำรวจปัญหานี้ด้วยตัวอย่างต่อไปนี้ ในตัวอย่างนี้ สมมติว่าเรามี LSD ของ ATOM ที่เรียกว่า stakedATOM ซึ่งทำงานในลักษณะเดียวกับ LSD ที่เราอธิบายไว้ข้างต้น และมีระยะเวลาเผยแพร่ 21 วัน เมื่อใช้วิธีการกำหนดราคาที่อธิบายไว้ข้างต้น ราคาของ stakedATOM จะถูกคำนวณดังนี้ (สมมติว่าเราเป็นสกุลเงิน USD):
ใน:
มีปัญหาพื้นฐานเกี่ยวกับแนวทางนี้: ราคาตลาดที่แท้จริงของ stakedATOMs อาจแตกต่างจากราคาที่คำนวณไว้ข้างต้น เนื่องจากในขณะที่มีโอกาสเก็งกำไรเมื่อราคาตลาดของ stakedATOM สูงกว่าราคาที่คำนวณได้ นี่ไม่ใช่กรณีที่ราคาของ stakedATOM ต่ำกว่าราคาที่คำนวณ
กล่าวอีกนัยหนึ่ง ในขณะที่ราคาตลาดของ stakedATOM มีหมุดตายตัว (เทียบเท่ากับราคาที่คำนวณได้) ที่ด้านบน แต่ไม่มีอยู่ในขาลง เพื่อทำความเข้าใจว่าทำไม ลองสำรวจว่าโอกาสในการเก็งกำไรทำงานอย่างไรในทั้งสองกรณี การเพิ่มขึ้นมีดังนี้:
สมมติว่าอัตราการไถ่ถอนคือ 1 ATOM/stakedATOM
ราคาตลาดคือ 1.1 ATOM/stakedATOM (stakedATOM มีมูลค่าสูงเกินไปในตลาด)
อนุญาโตตุลาการสามารถเดิมพัน 1 ATOM รับ 1 ATOM ที่เดิมพันแล้วขาย ATOM ที่เดิมพันในตลาดเพื่อผลกำไร 0.1 ATOM
เหตุการณ์ข้างต้นจะเกิดขึ้นจนกว่าโอกาสการเก็งกำไรจะไม่มีอยู่อีกต่อไป กลไกนี้รับประกันว่าราคาตลาดจะมีขอบเขตบนเท่ากับราคาที่คำนวณได้ อย่างไรก็ตาม นี่ไม่ใช่กรณีที่ราคาลดลง เนื่องจากระยะเวลาการเปิดตัว 21 วันทำลายโอกาสในการเก็งกำไร นี่เป็นอีกตัวอย่างหนึ่ง:
สมมติว่าอัตราการไถ่ถอนคือ 1 ATOM/stakedATOM
ราคาตลาดคือ 0.9 ATOM/stakedATOM
หากไม่มีระยะเวลาปล่อยตัว อนุญาโตตุลาการสามารถใช้ 0.9 ATOM เพื่อซื้อ 1 stakedATOM ในตลาดและปล่อย ATOM ที่จำนำไว้เพื่อรับ 1 ATOM คืนโดยมีกำไร 0.1 ATOM
อย่างไรก็ตาม ระยะเวลาการเผยแพร่คือ 21 วัน ดังนั้นจึงไม่มีโอกาสเก็งกำไรในทันที
ดังนั้นจึงมี "หมุดแข็ง" สำหรับการเพิ่มขึ้นของราคา แต่มี "หมุดอ่อน" สำหรับราคาที่ลดลง หมุดที่อ่อนนุ่มนี้หมายความว่าในระยะยาว ราคาตลาดควรเป็นไปตามอัตราการไถ่ถอน แต่ในระยะสั้น ราคาของ stakedATOM ไม่มีพื้นที่แท้จริง นี่ไม่ใช่แค่การค้นพบทางทฤษฎีหรือนามธรรม แต่ในความเป็นจริงแล้ว เราได้เห็นสิ่งนี้แล้ว เช่น เหตุการณ์ unpegging stETH ที่น่าอับอายและ LSD อื่นๆ เช่น stLUNA โดยพื้นฐานแล้ว เมื่อมีคนจำนวนมากพอที่ต้องการอ้างสิทธิ์ LSD โดยไม่ต้องรอระยะเวลาวางจำหน่าย ราคาก็มีแนวโน้มที่จะ "แยก" ลง
สำหรับโปรโตคอลการให้ยืมที่ใช้ราคาที่คำนวณเป็นฟีด Oracle สำหรับ LSD ความผันผวนข้างต้นอาจนำไปสู่การล้มละลาย ลองมาดูตัวอย่างต่อไปนี้เพื่อทำความเข้าใจว่าสิ่งนี้เกิดขึ้นได้อย่างไร:
สมมติว่าเรามีตำแหน่งต่อไปนี้ในข้อตกลงการให้ยืม DeFi:
ผู้ใช้ฝาก 100 stakedATOMs เป็นหลักประกันด้วยอัตราเงินกู้สูงสุด 70%
ผู้ใช้ให้ยืมทรัพย์สินมูลค่า $600 โดยใช้ stakedATOM เป็นหลักประกัน
ตอนนี้เรามาสำรวจการเปลี่ยนแปลงตำแหน่งในโหนดเวลา T 1, T 2 และ T 3 ในแผนภาพต่อไปนี้:
ที่ T 1 ราคาตลาดของ stakedATOM (บรรทัดที่ 4) สะท้อนราคาออราเคิลที่คำนวณได้อย่างสมบูรณ์แบบ (บรรทัดที่ 5) ดังนั้นทุกอย่างจึงดำเนินไปอย่างราบรื่น โดยเฉพาะอย่างยิ่ง ปัจจัยด้านสุขภาพ (หลักประกัน*LTV สูงสุด/หนี้) และค่าสัมประสิทธิ์หลักประกัน (หลักประกัน /Debt) ทั้งคู่สูงกว่า 1 ดังนั้นบัญชีจึงแข็งแรงและมีหลักทรัพย์ค้ำประกันมากเกินไป
ใน T 2 ราคาตลาดของ stakedATOM เบี่ยงเบนจากอัตราการไถ่ถอน (และจากราคาออราเคิล) โดยเฉพาะอย่างยิ่ง แม้ว่าราคาไถ่ถอนคือ 1 ATOM แต่ราคาตลาดคือ 0.8 ATOM (โดยมีค่าเบี่ยงเบน 20%) มีหลายส่วนที่ควรพิจารณาอย่างละเอียดในกรณีนี้:
ปัจจัยด้านสุขภาพ (บรรทัดที่ 12) ที่คำนวณด้วยราคาตลาดของ stakedATOM ไม่สูงกว่า 1 อีกต่อไป หมายความว่าตำแหน่งที่วัดด้วยราคาตลาดไม่แข็งแรงและควรมีสภาพคล่อง อย่างไรก็ตาม เนื่องจากโปรโตคอลใช้ราคาออราเคิล และราคาออราเคิลไม่เปลี่ยนแปลง ปัจจัยด้านสุขภาพ (บรรทัดที่ 11) ที่คำนวณโดยใช้ราคาออราเคิลยังคงเหมือนเดิมทุกประการใน T 1 และสูงกว่า 1 ดังนั้นตำแหน่งนี้จึงไม่สามารถชำระบัญชีได้
โปรดทราบว่า ณ จุดนี้ การชำระสถานะจะไม่ทำกำไรสำหรับผู้ชำระบัญชีอีกต่อไป (ดูบรรทัดสุดท้าย) นี่เป็นเพราะการคำนวณของข้อตกลงเกี่ยวกับสิ่งที่ต้องจ่ายให้กับผู้ชำระบัญชีตามราคาของออราเคิล จำนวนหลักประกัน ATOM ที่เดิมพัน และราคาของ oracle มีมูลค่าสูงเกินไป หากออราเคิลใช้ราคาตลาด ตำแหน่งนั้นสามารถชำระบัญชีได้ ซึ่งการชำระบัญชีจะทำกำไรได้
แม้ว่าสิ่งนี้จะไม่เหมาะ แต่ก็ไม่เลวร้ายเกินไปเมื่อพิจารณาว่าตำแหน่งที่ควรได้รับการชำระบัญชีไม่ใช่เพราะตำแหน่งยังคงเป็นตัวทำละลาย กล่าวอีกนัยหนึ่ง มันยังคงเป็น overcollateralized (collateralization factor สูงกว่า 1)
ใน T3 ค่าเบี่ยงเบนระหว่างราคาตลาดและอัตราการไถ่ถอนจะเหมือนกับใน T2 แต่ราคาของ ATOM จะลดลงจาก 10 ดอลลาร์เป็น 5 ดอลลาร์ สิ่งนี้จะส่งผลให้สถานะล้มละลายอย่างมีประสิทธิภาพเนื่องจากจะไม่ถูกชำระบัญชี และตอนนี้อัตราส่วนการค้ำประกันได้ลดลงต่ำกว่า 1
โดยพื้นฐานแล้ว ปัญหาของวิธีการของออราเคิลนี้คือ แม้ว่าทุกอย่างจะเป็นไปตามแผนและไม่มีการปรับราคาเกิดขึ้น ระบบก็สามารถล้มละลายได้ดังที่อธิบายไว้ข้างต้น
4. สรุปความคิด
Oracles เป็นหัวใจสำคัญของโปรโตคอลการให้ยืม DeFi พวกเขามีความสำคัญมากจนมักจะกำหนดอนาคตของโปรโตคอลทั้งหมด ออราเคิลที่ไม่น่าเชื่อถืออาจทำให้ทรัพย์สินมูลค่าหลายล้านดอลลาร์ตกอยู่ในความเสี่ยง ซึ่งเป็นสาเหตุที่ทำให้เราใช้เวลามากไปกับการวิเคราะห์การใช้งานออราเคิล
ในบทความนี้ เราหวังว่าจะให้ความกระจ่างเกี่ยวกับการใช้ออราเคิลสำหรับสินทรัพย์อนุพันธ์ โดยเฉพาะอย่างยิ่ง เราได้แสดงให้เห็นว่าเหตุใดการปฏิบัติทั่วไปบางอย่างจึงไม่ดีและควรหลีกเลี่ยง จุดประสงค์ของโพสต์นี้ไม่ได้เป็นการกีดกันการแสดงรายการสินทรัพย์อนุพันธ์ เนื่องจากเราทราบดีว่าสินทรัพย์เหล่านี้เป็นสินทรัพย์ที่ดีที่สุดที่สามารถใช้เป็นหลักประกันได้ ความตั้งใจของเราคือไม่สนับสนุนการลงรายการสินทรัพย์อนุพันธ์เหล่านี้ด้วยออราเคิลที่แข็งแกร่งน้อยกว่า ซึ่งอาจนำไปสู่ผลลัพธ์ที่เลวร้ายที่สุด
เราทราบดีว่าสินทรัพย์อนุพันธ์มักมีสภาพคล่องน้อยกว่าสินทรัพย์อ้างอิง ทำให้ยากต่อการสร้างออราเคิลที่มีประสิทธิภาพสำหรับสินทรัพย์เหล่านี้โดยเฉพาะ อย่างไรก็ตาม เราไม่คิดว่านี่ควรเป็นข้ออ้างในการใช้ออราเคิลที่ไม่แข็งแกร่ง เราสนับสนุนอย่างยิ่งให้โปรโตคอลรอให้มีการสร้างสภาพคล่องและพัฒนาออราเคิลที่แข็งแกร่งเฉพาะสินทรัพย์ก่อนที่จะใช้ออราเคิลที่ไม่แข็งแกร่ง
