การศึกษานี้มาจากความท้าทายในการรับข้อมูลราคา on-chain ที่เชื่อถือได้สูงสุดพร้อมกับการสะท้อนราคา spot ปัจจุบันของสินทรัพย์เป้าหมาย เราเน้นเฉพาะที่สินทรัพย์ที่ใช้เป็นหลักประกันของ Prisma Finance (wstETH, rETH, cbETH และ sfrxETH) รวมถึงเครื่องมือดิจิทัลสำหรับการรักษา Ethereum (LSD) บางรายการของสินทรัพย์เหล่านี้ขาดแหล่งข้อมูล Chainlink (ที่ถือว่าเป็นมาตรฐานทองสำหรับข้อมูลราคาที่เชื่อถือได้) ซึ่งส่งผลกระทบต่อการผนวกของพวกเขากับแพลตฟอร์ม Prisma
การนำไปใช้ล่าสุดของสระว่ายน้ำที่มั่นคงของ Curve Finance รวมถึง Oracle ของสระว่ายน้ำภายใน ซึ่งคำนวณ Exponential Moving Average (EMA) เพื่อคำนวณข้อมูลราคาที่ป้องกันการแก้ไข ในขณะที่ผู้รวมเข้าไปเริ่มสำรวจการใช้ Oracle ในแอปพลิเคชัน DeFi อื่น ๆ Oracle ใช้โดยส่วนใหญ่เพื่อให้มั่นใจในความปลอดภัยของหลักประกันในตลาด crvUSD ของ Curve เอง
วัตถุประสงค์หลักของรายงานนี้คือการกำหนดว่า Oracle ของ Curve Finance สามารถทำหน้าที่เป็นทางเลือกที่เชื่อถือได้สำหรับตราสาร ETH LSD แทน Chainlink หรือไม่ การศึกษานี้เกี่ยวข้องกับการวิเคราะห์ทางสถิติของประสิทธิภาพของ Oracle ราคาของ Curve โดยเปรียบเทียบความผันผวน ความแม่นยำ และประสิทธิภาพโดยรวมกับราคาอ้างอิงของ Uniswap (ที่ถือว่าเป็นราคาที่แม่นยำบนเชิงซอฟต์แวร์)
การวิเคราะห์ถูกแบ่งออกเป็นสองงานวิจัยที่เกี่ยวข้องกัน:
การวิเคราะห์เศรษฐกิจของ Oracles ของ stETH: การศึกษาเปรียบเทียบระหว่าง Chainlink และ Curve โดยใช้ข้อมูลย้อนหลังเพื่อกำหนดความผิดปกติของ Oracle ต่อราคาอ้างอิงเฉลี่ยและค่าเบี่ยงเบนมาตรฐาน
การวิเคราะห์การแลกเปลี่ยน stETH MEV: การศึกษาเปรียบเทียบระหว่าง Chainlink และ on-chain Oracle โดยใช้ข้อมูลทางประวัติศาสตร์เพื่อสำรวจเหตุการณ์การแลกเปลี่ยนใน Prisma และประเมินความผลกำไรของหุ่นยนต์และพฤติกรรมที่คาดหวังโดยใช้ Oracle ทางเลือก
หลังจากการวิเคราะห์ เราจัดเตรียมข้อกำหนดเบื้องต้นสำหรับ Oracle โดยคาดหวั่นว่าจะมีการปรับปรุงในการเบนทรัวร์ของ Oracle ในขณะที่ยังรักษาความเชื่อถือของ Oracle โดยที่วางแผนโซลูชันที่เสนอนี้สามารถใช้เป็นแบบแผนเบื้องต้นสำหรับการศึกษาอื่น ๆ ที่มีจุดมุ่งหมายในการปรับปรุง Oracle
ประสิทธิผลของ oracles ได้รับการประเมินภายในสภาพแวดล้อมเฉพาะของการใช้ Prisma: การชําระบัญชีและการไถ่ถอน (นอกจากนี้ โปรดทราบว่าออราเคิลเดียวกันยังใช้สําหรับค่าธรรมเนียมการออกโทเค็นและขายโทเค็นที่ได้มาให้กับ "กลุ่มเสถียรโทเค็น" ซึ่งความสําคัญจะเพิ่มขึ้นเมื่อเปิดตัว)
ประสิทธิภาพของ Oracle เป็นสิ่งสำคัญสำหรับผู้ใช้ Prisma เนื่องจากนักซื้อขายและนักอุตสาหกรรมอาจมีโอกาสทำกำไรจากความไม่สอดคล้องระหว่างราคา Oracle และราคาสปอต การให้ความแม่นยำที่สุดในการใช้ข้อมูลราคาระหว่างการละลายและการแลกเปลี่ยนโดยไม่เสี่ยงต่อความปลอดภัยของแหล่งข้อมูลราคาซึ่งสอดคล้องกับผลประโยชน์ที่ดีที่สุดของโปรโตคอล Prisma และผู้ฝากทรัพย์สินของมูลนิธิ
Two Oracle functions within Prisma are outlined as follows:
เพื่อป้องกัน Prisma จากความผิดสภาพทางการเงิน ที่ตำแหน่งหนี้เกินมูลค่าของหลักทรัพย์ของพวกเขา สัญญา LiquidationManager จะดำเนินตรวจสอบตรรกะการล่ม ที่ TroveManagers ทุกตัว (คลังของ Prisma) การล่มสามารถถูกกระตุ้นได้ในหนึ่งในวิธีทั้ง ๆ สามทาง ขึ้นอยู่กับอัตราของหลักทรัพย์ของบัญชีเป้าหมายและอัตราของหลักทรัพย์ของระบบทั่วไป
อัตราส่วนค้ำประกันของบุคคล (ICR) <= 100%: บัญชี (สมุดรายวัน) มีหลักทรัพย์ไม่เพียงพอ หนี้ทั้งหมดและหลักทรัพย์จะถูกแจกจ่ายใหม่ในหมวดหมู่บัญชีสมุดรายวันที่เหลืออยู่โดยสัมพันธ์กับขาดทุน
100% < ICR < อัตราส่วนค้ำประกันขั้นต่ำ (MCR): คลังขาดต่ำกว่าระดับการละลาย แต่สามารถละลายได้อย่างปลอดภัย สระสมทรัพย์ถูกใช้เป็นสำรองสำหรับการจัดการการละลาย (สรรพสรรค์สระสมทรัพย์) มัดจำถูกจัดสรรให้กับผู้ฝากสระสมทรัพย์ หากยอดคงเหลือของสระสมทรัพย์ไม่เพียงพอที่จะชดเชยคลัง เงินเหลือและหลักประกันถูกแจกจ่ายใหม่ในหมวดคงค้างที่เหลืออยู่
MCR <= ICR < Global Total Collateral Ratio (GTCR) & GTCR < 150%: ระบบอยู่ในโหมดการกู้คืนซึ่งหมายความว่าคลังสามารถชําระบัญชีได้เมื่อ CR ต่ํากว่า GTCR แทนที่จะเป็น MCR เงินฝากพูลที่มั่นคงจะใช้ก่อนเพื่อชําระบัญชีคลัง หลักประกันที่เทียบเท่ากับมูลค่าหนี้ที่ MCR ถูกแจกจ่ายให้กับผู้ฝากเงินกลุ่มที่มั่นคง เจ้าของคลังสามารถเรียกร้องหลักประกันที่เหลือได้
ความเป็นไปได้ของการชําระบัญชี Prisma จะเพิ่มขึ้นเมื่อ ETH หรือ ETH LSD ประสบกับความผันผวนของราคาอย่างมีนัยสําคัญโดยเฉพาะอย่างยิ่งการลดลงในสภาวะตลาดที่มีความผันผวนสูง แม้ว่าความล้มเหลวหรือการจัดการของ Oracle อาจส่งผลต่อโปรโตคอลได้ตลอดเวลา แต่ความเสี่ยงของความล้มเหลวของ Oracle อาจเพิ่มขึ้นในช่วงเวลาที่สําคัญที่สุด สินทรัพย์หลักประกันอาจไม่สามารถอัปเดตราคาได้ทันเวลาเนื่องจากการเพิ่มขึ้นของค่าธรรมเนียมก๊าซหรือวิธีการกําหนดราคาของ Oracle อาจไม่สามารถติดตามความผันผวนที่เพิ่มขึ้นได้อย่างเพียงพอ การล้มละลายอาจเพิ่มขึ้นโดยต้องมีการแจกจ่ายซ้ําระหว่างคลังที่ใช้งานอยู่หรือผู้กู้อาจถูกชําระบัญชีอย่างไม่เป็นธรรม (ในกรณีที่ Oracle รายงานราคาต่ํากว่าราคาตลาดยุติธรรมผิดพลาด)
Arbitrageurs สามารถเริ่มต้นการไถ่ถอนได้ตลอดเวลาโดยเลือกที่จะแลกหลักประกันมูลค่า 1 mkUSD เป็นเงิน 1 ดอลลาร์สหรัฐ (+ ค่าธรรมเนียมการไถ่ถอนแบบไดนามิก) โดยเริ่มจากคลังที่มีอัตราส่วนหลักประกันต่ําที่สุดในระบบ สิ่งนี้ช่วยเสริมความแข็งแกร่งให้กับการตรึงเมื่อราคา mkUSD ลดลงต่ํากว่า 1 ดอลลาร์สหรัฐ กระบวนการไถ่ถอนช่วยลดความเสี่ยงหลักประกันของคลังเป้าหมายและเพิ่มอัตราส่วนหลักประกัน ฝ่ายที่ดําเนินการไถ่ถอนจะจ่ายค่าธรรมเนียมที่เรียกว่าค่าธรรมเนียมการไถ่ถอน ช่วงของค่าธรรมเนียมการไถ่ถอนเป็นต่อ TroveManager และเป็นผลรวมของชั้นค่าธรรมเนียมการไถ่ถอน + baseRate ตัวแปรที่เก็บไว้ใน TroveManager เพิ่มขึ้นตามสัดส่วนของอุปทานรวม mkUSD ที่แลกแล้วและลดลงเป็นเส้นตรงเมื่อเวลาผ่านไป ค่าธรรมเนียมแบบไดนามิกนี้ baseRate จะปรับอัตราการไถ่ถอนที่ทํากําไรได้
ในขณะที่การล้มละลายบน Prisma มักจะเกิดขึ้นน้อย การแลกเงินคืนเป็นสิ่งที่สามารถพบได้อย่างชนกับการพิจารณาเฉพาะเจาะจงสำหรับ Oracles หุ่นยนต์ MEV มีการค้นหาโอกาสแบบนี้อย่างรุนแรงเพื่อทำกำไรอย่างรวดเร็วผ่านกู้ยืมแฟลช
นอกจากความไม่สะดวกจากการแบ่งส่วนเงินสำรองของพวกเขาโดยบังคับ, ผู้ใช้อาจพบประสบกับการสกัดค่าบางอย่างเนื่องจากการเบี่ยงเบนระหว่าง Oracle และราคาสปอต การกำหนดราคาผิดพลาดอาจทำให้ผู้ใช้สูญเสียสินทรัพย์มากกว่าที่จำเป็น, โดยเฉพาะเมื่อ Oracle รายงานราคาต่ำกว่ามูลค่าตลาดที่เป็นธรรม On the other hand, ราคาที่รายงานโดย Oracle สูงกว่าราคาตลาดที่เป็นธรรมอาจขัดขวางการแลกเปลี่ยน, ทำให้เลิกทำวัตถุประสงค์ของกลไกการแลกเปลี่ยนให้ระบบการบังคับ mkUSD peg floor เรียบ.
ดูรายละเอียดสั้นๆเกี่ยวกับผู้สมัครผู้นำสำหรับการส่งสัญญาณราคา Oracle บน Prisma
Chainlink เป็นเครือข่าย Oracle แบบกระจายอํานาจที่รวบรวมข้อมูลจากแหล่งข้อมูลตลาดที่หลากหลายและเชื่อมต่อข้อมูลนี้กับสัญญาอัจฉริยะ สถาปัตยกรรมของมันอาศัยผู้ให้บริการโหนดอิสระที่ดึงและส่งข้อมูลจากการแลกเปลี่ยนต่างๆและ API ของผู้รวบรวมข้อมูลตลาดลดความล้มเหลวจุดเดียวและเพิ่มความปลอดภัย มั่นใจได้ถึงความสมบูรณ์ของข้อมูลผ่านวิธีการเข้ารหัสและกลไกฉันทามติที่ตรวจสอบความถูกต้องของข้อมูลก่อนส่ง วิธีการนี้เกี่ยวข้องกับการกําหนดราคาสินทรัพย์ถ่วงน้ําหนักตามปริมาณ (VWAP) เพื่อรวมมูลค่าตลาดยุติธรรมที่แสดงถึงราคาสปอตของสินทรัพย์ได้ดีที่สุด
เครือข่ายโหนด (การเต้นเสียง) เป็นประจำหรือตามค่าฝ่ายที่ผิดปกติแบนเนอร์ราคาลงบนเชน ข้อจำกัดนี้ เนื่องจากค่าธรรมเนียมแก๊สสูงบนเมนเน็ต สามารถทำให้การอัพเดตราคาแพงและอาจทำให้ความล่าช้าเพิ่มขึ้น ลดประสิทธิภาพของ Oracle ค่าใช้จ่ายในการรักษา Oracle เช่นนั้นอาจสูง โดยเฉพาะในช่วงเวลาที่มีความผันผวนสูง ทำให้การอัพเดต Oracle ทันเวลาเป็นสิ่งจำเป็น
การใช้งานล่าสุดของสระว่ายน้ำ Curve (สระ StableSwap และสระ CryptoSwap) รวมถึงการคำนวณราคา EMA ที่เปิดเผยโดยฟังก์ชัน getter เช่นprice_oracle()
. สระว่ายน้ำเหล่านี้ไม่ได้พึ่งพาต่ออราเคิลภายนอกแต่แทนนี้คำนวณราคาของสินทรัพย์ต่อราคาของโทเค็นในดัชนี 0 ของสระว่ายน้ำโดยใช้กิจกรรมการซื้อขายของตนเองภายใน EMA เพิ่มค่าใช้จ่ายในการจัดการผ่านการปรับปรุงราคาที่เรียบไหล โดยทำให้มีความสมดุลระหว่างความต้านทานการจัดการและความเกินขึ้นจากจุดเวลาหมดอายุ
ที่สามารถกำหนดค่าได้ผ่านการลงคะแนนเสียงของ Curve DAO
ตามที่เปิดเผยในเอกสาร Curve Oracle การแปลง EMA Oracle ได้รับการพัฒนาอย่างใจกลาง:
“หากคุณต้องการใช้ความสามารถของ 'price oracle' ของ Curve หรือ price oracle ใดเพื่อให้ข้อมูลราคา on-chain ในแอปพลิเคชันที่คุณกำลังสร้าง พวกเราขอแนะนำให้คุณออกกำลังกายอย่างรอบคอบเพิ่มเติม”
การปรับปรุงการดำเนินงานของสระน้ำที่แตกต่างกัน แก้ไขเวอร์ชันของรหัส EMA Oracle ดังนั้น ผู้รวมต้องเข้าใจการดำเนินงานของ Oracle ของสระน้ำเป้าหมาย
ในเดือนพฤศจิกายน 2023 พบข้อผิดพลาดที่ส่งผลกระทบต่อ Oracle ของพูลระหว่างการนำสาธารณะของพูล stableswap-ng แล้ว ข้อผิดพลาดนี้พบเร็วหลังจากการนำสาธารณะของพูลโดย yAudit ในการตรวจสอบอินเทอร์เน็ตระดับที่สอง สิ่งนี้ให้กำลังใจในการอัปเกรดการนำสาธารณะและยกเลิกการใช้งานบางพูลที่ได้รับผลกระทบ ไม่มีเงินที่เสี่ยงอยู่ แต่เหตุการณ์นี้เน้นถึงการพัฒนา Oracle ของ Curve pool ที่ทำงานอย่างเต็มที่และศักดิ์สิทธิ์ต่อความไม่สอดคล้องระหว่างพูล ถึงแม้จะมีการตรวจสอบอย่างละเอียด และต่ออย่างมากเกี่ยวกับข้อผิดพลาดที่ยังคงอยู่ที่อาจทำให้ Oracle เป็นอุปการะต่อการจัดการหรือความไมแม่นยำ
ส่วนที่สามของรายงานนี้คือการวิเคราะห์การแลกคืนของ WstETH TroveManager โดยมีผลกระทบสำคัญต่อผู้ใช้ Prisma ส่วนนี้นำเสนอการสังเกตเห็นเกี่ยวกับการแลกคืนในอดีตซึ่งจะถูกประเมินเปรียบเทียบกับ Curve EMA Oracle ในการวิเคราะห์เปรียบเทียบ
การค้นหาเหตุการณ์การแลกเปลี่ยนบน WstETH TroveManager แสดงให้เห็นว่ามีการทำธุรกรรมการแลกเปลี่ยนมากกว่า 200 ครั้งทั้งหมด โดยมี 190 ธุรกรรมที่ระบุว่าเป็นธุรกรรม BOT (วิธีการที่ใช้ในการระบุธุรกรรมที่ดำเนินการโดย BOT จะอธิบายในส่วนต่อไปในส่วนเดียวกัน) ด้านล่างเป็นภาพประกอบที่แสดงถึงความถี่ของการทำธุรกรรมเหล่านี้ตลอดเวลา
แหล่งที่มา: Dune query_3402461
มีเพียง 3 บอทเท่านั้นที่แลกเปลี่ยน mkUSD บ่อยครั้ง:
แหล่งที่มา: Dune query_3402461
ทุกบอทมีกระบวนการทั่วไปที่คล้ายกันในการเก็บ mkUSD และการแลกเปลี่ยน ด้านล่างคือหนึ่งในธุรกรรมของบอทที่เปิดเผยข้อมูลที่เป็นประโยชน์บางประการ:
Source: สำรวจเครื่องมือ Phalcon Tx
รูปแบบการทำธุรกรรม BOT สามารถแบ่งเป็นส่วนย่อยได้อีกต่อไป:
รับสินเชื่อแฟลชจาก Uniswap V3: USDC
แปลง USDC เป็น mkUSD โดยใช้ Curve.fi Factory USD Metapool: Prisma mkUSD
แลก mkUSD เป็น wstETH บน wstETH TroveManager
Unwrap wstETH into stETH on the wstETH.
Exchange stETH for ETH on the Curve stETH/ETH pool.
Wrap ETH, ชำระเงินกู้ยืม และแจกจ่ายกำไรและคอมมิชชั่น
ความกำไร MEV ขึ้นอยู่กับความแตกต่างของราคาในขั้นตอน 2, 3 และ 5:
2: เมื่อราคา mkUSD ลดลง กำไรจากการแลกเปลี่ยนเพิ่มขึ้น
3: เนื่องจากค่าธรรมเนียมการแลกเปลี่ยนแบบไดนามิกลดลงตามฟังก์ชันของปริมาณการแลกเปลี่ยนล่าสุดและเวลาตั้งแต่การแลกเปลี่ยน กำไรจากการแลกเปลี่ยนเพิ่มขึ้น
-5: เมื่อการลื่นไหลในการแลกเปลี่ยนสินทรัพย์ (เช่น stETH) เพิ่มขึ้น กำไรจากการแลกเปลี่ยนลดลง สินทรัพย์ดิจิทัล เช่น stETH สามารถแลกเปลี่ยนโดยตรงเป็น ETH พื้นฐาน แต่กระบวนการนี้ต้องใช้ระยะเวลารอ ทำให้สภาพ Likelihood ในตลาดรองรับ มีความสำคัญ
Prismaใช้กลไกเพื่อ จำกัด โอกาสในการทำกำไรจากการแลกเปลี่ยน mkUSD เป็น wstETH ผ่าน ค่าธรรมเนียมแบบไดนามิก ขั้นตอนที่ 3 เกี่ยวข้องกับค่าธรรมเนียมแบบไดนามิกเพื่อป้องกันการแลกเปลี่ยนที่เกิดบ่อยและมากเกินไป อย่างไรก็ตาม การแลกเปลี่ยนอาจเกิดขึ้นอยู่ซึ่งกับการราคา Oracle ที่ไม่แม่นยำเพื่อสกัด MEV การเสนอราคาจาก Oracle สำหรับการแลกเปลี่ยน mkUSD อาจเสนออัตราค้ำประกันที่ไม่เหมาะสมสำหรับเจ้าของคลังเงิน ซึ่งจะนำไปสู่ประสบการณ์ผู้ใช้ที่ไม่ดี
ข้อเสนอเปลี่ยนแปลงราคา Prisma Oracle feed สำหรับ stETH ได้รับการอนุมัติแล้ว แต่แรกที่ Prisma ใช้ Chainlink stETH/USD oracle พร้อมกับค่าความผิดปกติของ 1% สำหรับ wstETH TroveManager พบว่าการใช้การผสมผสานของ Chainlink stETH/ETH และ ETH/USD oracles สามารถนำไปสู่การปรับปรุง โดยมีค่าความผิดปกติของ 0.5% สำหรับแต่ละ oracle
โปรดอ้างอิงถึงความคลาดเคลื่อนระหว่าง Oracle ใหม่และ Oracle เก่าด้วยความละเอียด 15 บล็อก
Source: Chart by @wavey
ได้สังเกตเห็นว่าเมื่อราคาการซื้อขายของ mkUSD ตกต่ำกว่าอัตราที่ติดตาม การแลกเงินมากเกินไปเกิดขึ้นเนื่องจาก Oracle ผิดปกติเกิน 1% ในกรณีเหล่านี้เราพบว่าค่าธรรมเนียมแบบไดนามิกไม่เพียงพอในการป้องกันการแลกเงินมากเกินไปที่เกิดจากการเบี่ยงเบนราคา โปรดอ้างถึงการปรับค่าธรรมเนียมการแลกเงินสำหรับเหตุการณ์การแลกเงินที่ต่ำกว่า
แหล่งที่มา: แผนภูมิโดย@wavey
การแลกเปลี่ยนเหล่านี้อาจมีค่าใช้จ่ายทางอ้อมสำหรับผู้ใช้ Prisma เนื่องจากอาจได้รับอัตราที่ไม่เป็นที่น่าพอใจเมื่อถูกแลกเปลี่ยน การวิเคราะห์ของ Wavey ชี้ว่า การสร้าง oracle สำหรับ stETH/USD มีโอกาสโดนเอาเปรียบมากกว่าการรวม oracle ที่ได้รับการตรวจสอบในข้อมูลด้านบน การเอียงชั่วคราวที่เกิน 1.2% ได้สร้างโอกาสให้กับ MEV bots ในการใช้เอื้อเฟื้อ
ข้อเสนอเพื่อเปลี่ยนแปลง Oracle (PIP-004) ได้รับการดำเนินการในวันที่ 17 พฤศจิกายน พ.ศ. 2566 เวลา 735 นาฬิกา หรือ บ่ายครึ่ง +UTC พร้อมกับธุรกรรมนี้ โดยอ้างอิงตามกราฟราคา mkUSD ด้านล่างและวันที่ดำเนินการข้อเสนอ สามารถสังเกตเห็นได้ว่าหลังจากดำเนินการข้อเสนอแล้ว ราคาจริงของ mkUSD ใน USDC ลดลง การลดกำไรจากการแลกเปลี่ยนเนื่องจากการปรับปรุงออระเคิลอาจส่งผลให้มีการลดความแข็งแรงในการยึดติด
แหล่งที่มา: Dune query_5685458
ปัจจัยที่มีผลต่ออย่างอื่น ๆ ที่ควรพิจารณา รวมถึง ข้อจำกัดของโมเดลอัตราดอกเบี้ยโปรโตคอล กรณีการใช้ mkUSD และมาตรการสร้างสรรค์ที่ไม่สอดคล้องกัน ข้อเสนอสำคัญอีกอย่างหนึ่งที่ จำกัด เงินเดบิต คือ PIP-019 ซึ่งดำเนินการเมื่อวันที่ 31 มกราคม ข้อเสนอนี้เพิ่มค่าธรรมเนียมเงินเดบิตฐานสำหรับ TroveManagers ทั้งหมดเป็น 1%-1.5% ลดความยืดหยุงของ mkUSD แต่เสียค่าลดความเสี่ยงของการเงินสำหรับเจ้าของทรอฟของ Prisma
การวิเคราะห์มีเป้าหมายเพื่อประเมินผลการดำเนินงานของบรรณาธิการ Prisma ที่นำมาใช้และประเมินผลการดำเนินงานทางคาดการณ์ของบรรณาธิการ on-chain Curve EMA ทางเลือกโดยใช้ข้อมูลทางประวัติศาสตร์ ผลการวิจัยจะให้ข้อมูลเบื้องต้นเกี่ยวกับพฤติกรรมของบรรณาธิการ off-chain และ on-chain ซึ่งจะทำให้สามารถประเมินอย่างละเอียดมากขึ้นในการวิจัยต่อๆ ไป
วัตถุประสงค์ของการวิเคราะห์นี้คือเพื่อหาว่าอินเทอร์เฟซปัจจุบันมอบประสิทธิภาพที่ดีที่สุดหรือไม่หรือว่าสามารถปรับปรุงได้โดยการใช้งานบนเชนหรือโฮไบรด์โซลูชันโดยใช้ประโยชน์จากการใช้งานอินเทอร์เฟซโพล Oracle
การวิเคราะห์จะเน้นไปที่ stETH โดยเฉพาะเนื่องจากมันเป็น LSD ที่ใช้มากที่สุด ด้วย Chainlink price feed ที่สมบูรณ์และ Likuiditas ลึกในสระว่ายน้ำ Curve การวิเคราะห์ของหลักทรัพย์อื่น ๆ ที่รายชื่อใน Prisma ได้รับการดำเนินการและผลลัพธ์ได้รับการให้ไว้ในภาคผนวก B ของรายงานสำหรับการอ้างอิง
การวิเคราะห์เปรียบเทียบเกี่ยวข้องกับการประเมินระดับการจับคู่ระหว่างข้อมูลทดลองและชุดข้อมูลอ้างอิง ในกรณีนี้มีชุดข้อมูลสองชุดที่พิจารณา: ข้อมูลการทดลองที่สนใจและชุดข้อมูลอ้างอิง ซึ่งคาดว่าข้อมูลการทดลองควรติดตามข้อมูลอ้างอิงอย่างใกล้ชิด แต่อาจเกิดการเบนทางได้
เพื่อวัดการจัดเรียง เราตรวจสอบค่าเศษเหลือ ซึ่งถือเป็นความแตกต่างระหว่างข้อมูลการทดลองและข้อมูลอ้างอิง การวิเคราะห์ค่าเศษเหลือมุ่งเน้นที่การเปิดเผยรูปแบบหรือแนวโน้มในความแตกต่างเหล่านี้
เมื่อวิเคราะห์ค่าเศษส่วน (ความแตกต่างจากค่าอ้างอิง) จะมีการสังเกตการณ์โดยใช้ค่าเบี่ยงเบนมาตรฐานของค่าเศษส่วน ค่าเบี่ยงเบนมาตรฐาน (SD) เป็นวัดค่าทางสถิติที่ใช้เพื่อประเมินการแตกต่างหรือการกระจายของชุดของค่า มันให้ที่บ่งบอกถึงการกระจายของค่ารอบๆ ค่ากลาง (เฉลี่ย) ค่าเบี่ยงเบนมาตรฐานต่ำแสดงว่าจุดข้อมูลมักจะใกล้กับค่ากลาง ในขณะที่ค่าเบี่ยงเบนมาตรฐานสูงแสดงว่าจุดข้อมูลกระจายออกไปในช่วงที่กว้างมากขึ้น
ในกรณีของเราค่าเฉลี่ยที่ใกล้เคียงกับ 0 เป็นที่พึงปรารถนาเนื่องจากบ่งชี้ว่าราคาที่ให้ไว้ไม่ได้ประเมินค่าสูงเกินไปหรือประเมินราคาอ้างอิงต่ําเกินไป อย่างไรก็ตามค่าเฉลี่ยที่ใกล้เคียงกับหรือเท่ากับ 0 ที่มีค่าเบี่ยงเบนมาตรฐานค่อนข้างสูงแสดงให้เห็นถึงความผันผวนอย่างมีนัยสําคัญซึ่งไม่เป็นที่พึงปรารถนาเนื่องจากสอดคล้องกับความผิดพลาดอย่างรุนแรง ฟีด Oracle ที่มีค่าเฉลี่ยเป็นศูนย์และส่วนเบี่ยงเบนมาตรฐานขั้นต่ําเป็นผลลัพธ์ในอุดมคติซึ่งบ่งชี้ว่าฟีดติดตามราคาสปอตได้อย่างแม่นยํา
เพื่อตรวจสอบและประเมินความแม่นยำของกิจกรรมราคาออรัเคิลบนเชือกเชื่อม การเสนอราคาที่ได้จากปลายทางการซื้อขายที่เป็นเหล็กที่สุด (ยกเว้น Curve) ใช้เป็นอ้างอิงสำหรับการวิเคราะห์เศษทอ. โดยเฉพาะการเสนอราคาจากคู่สกุลเงิน LSD/ETH บน Uniswap เป็นจุดอ้างอิงหลักในสถานการณ์นี้
การวิเคราะห์ของเรารวมถึงวิธีการสร้างราคา stETH Chainlink 2 วิธี ทำเพราะพบว่าความเบี่ยงเบนของ feed stETH/USD ต้นฉบับสูงกว่าความเบี่ยงเบนโดยใช้ stETH/ETH + ETH/USD อัพเดต oracles ตามข้อเสนอการปกครอง ต่อมา การวิเคราะห์ที่เกี่ยวข้องกับราคา stETH/ETH Chainlink ที่ดีขึ้นใน ETH ถูกอ้างถึงว่า stETHv1 ในขณะที่ feed stETH/USD + ETH/USD (ทำซ้ำการทำงานของ oracles stETH ต้นฉบับ ปรับเป็นมาตรฐานเป็น ETH) ถูกอ้างถึงว่า stETHv2
เพื่อวัตถุประสงค์ในการวิเคราะห์ ข้อมูลสำหรับไตรมาสสุดท้ายของปี 2023 ได้รับจากทรัพย์สินที่เกี่ยวข้องทั้งหมด (ตั้งแต่บล็อก 18331000 ถึงบล็อก 18931000 ด้วยความละเอียดของ 250 บล็อกสำหรับชุดข้อมูล) ซึ่งสร้างชุดข้อมูลที่มีจุดข้อมูล 2401 จุดสำหรับทรัพย์สินทั้งหมด
สินทรัพย์หลักที่พิจารณาคือ stETH เนื่องจากนั้นเป็นประเภทหลักทรัพย์ที่ Prisma ยอมรับในปัจจุบัน โดยมีทั้ง Chainlink feed และ Curve StableSwap-ng pool ที่ใช้เป็นข้อมูลอ้างอิง (โปรดอ้างถึงภาคผนวก B สำหรับการวิเคราะห์เกี่ยวกับ rETH และ cbETH ซึ่งใช้ CryptoSwap pool รุ่นเก่า) ข้อมูลทั้งหมดถูกได้มาจากการสอบถามราคาสำหรับช่วงบล็อกที่ระบุ
ราคาออรัคเลสถูกวิเคราะห์จากแหล่งข้อมูลต่อไปนี้:
สระน้ำ Curve liquidity
Chainlink ราคา Feedback
ที่อยู่ขุดเหมือง Uniswap เป็นตัวแทนอ้างอิงราคาสปอตดังต่อไปนี้:
Uniswap ราคาสปอต
เพื่อมาตรฐาน LSD ไปยัง ETH ให้เรียบร้อย เราใช้อัตราแลกเปลี่ยน LSD/ETH ภายใน:
อัตราแลกเปลี่ยน LSD/ETH ภายใน
ในส่วนนี้เราจะเปรียบเทียบความแม่นยำของ Chainlink ราคา stETH feed กับ Curve
Chainlink stETHv1 Feed vs. Curve
Chainlink: stETH/ETH feed
Curve: stETH/ETH สระ
ด้านล่างเป็นการเปรียบเทียบโดยตรงของราคา stETH จาก Chainlink และ Curve ด้วย ด้วยรอบการเป็นชีพจร 24 ชั่วโมงของ Chainlink stETH/ETH ราคาเปลี่ยนแปลงทุกไม่กี่บล็อก โดยเปรียบเทียบมากขึ้น การเปลี่ยนแปลงสามารถสังเกตเห็นได้ง่ายขึ้นใน Feed ของ Chainlink (แสดงได้ดีกว่าใน Feed Chainlink stETH/USD) เมื่อเปรียบเทียบกับ Curve เนื่องจาก Curve ใช้เวลา EMA 10 นาที (ma_exp_time) เพื่อคำนวณราคาของมัน
หากเราลบราคาจาก Curve จากราคาจาก Chainlink เราจะได้ผลเฉดเฉลม เช่นที่แสดงไว้ด้านล่าง:
ค่าส่วนเบี่ยงเฉลี่ยคือ ~-0.000305
การสังเกตที่สำคัญที่สามารถทำได้ที่นี่คือว่า Curve Oracle ประเมินราคาของมันเองได้มากกว่าข้อมูลราคาจริงของ Chainlink
Chainlink stETHv2 และ Curve
Chainlink:stETH/USD feed / ETH/USD feed
Curve: สระ stETH/ETH
ด้านล่างเป็นการเปรียบเทียบราคาจากฟีด Chainlink ทางเลือกที่ถูกปรับเป็น ETH (stETH/USD และ ETH/USD) เทียบกับ stETH Curve โดย Chainlink stETH/USD มีอัตราส่วนความผิดพลาด 1% (เปรียบเทียบกับ 0.5% ในฟีด stETH/ETH) ราคาจะแสดงผลต่างมากขึ้นรอบราคาเชื่อมโยง
เหมือนที่เคยสังเกตเห็น การเปลี่ยนแปลงราคา stETH/USD ของ Chainlink เป็นราคาที่มีการเปลี่ยนแปลงที่ชัดเจนมากกว่า Curve
ค่าความเบี่ยงเบนเฉลี่ยคือ ~-0.000171
ขึ้นอยู่กับขอบเขต ฟีดนี้มีเศษเหลือที่ใหญ่กว่า นั่นคือมีความผันผวนมากกว่า stETH/ETH
ในส่วนนี้เราจะเปรียบเทียบความแม่นยำทางประวัติศาสตร์ของ Chainlink stETH ราคา feed กับราคาอ้างอิงจาก Uniswap
หากข้อมูลราคาสระ UniswapV3 ทำหน้าที่เป็นตัวแทนที่เชื่อถือได้สำหรับราคาสปอต เราสามารถเปรียบเทียบข้อมูลเบนช์มาร์คที่ได้รับมาก่อนหน้านี้เพื่อตรวจสอบความใกล้ชิดของส่งออราเคิล Chainlink กับค่าอ้างอิง
Uniswap Spot vs. Chainlink stETHv1
Chainlink: stETH/ETH feed
Uniswap: อัตราแลกเปลี่ยนระหว่าง wstETH/ETH และ wstETH/stETH ภายใน
นี่คือความต่างที่แท้จริงระหว่างราคาสปอต Uniswap และ Chainlink stETH/ETH:
ค่าเฉลี่ยที่เหลือ = 0.000415
ค่าเบี่ยงเบนทางเลขาคณิตของความแตกต่างราคา = 0.000601
Uniswap Spot vs. Chainlink stETHv2
Chainlink: stETH/USD feed / ETH/USD feed
Uniswap: อัตราแลกเปลี่ยนภายในของสระน้ำ wstETH/ETH / อัตราแลกเปลี่ยนภายในของ wstETH/stETH
นี่คือความต่างจริงระหว่าง Uniswap stETH และ Chainlink stETH (stETH/USD)
ความแตกต่างราคาหมายความว่า = 0.000281
ค่าเบี่ยงเบนมาตรฐานของความแตกต่างราคา = 0.002747
ที่นี่เราเปรียบเทียบ Chainlink stETHv1 (คือ stETH/ETH) และ stETHv2 (คือ stETH/USD) กับข้อมูล Uniswap และผลลัพธ์บ่งชี้ให้เห็นว่าการเบี่ยงเบนของ stETHv2 มีความแตกต่างมากกว่า stETHv1
การสังเกตเหมือนกันเกิดขึ้นในข้อเสนอการบริหารของ Prisma (PIP-004) เมื่อออราเคิลเปลี่ยนจาก stETH/USD เป็น stETH/ETH + ETH/USD เพื่อลดความผิดปกติในการป้อนราคา
ในส่วนนี้เราจะเปรียบเทียบความแม่นยำทางประวัติศาสตร์ของ stETH Curve Oracle กับราคาสปอตอ้างอิงจาก Uniswap
หากข้อมูลราคาสระน้ำ UniswapV3 ใช้เป็นตัวแทนที่เชื่อถือได้สำหรับราคาสปอต เราสามารถเปรียบเทียบข้อมูลเบนช์มาร์คที่ได้รับมาก่อนหน้าเพื่อตรวจสอบความใกล้ชิดของ Curve Oracle feed กับค่าอ้างอิง
Uniswap Spot vs. Curve
Curve: stETH/ETH pool
Uniswap: อัตราแลกเปลี่ยนสระน้ำ wstETH/ETH / อัตราแลกเปลี่ยนภายใน wstETH/stETH
โดยอ้างอิงจากการวิเคราะห์ต้นทางที่คล้ายกันกับที่กล่าวมาข้างต้น เราได้รับมาตัวชี้วัดต่อไปนี้เพื่อเปรียบเทียบกับมาตรฐานที่กำหนดไว้ก่อนหน้านี้:
ค่าต่างราคาเฉลี่ย = 0.000110
ค่าเบี่ยงเบนมาตรฐานของความแตกต่างราคา = 0.000141
เห็นได้ว่า ราคาเฉลี่ยที่รายงานโดย Curve จะต่ำกว่า Uniswap อย่างเล็กน้อย โดยมีค่าเบี่ยงเบนมาตรฐานที่ต่ำมากเมื่อเปรียบเทียบกับแหล่งที่มาจาก Chainlink
เมื่อเปรียบเทียบข้อมูลเหล่านี้ พวกเราพบว่าการเบี่ยงเบนของข้อมูล Chainlink มีความแตกต่างอย่างมีนัยสำคัญกว่า Curve เมื่ออ้างอิงข้อมูล Uniswap เป็นพร็อกซีสำหรับราคาสปอต
เนื่องจากการสังเกตข้างต้น ที่พื้นฐานอยู่บนการเบี่ยงเบนจากแหล่งราคาแต่ละแหล่ง มันเป็นไปได้ที่การเติบโตของ Curve Oracle อาจแสดงถึงการเบี่ยงเบนที่เชิงบวกในขณะที่ Chainlink feed แสดงถึงการเบี่ยงเบนที่เชิงลบ และสลับกัน สถานการณ์นี้ถูกยกเลิกในที่สุดเนื่องจากช่วงการเบี่ยงเบนของ Chainlink feed และ Curve Oracle มีขนาดเล็กกว่าเมื่อเทียบกับช่วงการเบี่ยงเบนของ Uniswap & Chainlink และ Uniswap & Curve
ตารางด้านล่างแสดงการวิเคราะห์เหลือที่ดำเนินการบนข้อมูลที่เก็บไว้ ค่าเฉลี่ยของเหลือ ที่คูณด้วย 100 จะได้เป็นเปอร์เซ็นต์ความเบี่ยงเบนเฉลี่ยของสินทรัพย์เป้าหมายจากการอ้างอิง (ในหลักเงินสหรัฐ, เปรียบเทียบกับราคา ETH ที่มีการกำหนดในหลักเงินสหรัฐ)
ตารางเปรียบเทียบประสิทธิภาพที่สัมพันธ์ของ Chainlink และ Curve กับ Uniswap ในเชิงเฉลี่ยและค่าเบี่ยงเบนมาตรฐานสำหรับทรัพย์สินแต่ละรายการ ในทุกกรณี Curve แสดงค่าเฉลี่ยที่ต่ำและค่าเบี่ยงเบนมาตรฐานที่ต่ำกว่า ตัวคูณความแม่นยำแสดงถึงความแม่นยำสัมพันธ์ของค่าที่สังเกตได้แต่ละค่า
จุดหลักที่นี่คือดังนี้:
การวิเคราะห์มีวัตถุประสงค์ในการเปรียบเทียบราคาการดำเนินการของเหตุการณ์การชำระเงินใน wstETH TroveManager กับราคาสมมติที่ถูกอ้างอิงจากข้อมูลประวัติโดยออรัคเคิล on-chain ทางเลือก ผลลัพธ์จากการศึกษาจะให้ข้อมูลเบื้องต้นเกี่ยวกับพฤติกรรมของออรัคเคิล off-chain และ on-chain ซึ่งจะเป็นประโยชน์ในการประเมินอย่างละเอียดมากขึ้นในงานวิจัยต่อๆ ไป
วัตถุประสงค์ของการวิเคราะห์นี้คือการกำหนดว่าอาร์เคิลปัจจุบันมอบผลลัพธ์ที่ดีที่สุดในสถานการณ์การแก้ไขเฉพาะหรือว่าสามารถปรับปรุงได้ผ่านการนำไปใช้ในบล็อกเชนหรือการใช้วิธีผสมผสาน โดยใช้อาร์เคิลพูล Curve EMA หรือการอาร์เคิล
การวิเคราะห์นี้จะเน้นไปที่ stETH โดยเฉพาะ เนื่องจากมันเป็น LSD ที่ใช้มากที่สุดและมี Chainlink price feeds ที่เจาะจงและความสามารถในการซื้อขายลึกในสระของ Curve การศึกษาจะรวบรวมการเกิดเหตุการณ์การแลกเปลี่ยนทั้งหมดโดยเปรียบเทียบราคา oracle stETH ที่เกิดขึ้นกับราคา oracle ทางเลือกหลายราคา ที่ราคาเป็น USD และใช้ราคา oracle stETH/ETH ของ Curve
สำหรับการวิเคราะห์นี้ ราคา stETH ที่เกิดขึ้นจะถูกคำนวณโดยการหารจำนวน mkUSD ที่ได้รับจากการแลกเปลี่ยนด้วยจำนวน stETH ที่สูญหายไปยัง Trove Manager ในรูปแบบของ wstETH โดยเพื่อหาจำนวน stETH เราต้องพิจารณา wstETH ที่ได้รับจากการแลกเปลี่ยนรวมถึง wstETH ที่ใช้เป็นค่าธรรมเนียมและแปลงมันเป็น stETH หากมีแหล่งที่มั่นคงที่ให้กำไรต่ำกว่าให้กับผู้แลกเปลี่ยนเสมอ เราสามารถบอกได้ว่าประสิทธิภาพ MEV ของพวกเขาดีกว่าราคาจริง
wstETH TroveManager ใช้เพื่อดึงแฮชธุรกรรมทั้งหมดเมื่อได้รับ mkUSD ในการแลกเปลี่ยน ธุรกรรมที่ที่อยู่ที่แลก mkUSD ได้รับและเบิร์น mkUSD จะถือว่าเป็นธุรกรรม BOT คําถามโดยละเอียดสําหรับกิจกรรมการแลกรางวัลสามารถพบได้ที่นี่: Dune query_3352919 แบบสอบถามนี้จําเป็นสําหรับการดึงข้อมูลทั้งหมดจากธุรกรรม BOT
คำค้น Dune ใช้ในการระบุธุรกรรม BOT ที่ได้รับค่าแฮชทั้งหมด อัตราแลกเปลี่ยน wstETH ที่เกิดขึ้นจริงสำหรับการแลกเงิน mkUSD และหมายเลขบล็อกของเหตุการณ์การแลกเงิน หมายเลขบล็อกที่ได้จากคำค้นถูกใช้เป็นอินพุตในการค้นข้อมูลต่อไปนี้ ซึ่งใช้ในการเปรียบเทียบการดำเนินการปัจจุบันกับการเปลี่ยนแปลงในราคา feed stETH ของ Curve
โดยใช้ข้อมูลข้างต้น เราสามารถสร้าง feed ราคาสามชิ้นโดยใช้ Curve Oracle stETH/ETH และผสมกับ ETH/USD เพื่อคำนวณ stETH/USD หลังจากการดำเนินการนี้ เราได้ข้อมูลต่อไปนี้สำหรับการแสดงผล:
ข้อมูลด้านบนให้ราคา stETH ใน USD ซึ่งสามารถวิเคราะห์ได้โดยอ้างอิงจากราคา stETH ที่เกิดขึ้นจริงจากธุรกรรม BOT ทั้งหมด ราคา stETH ที่เกิดขึ้น (ใน USD) ใช้ในการคำนวณราคา stETH สำหรับทุก mkUSD ที่ให้ระหว่างการแลกเปลี่ยน
ด้านล่างคือ 4 แหล่งข้อมูลราคา stETH สำหรับบล็อกการซื้อขาย BOT (1 แหล่งอ้างอิงและ 3 ทางเลือกที่ถูกพูดถึงข้างต้น) ข้อมูลราคาที่เกิดขึ้นจริงคือราคาจากอาสาสมัคร (ยกเว้น Chainlink) นี้ถูกเปรียบเทียบกับ 3 แหล่งข้อมูลโดยใช้ Curve stETH/ETH เป็นแกนหลัก ที่นี่ ใบเสนอราคาที่สูงกว่าจะทำให้มูลค่าของ stETH ที่แลกเปลี่ยนเป็น mkUSD ลดลง และในทางกลับกัน
โดยขึ้นอยู่กับข้อมูลดังกล่าว เราสามารถจำลองปริมาณ stETH ที่ได้รับจากการแลกรับ mkUSD และปรับปริมาณให้เป็นมาตรฐานตามปริมาณที่ได้รับจริงจากออราเคิลที่มีอยู่ กราฟต่อไปนี้แสดง stETH ที่ได้จาก mkUSD ก่อนที่จะเรียกค่าธรรมเนียมและประมวลผลข้อมูลเพื่อลบค่าผิดปกติเพื่อมองเห็นได้ชัดเจนขึ้น:
การวิเคราะห์เปิดเผยแนวโน้มชัดเจน: เมื่อผสม Curve stETH/ETH กับ Uniswap ETH/USDC และ Chainlink ETH/USD จำนวน stETH ที่มีจำหน่ายสำหรับการแลกรับ mkUSD ลดลง ดังนั้น การลดจำนวนหน่วย stETH ต่อการแลกรับ mkUSD ย่อยลงนำไปสู่การลดกำไรของบอท การแสดงผลที่ให้มาแสดงให้เห็นถึงการเปรียบเทียบระหว่างกำไรของบอทภายใต้ราคาฟีดที่ถูกต้องภายใต้สมมติฐานต่าง ๆ และราคาฟีดที่แท้จริง โดยไม่รวมค่าธรรมเนียม:
มันเป็นที่ชัดเจนว่าการรวมกันของ Curve stETH/ETH, Uniswap ETH/USDC, และ Chainlink ETH/USD ลดความสามารถในการแลกเปลี่ยนให้เหมาะสมกับราคาที่ได้เป็นจริง
การรับรู้ความเสี่ยงที่แตกต่างกันของการพึ่งพาอย่างเดียวบนพระราชสำนัก Curve oracle, โดยเฉพาะในช่วงเวลาที่มี Likuiditi ต่ำหรือการเปลี่ยนแปลง Likuiditi, การแต่งตั้งโซลูชันที่เสนอนี้รวมเชื่อมโยง Chainlink oracle เป็นมาตรการป้องกัน (เช่น แผนสำรอง) โดยเฉพาะในกรณีของการเบนที่เกิดขึ้น คำนึงถึงความเป็นไปได้ที่ Chainlink จะให้ข้อมูลที่ไม่ถูกต้องเพียงเล็กน้อย มันสามารถทำหน้าที่เป็นตัวเลือกสำรองที่เชื่อถือได้
โซลูชันนี้ทำหน้าที่เป็นตัวกรอง พิจารณาราคาทั้ง Curve และ Chainlink 条件ถูกกำหนดภายในฟังก์ชัน ที่ทำหน้าที่เป็นสวิทช์ เพื่อออกแบบเงื่อนไขนี้ แนวคิดของช่วงที่ยอมรับถูกนำเสนอ ช่วงนี้แทนความแตกต่างที่ยอมรับระหว่างราคา Chainlink และ Curve oracle เมื่อความแตกต่างที่สังเกตได้เกินช่วงนี้ มันจะแสดงถึงความลำเอียงหรือการจัดการข้อมูล Curve Oracle ที่อาจเกิดขึ้น ในกรณีเช่นนี้ ฟังก์ชันจะลดความเสี่ยงที่อาจเกิดขึ้นโดยประโยชน์ Chainlink ที่มีความปลอดภัยมากกว่า อย่างตรงข้าม เมื่อความแตกต่างตกอยู่ในช่วงที่ยอมรับ ฟังก์ชันจะพึงพอใจในความแม่นยำและความแม่นยำของ Curve Oracle
ควรทราบว่าช่วงที่ยอมรับสามารถกำหนดค่าเป็นแบบคงที่หรือแบบไดนามิกได้ ขึ้นอยู่กับความผันผวนของสินทรัพย์ในระดับพื้นฐาน (เช่น ETH และ LSD ที่เกี่ยวข้อง) ลักษณะไดนามิกช่วยให้สามารถปรับตัวกับเงื่อนไขตลาดที่รุนแรง การรักษาความยืดหยุ่นและกลไกการตอบสนองในการกำหนดราคา กลยุทธ์สองครั้งนี้ลดการพึ่งพาต่อแหล่งข้อมูลเดียวเพื่อเพิ่มความแข็งแกร่งโดยรวมและความเชื่อถือได้ของกลไกกำหนดราคา
โซลูชั่นนี้นำเสนอวิธีการสถิติ acceptable_range เพื่อแก้ไขความเสี่ยงที่เป็นไปได้เมื่อพึ่งพาราคมบน Curve Oracle เท่านั้น ในขณะที่ราคาที่สร้างขึ้นโดย Curve Oracle อาจจะมีความแม่นยำมากกว่า Chainlink แต่ก็อาจเป็นไปได้ที่จะถูกโกงได้ Chainlink อีกด้วยเป็นที่แข็งแรงและทดสอบแล้วถือว่าเป็นทางเลือกที่ปลอดภัยในอุตสาหกรรม ขณะที่ความแตกต่างระหว่าง Curve Oracle และ Chainlink เกินค่าคงที่ acceptable_range ทำหน้าที่เป็นค่าย่างกับการสลับไปยัง Chainlink feed
อย่างกลยุทธ์ที่ยอมรับส่วนระยะที่ยอมรับใบเสนอราคาที่อยู่ในช่วง ±1% ของใบเสนอราคา Chainlink ซึ่งเป็นระยะที่ใกล้เคียงกับสามค่าเบี่ยงเบนเฉลี่ยระหว่าง Curve และ Chainlink โดยพิจารณาถึงการปรับปรุง stETH/ETH และ ETH/USD ที่ดีขึ้นเมื่อเปรียบเทียบกับ stETH/USD ก่อนหน้า
การกำหนดราคาที่ได้เป็นฟังก์ชันหรือกลไกที่ออกแบบเพื่อกำหนดใบเสนอราคาสุดท้ายสำหรับสินทรัพย์ที่กำหนดโดยเฉพาะในสถานการณ์ที่เกี่ยวข้องกับ Curve Oracle และ Chainlink Oracle
ในโซลูชันที่อธิบายไว้ ฟังก์ชันนี้จะประเมินราคาจากทั้ง Curve Oracle และ Chainlink Oracle โดยขึ้นอยู่กับความแตกต่างที่สังเกตเห็นระหว่างราคาสองราคาเหล่านี้และว่ามันตกอยู่ในช่วง accepted_range ที่กำหนดไว้หรือเกิน ฟังก์ชันจะแสดงราคาที่ได้แตกต่างกัน
นี่คือการเปรียบเทียบ derived_price กับแหล่งที่มาของราคาอื่น ๆ ที่แสดงไว้ก่อนหน้านี้
กำไรของบอทสามารถมองเห็นได้จากราคาดีริวาทีฟนี้ (เนื่องจากไม่มีการเบี่ยงเบน ราคานี้จะเท่ากับ Curve stETH/ETH และ CL stETH/ETH ที่แสดงด้านล่าง)
การวิเคราะห์กำไรรวมสามารถเปิดเผยภาพรวมที่ใหญ่กว่า ตรวจพบหกกรณีที่อยู่นอกเหนือจากค่าเฉลี่ยและคำนวณกำไรรวมสำหรับแต่ละกรณีก่อนและหลังกรองออก
Curve stETH/ETH และ Uniswap ETH/USDC ทำให้กำไรที่มีอยู่สำหรับ BOTs ลดลงมากที่สุด ราคาที่ได้รับนั้นมีศักยภาพในการทำกำไรเหมือนกับการปรับใช้ Oracle stETH ปัจจุบัน แต่ จำกัด กำไร โดยสมมติว่า ประหยัด ผู้ใช้ โดยประมาณ 35.4 ETH ในการวิเคราะห์ 189 ครั้ง
เนื่องจากการพึ่งพาอย่างมากในการให้คำใบแจ้งจากตลาดที่ไม่มีกลางสำหรับกิจกรรมบนเชือกตลาดและในความเป็นจริงก็ MEV bots ก็ติดตามคำใบแจ้งเดียวกันเมื่อแลกเปลี่ยน mkUSD กับ LSD ความแม่นยำของคำใบแจ้ง (ที่ใช้สำหรับการกำหนดราคาในการแลกเปลี่ยนโดย Oracle) เป็นสิ่งสำคัญมาก
ข้อมูลประวัติศาสตร์ชี้ให้เห็นว่าราคา Oracle บ่มเพาะ Curve ใกล้เคียงกับราคาอ้างอิง (ข้อมูลราคา UniswapV3) มากกว่าราคา Chainlink ข้อมูลชี้ให้เห็นว่าการใช้ Curve Oracle จะลด MEV สำหรับบอทและให้อัตราแลกเปลี่ยนที่ดีกว่าสำหรับผู้ใช้ที่กำลังแลกเปลี่ยนสมบัติของพวกเขา
ในขณะที่การใช้ Curve Oracle เป็น Oracle เพียงอย่างเดียวอาจทำให้ตายตึง ความมีประสิทธิภาพของการตอบรับราคา Curve ขึ้นอยู่กับความลึกของ Likvidity ของสินทรัพย์ที่เฉพาะเจาและการโต้ตอบกับสระว่ายน้ำ สำหรับการแก้ปัญหา Oracle แบบผสมด้วย Curve Oracle และ Chainlink Oracle สามารถใช้เพื่อจับคู่ราคาออนเชนในขณะที่ยังคงความเชื่อถือได้และความกว้างขวางของการครอบคลุมตลาดทั่วไปที่สืบทอดมาจาก Chainlink Oracle
โซลูชัน Oracle แบบผสมที่เราเสนอประเมินค่าเบี่ยงเบนมาตรฐาน (SD) เพื่อสร้าง derived_price หาก SD เข้าใกล้ 0 แสดงถึงการปฏิบัติตามมูลค่าอ้างอิง derived_price ซึ่งทำให้ควรพิจารณา นี้ทำให้แน่ใจว่าเมื่อ Curve Oracle ต่างไปจากค่าเขตกำหนดล่วงหน้า โซลูชันจะสลับไปใช้แหล่งข้อมูล Chainlink ที่ปลอดภัย โดยที่โซลูชันนี้เกือบจะเสมอส่งออก stETH's Curve quote ถือว่ากิจกรรม MEV เหมือนกับการใช้ Curve stETH/ETH โดยไม่มีการสลับกลับ
ส่วนขยาย A: สคริปต์ประมวลผลข้อมูล
สคริปต์ที่ใช้สร้างการวิเคราะห์ในรายงานนี้คือดังนี้:
ส่วนผสม B: การวิเคราะห์ส่วนเหลือ rETH/cbETH
แผนภูมิอื่น ๆ rETH
Chainlink และ Curve
Uniswap และ Curve
Uniswap และ Chainlink
ตรวจสอบจุดสูง rETH
ในระหว่างช่วงการสังเกต rETH ปรับโครงสร้างราคาพยากรณ์เกิดขึ้นหลายครั้ง ซึ่งทำให้ความต่างระหว่างราคาพยากรณ์และการอ้างอิงราคาสดเพิ่มขึ้นอย่างมาก ด้านล่างเป็นแผนภูมิที่ละเอียดมากๆ ที่แสดงอัตราส่วนของพูลเงิน/ Likuiditas token ขณะที่ราคาพยากรณ์มีพฤติกรรมบางครั้งขณะที่ราคาเพิ่มขึ้น
start_block = 18824000
end_block = 18827000
interval_blocks = 100
อัตราส่วนของพูลขุด
Oracle price:
start_block = 18850000
end_block = 18858000
interval_blocks = 100
อัตราส่วนของพูลขุดเหมือง:
ราคา Oracle:
start_block = 18880000
end_block = 18885000
interval_blocks = 100
อัตราส่วนของพูลขุด
ราคา Oracle:
แผนภูมิอื่น ๆ cbETH
Chainlink และ Curve
Uniswap และ Curve
Uniswap และ Chainlink
ตรวจสอบจุดสูง cbETH
ในระหว่างช่วงเวลาที่สังเกต, ราคา Oracle Curve cbETH ได้สัมผัสยอดเยี่ยมหลายครั้ง มีคราวที่นี้ทำให้เกิดการกระโดดของราคาที่สำคัญระหว่างราคา Oracle และการอ้างอิงจุดอยู่ที่หนึ่ง ด้านล่างคือแผนภูมิที่ละเอียดมากๆ ที่แสดงพฤติกรรมของอัตราส่วนสระเงินสด/คงเหลือ token ขณะที่เกิดการกระโดดราคาในช่วงเวลาเหล่านี้ และพฤติกรรมของราคา Oracle
start_block = 18693500
end_block = 18696000
interval_blocks = 10
อัตราส่วนของสระว่ายน้ำ:
ราคา Oracle:
start_block = 18814000
end_block = 18816500
interval_blocks = 10
อัตราส่วนของพูลขุด
ราคา Oracle:
start_block = 18800000
end_block = 18805000
interval_blocks = 10
อัตราส่วนของพูลขุด
ราคา Oracle:
บทความนี้ถูกคัดลอกมาจาก [ marsbit] ในชื่อเรื่องต้นฉบับ “การวิเคราะห์เปรียบเทียบของ Prisma optional oracles”, ลิขสิทธิ์เป็นของผู้เขียนต้นฉบับ [PrismaRisk], หากคุณมีเหตุใดๆ ในการเผยแพร่อีกครั้ง โปรดติดต่อ Gate Learn Team, ทีมจะดำเนินการให้เร็วที่สุดตามขั้นตอนที่เกี่ยวข้อง
Disclaimer: มุมมองและความคิดเห็นที่แสดงในบทความนี้แทนเพียงความเห็นส่วนบุคคลของผู้เขียนเท่านั้น และไม่เป็นการให้คำแนะนำทางด้านการลงทุนใด ๆ
Other language versions of the article are translated by the Gate Learn team, not mentioned in Gate.io, บทความที่ถูกแปลอาจจะไม่นำเผยแพร่ กระจาย หรือลอกเลียน
การศึกษานี้มาจากความท้าทายในการรับข้อมูลราคา on-chain ที่เชื่อถือได้สูงสุดพร้อมกับการสะท้อนราคา spot ปัจจุบันของสินทรัพย์เป้าหมาย เราเน้นเฉพาะที่สินทรัพย์ที่ใช้เป็นหลักประกันของ Prisma Finance (wstETH, rETH, cbETH และ sfrxETH) รวมถึงเครื่องมือดิจิทัลสำหรับการรักษา Ethereum (LSD) บางรายการของสินทรัพย์เหล่านี้ขาดแหล่งข้อมูล Chainlink (ที่ถือว่าเป็นมาตรฐานทองสำหรับข้อมูลราคาที่เชื่อถือได้) ซึ่งส่งผลกระทบต่อการผนวกของพวกเขากับแพลตฟอร์ม Prisma
การนำไปใช้ล่าสุดของสระว่ายน้ำที่มั่นคงของ Curve Finance รวมถึง Oracle ของสระว่ายน้ำภายใน ซึ่งคำนวณ Exponential Moving Average (EMA) เพื่อคำนวณข้อมูลราคาที่ป้องกันการแก้ไข ในขณะที่ผู้รวมเข้าไปเริ่มสำรวจการใช้ Oracle ในแอปพลิเคชัน DeFi อื่น ๆ Oracle ใช้โดยส่วนใหญ่เพื่อให้มั่นใจในความปลอดภัยของหลักประกันในตลาด crvUSD ของ Curve เอง
วัตถุประสงค์หลักของรายงานนี้คือการกำหนดว่า Oracle ของ Curve Finance สามารถทำหน้าที่เป็นทางเลือกที่เชื่อถือได้สำหรับตราสาร ETH LSD แทน Chainlink หรือไม่ การศึกษานี้เกี่ยวข้องกับการวิเคราะห์ทางสถิติของประสิทธิภาพของ Oracle ราคาของ Curve โดยเปรียบเทียบความผันผวน ความแม่นยำ และประสิทธิภาพโดยรวมกับราคาอ้างอิงของ Uniswap (ที่ถือว่าเป็นราคาที่แม่นยำบนเชิงซอฟต์แวร์)
การวิเคราะห์ถูกแบ่งออกเป็นสองงานวิจัยที่เกี่ยวข้องกัน:
การวิเคราะห์เศรษฐกิจของ Oracles ของ stETH: การศึกษาเปรียบเทียบระหว่าง Chainlink และ Curve โดยใช้ข้อมูลย้อนหลังเพื่อกำหนดความผิดปกติของ Oracle ต่อราคาอ้างอิงเฉลี่ยและค่าเบี่ยงเบนมาตรฐาน
การวิเคราะห์การแลกเปลี่ยน stETH MEV: การศึกษาเปรียบเทียบระหว่าง Chainlink และ on-chain Oracle โดยใช้ข้อมูลทางประวัติศาสตร์เพื่อสำรวจเหตุการณ์การแลกเปลี่ยนใน Prisma และประเมินความผลกำไรของหุ่นยนต์และพฤติกรรมที่คาดหวังโดยใช้ Oracle ทางเลือก
หลังจากการวิเคราะห์ เราจัดเตรียมข้อกำหนดเบื้องต้นสำหรับ Oracle โดยคาดหวั่นว่าจะมีการปรับปรุงในการเบนทรัวร์ของ Oracle ในขณะที่ยังรักษาความเชื่อถือของ Oracle โดยที่วางแผนโซลูชันที่เสนอนี้สามารถใช้เป็นแบบแผนเบื้องต้นสำหรับการศึกษาอื่น ๆ ที่มีจุดมุ่งหมายในการปรับปรุง Oracle
ประสิทธิผลของ oracles ได้รับการประเมินภายในสภาพแวดล้อมเฉพาะของการใช้ Prisma: การชําระบัญชีและการไถ่ถอน (นอกจากนี้ โปรดทราบว่าออราเคิลเดียวกันยังใช้สําหรับค่าธรรมเนียมการออกโทเค็นและขายโทเค็นที่ได้มาให้กับ "กลุ่มเสถียรโทเค็น" ซึ่งความสําคัญจะเพิ่มขึ้นเมื่อเปิดตัว)
ประสิทธิภาพของ Oracle เป็นสิ่งสำคัญสำหรับผู้ใช้ Prisma เนื่องจากนักซื้อขายและนักอุตสาหกรรมอาจมีโอกาสทำกำไรจากความไม่สอดคล้องระหว่างราคา Oracle และราคาสปอต การให้ความแม่นยำที่สุดในการใช้ข้อมูลราคาระหว่างการละลายและการแลกเปลี่ยนโดยไม่เสี่ยงต่อความปลอดภัยของแหล่งข้อมูลราคาซึ่งสอดคล้องกับผลประโยชน์ที่ดีที่สุดของโปรโตคอล Prisma และผู้ฝากทรัพย์สินของมูลนิธิ
Two Oracle functions within Prisma are outlined as follows:
เพื่อป้องกัน Prisma จากความผิดสภาพทางการเงิน ที่ตำแหน่งหนี้เกินมูลค่าของหลักทรัพย์ของพวกเขา สัญญา LiquidationManager จะดำเนินตรวจสอบตรรกะการล่ม ที่ TroveManagers ทุกตัว (คลังของ Prisma) การล่มสามารถถูกกระตุ้นได้ในหนึ่งในวิธีทั้ง ๆ สามทาง ขึ้นอยู่กับอัตราของหลักทรัพย์ของบัญชีเป้าหมายและอัตราของหลักทรัพย์ของระบบทั่วไป
อัตราส่วนค้ำประกันของบุคคล (ICR) <= 100%: บัญชี (สมุดรายวัน) มีหลักทรัพย์ไม่เพียงพอ หนี้ทั้งหมดและหลักทรัพย์จะถูกแจกจ่ายใหม่ในหมวดหมู่บัญชีสมุดรายวันที่เหลืออยู่โดยสัมพันธ์กับขาดทุน
100% < ICR < อัตราส่วนค้ำประกันขั้นต่ำ (MCR): คลังขาดต่ำกว่าระดับการละลาย แต่สามารถละลายได้อย่างปลอดภัย สระสมทรัพย์ถูกใช้เป็นสำรองสำหรับการจัดการการละลาย (สรรพสรรค์สระสมทรัพย์) มัดจำถูกจัดสรรให้กับผู้ฝากสระสมทรัพย์ หากยอดคงเหลือของสระสมทรัพย์ไม่เพียงพอที่จะชดเชยคลัง เงินเหลือและหลักประกันถูกแจกจ่ายใหม่ในหมวดคงค้างที่เหลืออยู่
MCR <= ICR < Global Total Collateral Ratio (GTCR) & GTCR < 150%: ระบบอยู่ในโหมดการกู้คืนซึ่งหมายความว่าคลังสามารถชําระบัญชีได้เมื่อ CR ต่ํากว่า GTCR แทนที่จะเป็น MCR เงินฝากพูลที่มั่นคงจะใช้ก่อนเพื่อชําระบัญชีคลัง หลักประกันที่เทียบเท่ากับมูลค่าหนี้ที่ MCR ถูกแจกจ่ายให้กับผู้ฝากเงินกลุ่มที่มั่นคง เจ้าของคลังสามารถเรียกร้องหลักประกันที่เหลือได้
ความเป็นไปได้ของการชําระบัญชี Prisma จะเพิ่มขึ้นเมื่อ ETH หรือ ETH LSD ประสบกับความผันผวนของราคาอย่างมีนัยสําคัญโดยเฉพาะอย่างยิ่งการลดลงในสภาวะตลาดที่มีความผันผวนสูง แม้ว่าความล้มเหลวหรือการจัดการของ Oracle อาจส่งผลต่อโปรโตคอลได้ตลอดเวลา แต่ความเสี่ยงของความล้มเหลวของ Oracle อาจเพิ่มขึ้นในช่วงเวลาที่สําคัญที่สุด สินทรัพย์หลักประกันอาจไม่สามารถอัปเดตราคาได้ทันเวลาเนื่องจากการเพิ่มขึ้นของค่าธรรมเนียมก๊าซหรือวิธีการกําหนดราคาของ Oracle อาจไม่สามารถติดตามความผันผวนที่เพิ่มขึ้นได้อย่างเพียงพอ การล้มละลายอาจเพิ่มขึ้นโดยต้องมีการแจกจ่ายซ้ําระหว่างคลังที่ใช้งานอยู่หรือผู้กู้อาจถูกชําระบัญชีอย่างไม่เป็นธรรม (ในกรณีที่ Oracle รายงานราคาต่ํากว่าราคาตลาดยุติธรรมผิดพลาด)
Arbitrageurs สามารถเริ่มต้นการไถ่ถอนได้ตลอดเวลาโดยเลือกที่จะแลกหลักประกันมูลค่า 1 mkUSD เป็นเงิน 1 ดอลลาร์สหรัฐ (+ ค่าธรรมเนียมการไถ่ถอนแบบไดนามิก) โดยเริ่มจากคลังที่มีอัตราส่วนหลักประกันต่ําที่สุดในระบบ สิ่งนี้ช่วยเสริมความแข็งแกร่งให้กับการตรึงเมื่อราคา mkUSD ลดลงต่ํากว่า 1 ดอลลาร์สหรัฐ กระบวนการไถ่ถอนช่วยลดความเสี่ยงหลักประกันของคลังเป้าหมายและเพิ่มอัตราส่วนหลักประกัน ฝ่ายที่ดําเนินการไถ่ถอนจะจ่ายค่าธรรมเนียมที่เรียกว่าค่าธรรมเนียมการไถ่ถอน ช่วงของค่าธรรมเนียมการไถ่ถอนเป็นต่อ TroveManager และเป็นผลรวมของชั้นค่าธรรมเนียมการไถ่ถอน + baseRate ตัวแปรที่เก็บไว้ใน TroveManager เพิ่มขึ้นตามสัดส่วนของอุปทานรวม mkUSD ที่แลกแล้วและลดลงเป็นเส้นตรงเมื่อเวลาผ่านไป ค่าธรรมเนียมแบบไดนามิกนี้ baseRate จะปรับอัตราการไถ่ถอนที่ทํากําไรได้
ในขณะที่การล้มละลายบน Prisma มักจะเกิดขึ้นน้อย การแลกเงินคืนเป็นสิ่งที่สามารถพบได้อย่างชนกับการพิจารณาเฉพาะเจาะจงสำหรับ Oracles หุ่นยนต์ MEV มีการค้นหาโอกาสแบบนี้อย่างรุนแรงเพื่อทำกำไรอย่างรวดเร็วผ่านกู้ยืมแฟลช
นอกจากความไม่สะดวกจากการแบ่งส่วนเงินสำรองของพวกเขาโดยบังคับ, ผู้ใช้อาจพบประสบกับการสกัดค่าบางอย่างเนื่องจากการเบี่ยงเบนระหว่าง Oracle และราคาสปอต การกำหนดราคาผิดพลาดอาจทำให้ผู้ใช้สูญเสียสินทรัพย์มากกว่าที่จำเป็น, โดยเฉพาะเมื่อ Oracle รายงานราคาต่ำกว่ามูลค่าตลาดที่เป็นธรรม On the other hand, ราคาที่รายงานโดย Oracle สูงกว่าราคาตลาดที่เป็นธรรมอาจขัดขวางการแลกเปลี่ยน, ทำให้เลิกทำวัตถุประสงค์ของกลไกการแลกเปลี่ยนให้ระบบการบังคับ mkUSD peg floor เรียบ.
ดูรายละเอียดสั้นๆเกี่ยวกับผู้สมัครผู้นำสำหรับการส่งสัญญาณราคา Oracle บน Prisma
Chainlink เป็นเครือข่าย Oracle แบบกระจายอํานาจที่รวบรวมข้อมูลจากแหล่งข้อมูลตลาดที่หลากหลายและเชื่อมต่อข้อมูลนี้กับสัญญาอัจฉริยะ สถาปัตยกรรมของมันอาศัยผู้ให้บริการโหนดอิสระที่ดึงและส่งข้อมูลจากการแลกเปลี่ยนต่างๆและ API ของผู้รวบรวมข้อมูลตลาดลดความล้มเหลวจุดเดียวและเพิ่มความปลอดภัย มั่นใจได้ถึงความสมบูรณ์ของข้อมูลผ่านวิธีการเข้ารหัสและกลไกฉันทามติที่ตรวจสอบความถูกต้องของข้อมูลก่อนส่ง วิธีการนี้เกี่ยวข้องกับการกําหนดราคาสินทรัพย์ถ่วงน้ําหนักตามปริมาณ (VWAP) เพื่อรวมมูลค่าตลาดยุติธรรมที่แสดงถึงราคาสปอตของสินทรัพย์ได้ดีที่สุด
เครือข่ายโหนด (การเต้นเสียง) เป็นประจำหรือตามค่าฝ่ายที่ผิดปกติแบนเนอร์ราคาลงบนเชน ข้อจำกัดนี้ เนื่องจากค่าธรรมเนียมแก๊สสูงบนเมนเน็ต สามารถทำให้การอัพเดตราคาแพงและอาจทำให้ความล่าช้าเพิ่มขึ้น ลดประสิทธิภาพของ Oracle ค่าใช้จ่ายในการรักษา Oracle เช่นนั้นอาจสูง โดยเฉพาะในช่วงเวลาที่มีความผันผวนสูง ทำให้การอัพเดต Oracle ทันเวลาเป็นสิ่งจำเป็น
การใช้งานล่าสุดของสระว่ายน้ำ Curve (สระ StableSwap และสระ CryptoSwap) รวมถึงการคำนวณราคา EMA ที่เปิดเผยโดยฟังก์ชัน getter เช่นprice_oracle()
. สระว่ายน้ำเหล่านี้ไม่ได้พึ่งพาต่ออราเคิลภายนอกแต่แทนนี้คำนวณราคาของสินทรัพย์ต่อราคาของโทเค็นในดัชนี 0 ของสระว่ายน้ำโดยใช้กิจกรรมการซื้อขายของตนเองภายใน EMA เพิ่มค่าใช้จ่ายในการจัดการผ่านการปรับปรุงราคาที่เรียบไหล โดยทำให้มีความสมดุลระหว่างความต้านทานการจัดการและความเกินขึ้นจากจุดเวลาหมดอายุ
ที่สามารถกำหนดค่าได้ผ่านการลงคะแนนเสียงของ Curve DAO
ตามที่เปิดเผยในเอกสาร Curve Oracle การแปลง EMA Oracle ได้รับการพัฒนาอย่างใจกลาง:
“หากคุณต้องการใช้ความสามารถของ 'price oracle' ของ Curve หรือ price oracle ใดเพื่อให้ข้อมูลราคา on-chain ในแอปพลิเคชันที่คุณกำลังสร้าง พวกเราขอแนะนำให้คุณออกกำลังกายอย่างรอบคอบเพิ่มเติม”
การปรับปรุงการดำเนินงานของสระน้ำที่แตกต่างกัน แก้ไขเวอร์ชันของรหัส EMA Oracle ดังนั้น ผู้รวมต้องเข้าใจการดำเนินงานของ Oracle ของสระน้ำเป้าหมาย
ในเดือนพฤศจิกายน 2023 พบข้อผิดพลาดที่ส่งผลกระทบต่อ Oracle ของพูลระหว่างการนำสาธารณะของพูล stableswap-ng แล้ว ข้อผิดพลาดนี้พบเร็วหลังจากการนำสาธารณะของพูลโดย yAudit ในการตรวจสอบอินเทอร์เน็ตระดับที่สอง สิ่งนี้ให้กำลังใจในการอัปเกรดการนำสาธารณะและยกเลิกการใช้งานบางพูลที่ได้รับผลกระทบ ไม่มีเงินที่เสี่ยงอยู่ แต่เหตุการณ์นี้เน้นถึงการพัฒนา Oracle ของ Curve pool ที่ทำงานอย่างเต็มที่และศักดิ์สิทธิ์ต่อความไม่สอดคล้องระหว่างพูล ถึงแม้จะมีการตรวจสอบอย่างละเอียด และต่ออย่างมากเกี่ยวกับข้อผิดพลาดที่ยังคงอยู่ที่อาจทำให้ Oracle เป็นอุปการะต่อการจัดการหรือความไมแม่นยำ
ส่วนที่สามของรายงานนี้คือการวิเคราะห์การแลกคืนของ WstETH TroveManager โดยมีผลกระทบสำคัญต่อผู้ใช้ Prisma ส่วนนี้นำเสนอการสังเกตเห็นเกี่ยวกับการแลกคืนในอดีตซึ่งจะถูกประเมินเปรียบเทียบกับ Curve EMA Oracle ในการวิเคราะห์เปรียบเทียบ
การค้นหาเหตุการณ์การแลกเปลี่ยนบน WstETH TroveManager แสดงให้เห็นว่ามีการทำธุรกรรมการแลกเปลี่ยนมากกว่า 200 ครั้งทั้งหมด โดยมี 190 ธุรกรรมที่ระบุว่าเป็นธุรกรรม BOT (วิธีการที่ใช้ในการระบุธุรกรรมที่ดำเนินการโดย BOT จะอธิบายในส่วนต่อไปในส่วนเดียวกัน) ด้านล่างเป็นภาพประกอบที่แสดงถึงความถี่ของการทำธุรกรรมเหล่านี้ตลอดเวลา
แหล่งที่มา: Dune query_3402461
มีเพียง 3 บอทเท่านั้นที่แลกเปลี่ยน mkUSD บ่อยครั้ง:
แหล่งที่มา: Dune query_3402461
ทุกบอทมีกระบวนการทั่วไปที่คล้ายกันในการเก็บ mkUSD และการแลกเปลี่ยน ด้านล่างคือหนึ่งในธุรกรรมของบอทที่เปิดเผยข้อมูลที่เป็นประโยชน์บางประการ:
Source: สำรวจเครื่องมือ Phalcon Tx
รูปแบบการทำธุรกรรม BOT สามารถแบ่งเป็นส่วนย่อยได้อีกต่อไป:
รับสินเชื่อแฟลชจาก Uniswap V3: USDC
แปลง USDC เป็น mkUSD โดยใช้ Curve.fi Factory USD Metapool: Prisma mkUSD
แลก mkUSD เป็น wstETH บน wstETH TroveManager
Unwrap wstETH into stETH on the wstETH.
Exchange stETH for ETH on the Curve stETH/ETH pool.
Wrap ETH, ชำระเงินกู้ยืม และแจกจ่ายกำไรและคอมมิชชั่น
ความกำไร MEV ขึ้นอยู่กับความแตกต่างของราคาในขั้นตอน 2, 3 และ 5:
2: เมื่อราคา mkUSD ลดลง กำไรจากการแลกเปลี่ยนเพิ่มขึ้น
3: เนื่องจากค่าธรรมเนียมการแลกเปลี่ยนแบบไดนามิกลดลงตามฟังก์ชันของปริมาณการแลกเปลี่ยนล่าสุดและเวลาตั้งแต่การแลกเปลี่ยน กำไรจากการแลกเปลี่ยนเพิ่มขึ้น
-5: เมื่อการลื่นไหลในการแลกเปลี่ยนสินทรัพย์ (เช่น stETH) เพิ่มขึ้น กำไรจากการแลกเปลี่ยนลดลง สินทรัพย์ดิจิทัล เช่น stETH สามารถแลกเปลี่ยนโดยตรงเป็น ETH พื้นฐาน แต่กระบวนการนี้ต้องใช้ระยะเวลารอ ทำให้สภาพ Likelihood ในตลาดรองรับ มีความสำคัญ
Prismaใช้กลไกเพื่อ จำกัด โอกาสในการทำกำไรจากการแลกเปลี่ยน mkUSD เป็น wstETH ผ่าน ค่าธรรมเนียมแบบไดนามิก ขั้นตอนที่ 3 เกี่ยวข้องกับค่าธรรมเนียมแบบไดนามิกเพื่อป้องกันการแลกเปลี่ยนที่เกิดบ่อยและมากเกินไป อย่างไรก็ตาม การแลกเปลี่ยนอาจเกิดขึ้นอยู่ซึ่งกับการราคา Oracle ที่ไม่แม่นยำเพื่อสกัด MEV การเสนอราคาจาก Oracle สำหรับการแลกเปลี่ยน mkUSD อาจเสนออัตราค้ำประกันที่ไม่เหมาะสมสำหรับเจ้าของคลังเงิน ซึ่งจะนำไปสู่ประสบการณ์ผู้ใช้ที่ไม่ดี
ข้อเสนอเปลี่ยนแปลงราคา Prisma Oracle feed สำหรับ stETH ได้รับการอนุมัติแล้ว แต่แรกที่ Prisma ใช้ Chainlink stETH/USD oracle พร้อมกับค่าความผิดปกติของ 1% สำหรับ wstETH TroveManager พบว่าการใช้การผสมผสานของ Chainlink stETH/ETH และ ETH/USD oracles สามารถนำไปสู่การปรับปรุง โดยมีค่าความผิดปกติของ 0.5% สำหรับแต่ละ oracle
โปรดอ้างอิงถึงความคลาดเคลื่อนระหว่าง Oracle ใหม่และ Oracle เก่าด้วยความละเอียด 15 บล็อก
Source: Chart by @wavey
ได้สังเกตเห็นว่าเมื่อราคาการซื้อขายของ mkUSD ตกต่ำกว่าอัตราที่ติดตาม การแลกเงินมากเกินไปเกิดขึ้นเนื่องจาก Oracle ผิดปกติเกิน 1% ในกรณีเหล่านี้เราพบว่าค่าธรรมเนียมแบบไดนามิกไม่เพียงพอในการป้องกันการแลกเงินมากเกินไปที่เกิดจากการเบี่ยงเบนราคา โปรดอ้างถึงการปรับค่าธรรมเนียมการแลกเงินสำหรับเหตุการณ์การแลกเงินที่ต่ำกว่า
แหล่งที่มา: แผนภูมิโดย@wavey
การแลกเปลี่ยนเหล่านี้อาจมีค่าใช้จ่ายทางอ้อมสำหรับผู้ใช้ Prisma เนื่องจากอาจได้รับอัตราที่ไม่เป็นที่น่าพอใจเมื่อถูกแลกเปลี่ยน การวิเคราะห์ของ Wavey ชี้ว่า การสร้าง oracle สำหรับ stETH/USD มีโอกาสโดนเอาเปรียบมากกว่าการรวม oracle ที่ได้รับการตรวจสอบในข้อมูลด้านบน การเอียงชั่วคราวที่เกิน 1.2% ได้สร้างโอกาสให้กับ MEV bots ในการใช้เอื้อเฟื้อ
ข้อเสนอเพื่อเปลี่ยนแปลง Oracle (PIP-004) ได้รับการดำเนินการในวันที่ 17 พฤศจิกายน พ.ศ. 2566 เวลา 735 นาฬิกา หรือ บ่ายครึ่ง +UTC พร้อมกับธุรกรรมนี้ โดยอ้างอิงตามกราฟราคา mkUSD ด้านล่างและวันที่ดำเนินการข้อเสนอ สามารถสังเกตเห็นได้ว่าหลังจากดำเนินการข้อเสนอแล้ว ราคาจริงของ mkUSD ใน USDC ลดลง การลดกำไรจากการแลกเปลี่ยนเนื่องจากการปรับปรุงออระเคิลอาจส่งผลให้มีการลดความแข็งแรงในการยึดติด
แหล่งที่มา: Dune query_5685458
ปัจจัยที่มีผลต่ออย่างอื่น ๆ ที่ควรพิจารณา รวมถึง ข้อจำกัดของโมเดลอัตราดอกเบี้ยโปรโตคอล กรณีการใช้ mkUSD และมาตรการสร้างสรรค์ที่ไม่สอดคล้องกัน ข้อเสนอสำคัญอีกอย่างหนึ่งที่ จำกัด เงินเดบิต คือ PIP-019 ซึ่งดำเนินการเมื่อวันที่ 31 มกราคม ข้อเสนอนี้เพิ่มค่าธรรมเนียมเงินเดบิตฐานสำหรับ TroveManagers ทั้งหมดเป็น 1%-1.5% ลดความยืดหยุงของ mkUSD แต่เสียค่าลดความเสี่ยงของการเงินสำหรับเจ้าของทรอฟของ Prisma
การวิเคราะห์มีเป้าหมายเพื่อประเมินผลการดำเนินงานของบรรณาธิการ Prisma ที่นำมาใช้และประเมินผลการดำเนินงานทางคาดการณ์ของบรรณาธิการ on-chain Curve EMA ทางเลือกโดยใช้ข้อมูลทางประวัติศาสตร์ ผลการวิจัยจะให้ข้อมูลเบื้องต้นเกี่ยวกับพฤติกรรมของบรรณาธิการ off-chain และ on-chain ซึ่งจะทำให้สามารถประเมินอย่างละเอียดมากขึ้นในการวิจัยต่อๆ ไป
วัตถุประสงค์ของการวิเคราะห์นี้คือเพื่อหาว่าอินเทอร์เฟซปัจจุบันมอบประสิทธิภาพที่ดีที่สุดหรือไม่หรือว่าสามารถปรับปรุงได้โดยการใช้งานบนเชนหรือโฮไบรด์โซลูชันโดยใช้ประโยชน์จากการใช้งานอินเทอร์เฟซโพล Oracle
การวิเคราะห์จะเน้นไปที่ stETH โดยเฉพาะเนื่องจากมันเป็น LSD ที่ใช้มากที่สุด ด้วย Chainlink price feed ที่สมบูรณ์และ Likuiditas ลึกในสระว่ายน้ำ Curve การวิเคราะห์ของหลักทรัพย์อื่น ๆ ที่รายชื่อใน Prisma ได้รับการดำเนินการและผลลัพธ์ได้รับการให้ไว้ในภาคผนวก B ของรายงานสำหรับการอ้างอิง
การวิเคราะห์เปรียบเทียบเกี่ยวข้องกับการประเมินระดับการจับคู่ระหว่างข้อมูลทดลองและชุดข้อมูลอ้างอิง ในกรณีนี้มีชุดข้อมูลสองชุดที่พิจารณา: ข้อมูลการทดลองที่สนใจและชุดข้อมูลอ้างอิง ซึ่งคาดว่าข้อมูลการทดลองควรติดตามข้อมูลอ้างอิงอย่างใกล้ชิด แต่อาจเกิดการเบนทางได้
เพื่อวัดการจัดเรียง เราตรวจสอบค่าเศษเหลือ ซึ่งถือเป็นความแตกต่างระหว่างข้อมูลการทดลองและข้อมูลอ้างอิง การวิเคราะห์ค่าเศษเหลือมุ่งเน้นที่การเปิดเผยรูปแบบหรือแนวโน้มในความแตกต่างเหล่านี้
เมื่อวิเคราะห์ค่าเศษส่วน (ความแตกต่างจากค่าอ้างอิง) จะมีการสังเกตการณ์โดยใช้ค่าเบี่ยงเบนมาตรฐานของค่าเศษส่วน ค่าเบี่ยงเบนมาตรฐาน (SD) เป็นวัดค่าทางสถิติที่ใช้เพื่อประเมินการแตกต่างหรือการกระจายของชุดของค่า มันให้ที่บ่งบอกถึงการกระจายของค่ารอบๆ ค่ากลาง (เฉลี่ย) ค่าเบี่ยงเบนมาตรฐานต่ำแสดงว่าจุดข้อมูลมักจะใกล้กับค่ากลาง ในขณะที่ค่าเบี่ยงเบนมาตรฐานสูงแสดงว่าจุดข้อมูลกระจายออกไปในช่วงที่กว้างมากขึ้น
ในกรณีของเราค่าเฉลี่ยที่ใกล้เคียงกับ 0 เป็นที่พึงปรารถนาเนื่องจากบ่งชี้ว่าราคาที่ให้ไว้ไม่ได้ประเมินค่าสูงเกินไปหรือประเมินราคาอ้างอิงต่ําเกินไป อย่างไรก็ตามค่าเฉลี่ยที่ใกล้เคียงกับหรือเท่ากับ 0 ที่มีค่าเบี่ยงเบนมาตรฐานค่อนข้างสูงแสดงให้เห็นถึงความผันผวนอย่างมีนัยสําคัญซึ่งไม่เป็นที่พึงปรารถนาเนื่องจากสอดคล้องกับความผิดพลาดอย่างรุนแรง ฟีด Oracle ที่มีค่าเฉลี่ยเป็นศูนย์และส่วนเบี่ยงเบนมาตรฐานขั้นต่ําเป็นผลลัพธ์ในอุดมคติซึ่งบ่งชี้ว่าฟีดติดตามราคาสปอตได้อย่างแม่นยํา
เพื่อตรวจสอบและประเมินความแม่นยำของกิจกรรมราคาออรัเคิลบนเชือกเชื่อม การเสนอราคาที่ได้จากปลายทางการซื้อขายที่เป็นเหล็กที่สุด (ยกเว้น Curve) ใช้เป็นอ้างอิงสำหรับการวิเคราะห์เศษทอ. โดยเฉพาะการเสนอราคาจากคู่สกุลเงิน LSD/ETH บน Uniswap เป็นจุดอ้างอิงหลักในสถานการณ์นี้
การวิเคราะห์ของเรารวมถึงวิธีการสร้างราคา stETH Chainlink 2 วิธี ทำเพราะพบว่าความเบี่ยงเบนของ feed stETH/USD ต้นฉบับสูงกว่าความเบี่ยงเบนโดยใช้ stETH/ETH + ETH/USD อัพเดต oracles ตามข้อเสนอการปกครอง ต่อมา การวิเคราะห์ที่เกี่ยวข้องกับราคา stETH/ETH Chainlink ที่ดีขึ้นใน ETH ถูกอ้างถึงว่า stETHv1 ในขณะที่ feed stETH/USD + ETH/USD (ทำซ้ำการทำงานของ oracles stETH ต้นฉบับ ปรับเป็นมาตรฐานเป็น ETH) ถูกอ้างถึงว่า stETHv2
เพื่อวัตถุประสงค์ในการวิเคราะห์ ข้อมูลสำหรับไตรมาสสุดท้ายของปี 2023 ได้รับจากทรัพย์สินที่เกี่ยวข้องทั้งหมด (ตั้งแต่บล็อก 18331000 ถึงบล็อก 18931000 ด้วยความละเอียดของ 250 บล็อกสำหรับชุดข้อมูล) ซึ่งสร้างชุดข้อมูลที่มีจุดข้อมูล 2401 จุดสำหรับทรัพย์สินทั้งหมด
สินทรัพย์หลักที่พิจารณาคือ stETH เนื่องจากนั้นเป็นประเภทหลักทรัพย์ที่ Prisma ยอมรับในปัจจุบัน โดยมีทั้ง Chainlink feed และ Curve StableSwap-ng pool ที่ใช้เป็นข้อมูลอ้างอิง (โปรดอ้างถึงภาคผนวก B สำหรับการวิเคราะห์เกี่ยวกับ rETH และ cbETH ซึ่งใช้ CryptoSwap pool รุ่นเก่า) ข้อมูลทั้งหมดถูกได้มาจากการสอบถามราคาสำหรับช่วงบล็อกที่ระบุ
ราคาออรัคเลสถูกวิเคราะห์จากแหล่งข้อมูลต่อไปนี้:
สระน้ำ Curve liquidity
Chainlink ราคา Feedback
ที่อยู่ขุดเหมือง Uniswap เป็นตัวแทนอ้างอิงราคาสปอตดังต่อไปนี้:
Uniswap ราคาสปอต
เพื่อมาตรฐาน LSD ไปยัง ETH ให้เรียบร้อย เราใช้อัตราแลกเปลี่ยน LSD/ETH ภายใน:
อัตราแลกเปลี่ยน LSD/ETH ภายใน
ในส่วนนี้เราจะเปรียบเทียบความแม่นยำของ Chainlink ราคา stETH feed กับ Curve
Chainlink stETHv1 Feed vs. Curve
Chainlink: stETH/ETH feed
Curve: stETH/ETH สระ
ด้านล่างเป็นการเปรียบเทียบโดยตรงของราคา stETH จาก Chainlink และ Curve ด้วย ด้วยรอบการเป็นชีพจร 24 ชั่วโมงของ Chainlink stETH/ETH ราคาเปลี่ยนแปลงทุกไม่กี่บล็อก โดยเปรียบเทียบมากขึ้น การเปลี่ยนแปลงสามารถสังเกตเห็นได้ง่ายขึ้นใน Feed ของ Chainlink (แสดงได้ดีกว่าใน Feed Chainlink stETH/USD) เมื่อเปรียบเทียบกับ Curve เนื่องจาก Curve ใช้เวลา EMA 10 นาที (ma_exp_time) เพื่อคำนวณราคาของมัน
หากเราลบราคาจาก Curve จากราคาจาก Chainlink เราจะได้ผลเฉดเฉลม เช่นที่แสดงไว้ด้านล่าง:
ค่าส่วนเบี่ยงเฉลี่ยคือ ~-0.000305
การสังเกตที่สำคัญที่สามารถทำได้ที่นี่คือว่า Curve Oracle ประเมินราคาของมันเองได้มากกว่าข้อมูลราคาจริงของ Chainlink
Chainlink stETHv2 และ Curve
Chainlink:stETH/USD feed / ETH/USD feed
Curve: สระ stETH/ETH
ด้านล่างเป็นการเปรียบเทียบราคาจากฟีด Chainlink ทางเลือกที่ถูกปรับเป็น ETH (stETH/USD และ ETH/USD) เทียบกับ stETH Curve โดย Chainlink stETH/USD มีอัตราส่วนความผิดพลาด 1% (เปรียบเทียบกับ 0.5% ในฟีด stETH/ETH) ราคาจะแสดงผลต่างมากขึ้นรอบราคาเชื่อมโยง
เหมือนที่เคยสังเกตเห็น การเปลี่ยนแปลงราคา stETH/USD ของ Chainlink เป็นราคาที่มีการเปลี่ยนแปลงที่ชัดเจนมากกว่า Curve
ค่าความเบี่ยงเบนเฉลี่ยคือ ~-0.000171
ขึ้นอยู่กับขอบเขต ฟีดนี้มีเศษเหลือที่ใหญ่กว่า นั่นคือมีความผันผวนมากกว่า stETH/ETH
ในส่วนนี้เราจะเปรียบเทียบความแม่นยำทางประวัติศาสตร์ของ Chainlink stETH ราคา feed กับราคาอ้างอิงจาก Uniswap
หากข้อมูลราคาสระ UniswapV3 ทำหน้าที่เป็นตัวแทนที่เชื่อถือได้สำหรับราคาสปอต เราสามารถเปรียบเทียบข้อมูลเบนช์มาร์คที่ได้รับมาก่อนหน้านี้เพื่อตรวจสอบความใกล้ชิดของส่งออราเคิล Chainlink กับค่าอ้างอิง
Uniswap Spot vs. Chainlink stETHv1
Chainlink: stETH/ETH feed
Uniswap: อัตราแลกเปลี่ยนระหว่าง wstETH/ETH และ wstETH/stETH ภายใน
นี่คือความต่างที่แท้จริงระหว่างราคาสปอต Uniswap และ Chainlink stETH/ETH:
ค่าเฉลี่ยที่เหลือ = 0.000415
ค่าเบี่ยงเบนทางเลขาคณิตของความแตกต่างราคา = 0.000601
Uniswap Spot vs. Chainlink stETHv2
Chainlink: stETH/USD feed / ETH/USD feed
Uniswap: อัตราแลกเปลี่ยนภายในของสระน้ำ wstETH/ETH / อัตราแลกเปลี่ยนภายในของ wstETH/stETH
นี่คือความต่างจริงระหว่าง Uniswap stETH และ Chainlink stETH (stETH/USD)
ความแตกต่างราคาหมายความว่า = 0.000281
ค่าเบี่ยงเบนมาตรฐานของความแตกต่างราคา = 0.002747
ที่นี่เราเปรียบเทียบ Chainlink stETHv1 (คือ stETH/ETH) และ stETHv2 (คือ stETH/USD) กับข้อมูล Uniswap และผลลัพธ์บ่งชี้ให้เห็นว่าการเบี่ยงเบนของ stETHv2 มีความแตกต่างมากกว่า stETHv1
การสังเกตเหมือนกันเกิดขึ้นในข้อเสนอการบริหารของ Prisma (PIP-004) เมื่อออราเคิลเปลี่ยนจาก stETH/USD เป็น stETH/ETH + ETH/USD เพื่อลดความผิดปกติในการป้อนราคา
ในส่วนนี้เราจะเปรียบเทียบความแม่นยำทางประวัติศาสตร์ของ stETH Curve Oracle กับราคาสปอตอ้างอิงจาก Uniswap
หากข้อมูลราคาสระน้ำ UniswapV3 ใช้เป็นตัวแทนที่เชื่อถือได้สำหรับราคาสปอต เราสามารถเปรียบเทียบข้อมูลเบนช์มาร์คที่ได้รับมาก่อนหน้าเพื่อตรวจสอบความใกล้ชิดของ Curve Oracle feed กับค่าอ้างอิง
Uniswap Spot vs. Curve
Curve: stETH/ETH pool
Uniswap: อัตราแลกเปลี่ยนสระน้ำ wstETH/ETH / อัตราแลกเปลี่ยนภายใน wstETH/stETH
โดยอ้างอิงจากการวิเคราะห์ต้นทางที่คล้ายกันกับที่กล่าวมาข้างต้น เราได้รับมาตัวชี้วัดต่อไปนี้เพื่อเปรียบเทียบกับมาตรฐานที่กำหนดไว้ก่อนหน้านี้:
ค่าต่างราคาเฉลี่ย = 0.000110
ค่าเบี่ยงเบนมาตรฐานของความแตกต่างราคา = 0.000141
เห็นได้ว่า ราคาเฉลี่ยที่รายงานโดย Curve จะต่ำกว่า Uniswap อย่างเล็กน้อย โดยมีค่าเบี่ยงเบนมาตรฐานที่ต่ำมากเมื่อเปรียบเทียบกับแหล่งที่มาจาก Chainlink
เมื่อเปรียบเทียบข้อมูลเหล่านี้ พวกเราพบว่าการเบี่ยงเบนของข้อมูล Chainlink มีความแตกต่างอย่างมีนัยสำคัญกว่า Curve เมื่ออ้างอิงข้อมูล Uniswap เป็นพร็อกซีสำหรับราคาสปอต
เนื่องจากการสังเกตข้างต้น ที่พื้นฐานอยู่บนการเบี่ยงเบนจากแหล่งราคาแต่ละแหล่ง มันเป็นไปได้ที่การเติบโตของ Curve Oracle อาจแสดงถึงการเบี่ยงเบนที่เชิงบวกในขณะที่ Chainlink feed แสดงถึงการเบี่ยงเบนที่เชิงลบ และสลับกัน สถานการณ์นี้ถูกยกเลิกในที่สุดเนื่องจากช่วงการเบี่ยงเบนของ Chainlink feed และ Curve Oracle มีขนาดเล็กกว่าเมื่อเทียบกับช่วงการเบี่ยงเบนของ Uniswap & Chainlink และ Uniswap & Curve
ตารางด้านล่างแสดงการวิเคราะห์เหลือที่ดำเนินการบนข้อมูลที่เก็บไว้ ค่าเฉลี่ยของเหลือ ที่คูณด้วย 100 จะได้เป็นเปอร์เซ็นต์ความเบี่ยงเบนเฉลี่ยของสินทรัพย์เป้าหมายจากการอ้างอิง (ในหลักเงินสหรัฐ, เปรียบเทียบกับราคา ETH ที่มีการกำหนดในหลักเงินสหรัฐ)
ตารางเปรียบเทียบประสิทธิภาพที่สัมพันธ์ของ Chainlink และ Curve กับ Uniswap ในเชิงเฉลี่ยและค่าเบี่ยงเบนมาตรฐานสำหรับทรัพย์สินแต่ละรายการ ในทุกกรณี Curve แสดงค่าเฉลี่ยที่ต่ำและค่าเบี่ยงเบนมาตรฐานที่ต่ำกว่า ตัวคูณความแม่นยำแสดงถึงความแม่นยำสัมพันธ์ของค่าที่สังเกตได้แต่ละค่า
จุดหลักที่นี่คือดังนี้:
การวิเคราะห์มีวัตถุประสงค์ในการเปรียบเทียบราคาการดำเนินการของเหตุการณ์การชำระเงินใน wstETH TroveManager กับราคาสมมติที่ถูกอ้างอิงจากข้อมูลประวัติโดยออรัคเคิล on-chain ทางเลือก ผลลัพธ์จากการศึกษาจะให้ข้อมูลเบื้องต้นเกี่ยวกับพฤติกรรมของออรัคเคิล off-chain และ on-chain ซึ่งจะเป็นประโยชน์ในการประเมินอย่างละเอียดมากขึ้นในงานวิจัยต่อๆ ไป
วัตถุประสงค์ของการวิเคราะห์นี้คือการกำหนดว่าอาร์เคิลปัจจุบันมอบผลลัพธ์ที่ดีที่สุดในสถานการณ์การแก้ไขเฉพาะหรือว่าสามารถปรับปรุงได้ผ่านการนำไปใช้ในบล็อกเชนหรือการใช้วิธีผสมผสาน โดยใช้อาร์เคิลพูล Curve EMA หรือการอาร์เคิล
การวิเคราะห์นี้จะเน้นไปที่ stETH โดยเฉพาะ เนื่องจากมันเป็น LSD ที่ใช้มากที่สุดและมี Chainlink price feeds ที่เจาะจงและความสามารถในการซื้อขายลึกในสระของ Curve การศึกษาจะรวบรวมการเกิดเหตุการณ์การแลกเปลี่ยนทั้งหมดโดยเปรียบเทียบราคา oracle stETH ที่เกิดขึ้นกับราคา oracle ทางเลือกหลายราคา ที่ราคาเป็น USD และใช้ราคา oracle stETH/ETH ของ Curve
สำหรับการวิเคราะห์นี้ ราคา stETH ที่เกิดขึ้นจะถูกคำนวณโดยการหารจำนวน mkUSD ที่ได้รับจากการแลกเปลี่ยนด้วยจำนวน stETH ที่สูญหายไปยัง Trove Manager ในรูปแบบของ wstETH โดยเพื่อหาจำนวน stETH เราต้องพิจารณา wstETH ที่ได้รับจากการแลกเปลี่ยนรวมถึง wstETH ที่ใช้เป็นค่าธรรมเนียมและแปลงมันเป็น stETH หากมีแหล่งที่มั่นคงที่ให้กำไรต่ำกว่าให้กับผู้แลกเปลี่ยนเสมอ เราสามารถบอกได้ว่าประสิทธิภาพ MEV ของพวกเขาดีกว่าราคาจริง
wstETH TroveManager ใช้เพื่อดึงแฮชธุรกรรมทั้งหมดเมื่อได้รับ mkUSD ในการแลกเปลี่ยน ธุรกรรมที่ที่อยู่ที่แลก mkUSD ได้รับและเบิร์น mkUSD จะถือว่าเป็นธุรกรรม BOT คําถามโดยละเอียดสําหรับกิจกรรมการแลกรางวัลสามารถพบได้ที่นี่: Dune query_3352919 แบบสอบถามนี้จําเป็นสําหรับการดึงข้อมูลทั้งหมดจากธุรกรรม BOT
คำค้น Dune ใช้ในการระบุธุรกรรม BOT ที่ได้รับค่าแฮชทั้งหมด อัตราแลกเปลี่ยน wstETH ที่เกิดขึ้นจริงสำหรับการแลกเงิน mkUSD และหมายเลขบล็อกของเหตุการณ์การแลกเงิน หมายเลขบล็อกที่ได้จากคำค้นถูกใช้เป็นอินพุตในการค้นข้อมูลต่อไปนี้ ซึ่งใช้ในการเปรียบเทียบการดำเนินการปัจจุบันกับการเปลี่ยนแปลงในราคา feed stETH ของ Curve
โดยใช้ข้อมูลข้างต้น เราสามารถสร้าง feed ราคาสามชิ้นโดยใช้ Curve Oracle stETH/ETH และผสมกับ ETH/USD เพื่อคำนวณ stETH/USD หลังจากการดำเนินการนี้ เราได้ข้อมูลต่อไปนี้สำหรับการแสดงผล:
ข้อมูลด้านบนให้ราคา stETH ใน USD ซึ่งสามารถวิเคราะห์ได้โดยอ้างอิงจากราคา stETH ที่เกิดขึ้นจริงจากธุรกรรม BOT ทั้งหมด ราคา stETH ที่เกิดขึ้น (ใน USD) ใช้ในการคำนวณราคา stETH สำหรับทุก mkUSD ที่ให้ระหว่างการแลกเปลี่ยน
ด้านล่างคือ 4 แหล่งข้อมูลราคา stETH สำหรับบล็อกการซื้อขาย BOT (1 แหล่งอ้างอิงและ 3 ทางเลือกที่ถูกพูดถึงข้างต้น) ข้อมูลราคาที่เกิดขึ้นจริงคือราคาจากอาสาสมัคร (ยกเว้น Chainlink) นี้ถูกเปรียบเทียบกับ 3 แหล่งข้อมูลโดยใช้ Curve stETH/ETH เป็นแกนหลัก ที่นี่ ใบเสนอราคาที่สูงกว่าจะทำให้มูลค่าของ stETH ที่แลกเปลี่ยนเป็น mkUSD ลดลง และในทางกลับกัน
โดยขึ้นอยู่กับข้อมูลดังกล่าว เราสามารถจำลองปริมาณ stETH ที่ได้รับจากการแลกรับ mkUSD และปรับปริมาณให้เป็นมาตรฐานตามปริมาณที่ได้รับจริงจากออราเคิลที่มีอยู่ กราฟต่อไปนี้แสดง stETH ที่ได้จาก mkUSD ก่อนที่จะเรียกค่าธรรมเนียมและประมวลผลข้อมูลเพื่อลบค่าผิดปกติเพื่อมองเห็นได้ชัดเจนขึ้น:
การวิเคราะห์เปิดเผยแนวโน้มชัดเจน: เมื่อผสม Curve stETH/ETH กับ Uniswap ETH/USDC และ Chainlink ETH/USD จำนวน stETH ที่มีจำหน่ายสำหรับการแลกรับ mkUSD ลดลง ดังนั้น การลดจำนวนหน่วย stETH ต่อการแลกรับ mkUSD ย่อยลงนำไปสู่การลดกำไรของบอท การแสดงผลที่ให้มาแสดงให้เห็นถึงการเปรียบเทียบระหว่างกำไรของบอทภายใต้ราคาฟีดที่ถูกต้องภายใต้สมมติฐานต่าง ๆ และราคาฟีดที่แท้จริง โดยไม่รวมค่าธรรมเนียม:
มันเป็นที่ชัดเจนว่าการรวมกันของ Curve stETH/ETH, Uniswap ETH/USDC, และ Chainlink ETH/USD ลดความสามารถในการแลกเปลี่ยนให้เหมาะสมกับราคาที่ได้เป็นจริง
การรับรู้ความเสี่ยงที่แตกต่างกันของการพึ่งพาอย่างเดียวบนพระราชสำนัก Curve oracle, โดยเฉพาะในช่วงเวลาที่มี Likuiditi ต่ำหรือการเปลี่ยนแปลง Likuiditi, การแต่งตั้งโซลูชันที่เสนอนี้รวมเชื่อมโยง Chainlink oracle เป็นมาตรการป้องกัน (เช่น แผนสำรอง) โดยเฉพาะในกรณีของการเบนที่เกิดขึ้น คำนึงถึงความเป็นไปได้ที่ Chainlink จะให้ข้อมูลที่ไม่ถูกต้องเพียงเล็กน้อย มันสามารถทำหน้าที่เป็นตัวเลือกสำรองที่เชื่อถือได้
โซลูชันนี้ทำหน้าที่เป็นตัวกรอง พิจารณาราคาทั้ง Curve และ Chainlink 条件ถูกกำหนดภายในฟังก์ชัน ที่ทำหน้าที่เป็นสวิทช์ เพื่อออกแบบเงื่อนไขนี้ แนวคิดของช่วงที่ยอมรับถูกนำเสนอ ช่วงนี้แทนความแตกต่างที่ยอมรับระหว่างราคา Chainlink และ Curve oracle เมื่อความแตกต่างที่สังเกตได้เกินช่วงนี้ มันจะแสดงถึงความลำเอียงหรือการจัดการข้อมูล Curve Oracle ที่อาจเกิดขึ้น ในกรณีเช่นนี้ ฟังก์ชันจะลดความเสี่ยงที่อาจเกิดขึ้นโดยประโยชน์ Chainlink ที่มีความปลอดภัยมากกว่า อย่างตรงข้าม เมื่อความแตกต่างตกอยู่ในช่วงที่ยอมรับ ฟังก์ชันจะพึงพอใจในความแม่นยำและความแม่นยำของ Curve Oracle
ควรทราบว่าช่วงที่ยอมรับสามารถกำหนดค่าเป็นแบบคงที่หรือแบบไดนามิกได้ ขึ้นอยู่กับความผันผวนของสินทรัพย์ในระดับพื้นฐาน (เช่น ETH และ LSD ที่เกี่ยวข้อง) ลักษณะไดนามิกช่วยให้สามารถปรับตัวกับเงื่อนไขตลาดที่รุนแรง การรักษาความยืดหยุ่นและกลไกการตอบสนองในการกำหนดราคา กลยุทธ์สองครั้งนี้ลดการพึ่งพาต่อแหล่งข้อมูลเดียวเพื่อเพิ่มความแข็งแกร่งโดยรวมและความเชื่อถือได้ของกลไกกำหนดราคา
โซลูชั่นนี้นำเสนอวิธีการสถิติ acceptable_range เพื่อแก้ไขความเสี่ยงที่เป็นไปได้เมื่อพึ่งพาราคมบน Curve Oracle เท่านั้น ในขณะที่ราคาที่สร้างขึ้นโดย Curve Oracle อาจจะมีความแม่นยำมากกว่า Chainlink แต่ก็อาจเป็นไปได้ที่จะถูกโกงได้ Chainlink อีกด้วยเป็นที่แข็งแรงและทดสอบแล้วถือว่าเป็นทางเลือกที่ปลอดภัยในอุตสาหกรรม ขณะที่ความแตกต่างระหว่าง Curve Oracle และ Chainlink เกินค่าคงที่ acceptable_range ทำหน้าที่เป็นค่าย่างกับการสลับไปยัง Chainlink feed
อย่างกลยุทธ์ที่ยอมรับส่วนระยะที่ยอมรับใบเสนอราคาที่อยู่ในช่วง ±1% ของใบเสนอราคา Chainlink ซึ่งเป็นระยะที่ใกล้เคียงกับสามค่าเบี่ยงเบนเฉลี่ยระหว่าง Curve และ Chainlink โดยพิจารณาถึงการปรับปรุง stETH/ETH และ ETH/USD ที่ดีขึ้นเมื่อเปรียบเทียบกับ stETH/USD ก่อนหน้า
การกำหนดราคาที่ได้เป็นฟังก์ชันหรือกลไกที่ออกแบบเพื่อกำหนดใบเสนอราคาสุดท้ายสำหรับสินทรัพย์ที่กำหนดโดยเฉพาะในสถานการณ์ที่เกี่ยวข้องกับ Curve Oracle และ Chainlink Oracle
ในโซลูชันที่อธิบายไว้ ฟังก์ชันนี้จะประเมินราคาจากทั้ง Curve Oracle และ Chainlink Oracle โดยขึ้นอยู่กับความแตกต่างที่สังเกตเห็นระหว่างราคาสองราคาเหล่านี้และว่ามันตกอยู่ในช่วง accepted_range ที่กำหนดไว้หรือเกิน ฟังก์ชันจะแสดงราคาที่ได้แตกต่างกัน
นี่คือการเปรียบเทียบ derived_price กับแหล่งที่มาของราคาอื่น ๆ ที่แสดงไว้ก่อนหน้านี้
กำไรของบอทสามารถมองเห็นได้จากราคาดีริวาทีฟนี้ (เนื่องจากไม่มีการเบี่ยงเบน ราคานี้จะเท่ากับ Curve stETH/ETH และ CL stETH/ETH ที่แสดงด้านล่าง)
การวิเคราะห์กำไรรวมสามารถเปิดเผยภาพรวมที่ใหญ่กว่า ตรวจพบหกกรณีที่อยู่นอกเหนือจากค่าเฉลี่ยและคำนวณกำไรรวมสำหรับแต่ละกรณีก่อนและหลังกรองออก
Curve stETH/ETH และ Uniswap ETH/USDC ทำให้กำไรที่มีอยู่สำหรับ BOTs ลดลงมากที่สุด ราคาที่ได้รับนั้นมีศักยภาพในการทำกำไรเหมือนกับการปรับใช้ Oracle stETH ปัจจุบัน แต่ จำกัด กำไร โดยสมมติว่า ประหยัด ผู้ใช้ โดยประมาณ 35.4 ETH ในการวิเคราะห์ 189 ครั้ง
เนื่องจากการพึ่งพาอย่างมากในการให้คำใบแจ้งจากตลาดที่ไม่มีกลางสำหรับกิจกรรมบนเชือกตลาดและในความเป็นจริงก็ MEV bots ก็ติดตามคำใบแจ้งเดียวกันเมื่อแลกเปลี่ยน mkUSD กับ LSD ความแม่นยำของคำใบแจ้ง (ที่ใช้สำหรับการกำหนดราคาในการแลกเปลี่ยนโดย Oracle) เป็นสิ่งสำคัญมาก
ข้อมูลประวัติศาสตร์ชี้ให้เห็นว่าราคา Oracle บ่มเพาะ Curve ใกล้เคียงกับราคาอ้างอิง (ข้อมูลราคา UniswapV3) มากกว่าราคา Chainlink ข้อมูลชี้ให้เห็นว่าการใช้ Curve Oracle จะลด MEV สำหรับบอทและให้อัตราแลกเปลี่ยนที่ดีกว่าสำหรับผู้ใช้ที่กำลังแลกเปลี่ยนสมบัติของพวกเขา
ในขณะที่การใช้ Curve Oracle เป็น Oracle เพียงอย่างเดียวอาจทำให้ตายตึง ความมีประสิทธิภาพของการตอบรับราคา Curve ขึ้นอยู่กับความลึกของ Likvidity ของสินทรัพย์ที่เฉพาะเจาและการโต้ตอบกับสระว่ายน้ำ สำหรับการแก้ปัญหา Oracle แบบผสมด้วย Curve Oracle และ Chainlink Oracle สามารถใช้เพื่อจับคู่ราคาออนเชนในขณะที่ยังคงความเชื่อถือได้และความกว้างขวางของการครอบคลุมตลาดทั่วไปที่สืบทอดมาจาก Chainlink Oracle
โซลูชัน Oracle แบบผสมที่เราเสนอประเมินค่าเบี่ยงเบนมาตรฐาน (SD) เพื่อสร้าง derived_price หาก SD เข้าใกล้ 0 แสดงถึงการปฏิบัติตามมูลค่าอ้างอิง derived_price ซึ่งทำให้ควรพิจารณา นี้ทำให้แน่ใจว่าเมื่อ Curve Oracle ต่างไปจากค่าเขตกำหนดล่วงหน้า โซลูชันจะสลับไปใช้แหล่งข้อมูล Chainlink ที่ปลอดภัย โดยที่โซลูชันนี้เกือบจะเสมอส่งออก stETH's Curve quote ถือว่ากิจกรรม MEV เหมือนกับการใช้ Curve stETH/ETH โดยไม่มีการสลับกลับ
ส่วนขยาย A: สคริปต์ประมวลผลข้อมูล
สคริปต์ที่ใช้สร้างการวิเคราะห์ในรายงานนี้คือดังนี้:
ส่วนผสม B: การวิเคราะห์ส่วนเหลือ rETH/cbETH
แผนภูมิอื่น ๆ rETH
Chainlink และ Curve
Uniswap และ Curve
Uniswap และ Chainlink
ตรวจสอบจุดสูง rETH
ในระหว่างช่วงการสังเกต rETH ปรับโครงสร้างราคาพยากรณ์เกิดขึ้นหลายครั้ง ซึ่งทำให้ความต่างระหว่างราคาพยากรณ์และการอ้างอิงราคาสดเพิ่มขึ้นอย่างมาก ด้านล่างเป็นแผนภูมิที่ละเอียดมากๆ ที่แสดงอัตราส่วนของพูลเงิน/ Likuiditas token ขณะที่ราคาพยากรณ์มีพฤติกรรมบางครั้งขณะที่ราคาเพิ่มขึ้น
start_block = 18824000
end_block = 18827000
interval_blocks = 100
อัตราส่วนของพูลขุด
Oracle price:
start_block = 18850000
end_block = 18858000
interval_blocks = 100
อัตราส่วนของพูลขุดเหมือง:
ราคา Oracle:
start_block = 18880000
end_block = 18885000
interval_blocks = 100
อัตราส่วนของพูลขุด
ราคา Oracle:
แผนภูมิอื่น ๆ cbETH
Chainlink และ Curve
Uniswap และ Curve
Uniswap และ Chainlink
ตรวจสอบจุดสูง cbETH
ในระหว่างช่วงเวลาที่สังเกต, ราคา Oracle Curve cbETH ได้สัมผัสยอดเยี่ยมหลายครั้ง มีคราวที่นี้ทำให้เกิดการกระโดดของราคาที่สำคัญระหว่างราคา Oracle และการอ้างอิงจุดอยู่ที่หนึ่ง ด้านล่างคือแผนภูมิที่ละเอียดมากๆ ที่แสดงพฤติกรรมของอัตราส่วนสระเงินสด/คงเหลือ token ขณะที่เกิดการกระโดดราคาในช่วงเวลาเหล่านี้ และพฤติกรรมของราคา Oracle
start_block = 18693500
end_block = 18696000
interval_blocks = 10
อัตราส่วนของสระว่ายน้ำ:
ราคา Oracle:
start_block = 18814000
end_block = 18816500
interval_blocks = 10
อัตราส่วนของพูลขุด
ราคา Oracle:
start_block = 18800000
end_block = 18805000
interval_blocks = 10
อัตราส่วนของพูลขุด
ราคา Oracle:
บทความนี้ถูกคัดลอกมาจาก [ marsbit] ในชื่อเรื่องต้นฉบับ “การวิเคราะห์เปรียบเทียบของ Prisma optional oracles”, ลิขสิทธิ์เป็นของผู้เขียนต้นฉบับ [PrismaRisk], หากคุณมีเหตุใดๆ ในการเผยแพร่อีกครั้ง โปรดติดต่อ Gate Learn Team, ทีมจะดำเนินการให้เร็วที่สุดตามขั้นตอนที่เกี่ยวข้อง
Disclaimer: มุมมองและความคิดเห็นที่แสดงในบทความนี้แทนเพียงความเห็นส่วนบุคคลของผู้เขียนเท่านั้น และไม่เป็นการให้คำแนะนำทางด้านการลงทุนใด ๆ
Other language versions of the article are translated by the Gate Learn team, not mentioned in Gate.io, บทความที่ถูกแปลอาจจะไม่นำเผยแพร่ กระจาย หรือลอกเลียน