BTC
ETH
HTX
SOL
BNB
ดูตลาด
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

ทำความเข้าใจ ERC-4626 ในบทความเดียว: มาตรฐานใหม่สำหรับ DeFi tokenized vault

深潮TechFlow
特邀专栏作者
2023-06-14 09:20
บทความนี้มีประมาณ 2936 คำ การอ่านทั้งหมดใช้เวลาประมาณ 5 นาที
ERC-4626 เป็นมาตรฐานที่ปรับปรุงตามพารามิเตอร์ทางเทคนิคของ Yield Vault โดยมี API มาตรฐานสำหรับ Yield Vault ที่เป
สรุปโดย AI
ขยาย
ERC-4626 เป็นมาตรฐานที่ปรับปรุงตามพารามิเตอร์ทางเทคนิคของ Yield Vault โดยมี API มาตรฐานสำหรับ Yield Vault ที่เป

การรวบรวมข้อความต้นฉบับ: Deep Tide TechFlow

การรวบรวมข้อความต้นฉบับ: Deep Tide TechFlow

TLDR: ERC-4626 เป็นมาตรฐานสำหรับโทเค็นห้องนิรภัย

ก่อนการเปิดตัว ERC-4626 แต่ละห้องนิรภัยจะมีข้อมูลจำเพาะและรายละเอียดการใช้งานของตัวเอง สิ่งนี้ทำให้การผสานรวมทำได้ยาก เกิดข้อผิดพลาดได้ง่าย และสิ้นเปลืองทรัพยากร

ชื่อระดับแรก

ERC-4626 คืออะไร?

ERC-4626 เป็นมาตรฐานที่ปรับปรุงพารามิเตอร์ทางเทคนิคของห้องเก็บผลผลิต มี API มาตรฐานสำหรับ Yield Vault ที่แสดงถึงการแชร์ของโทเค็น ERC-20 เดียว

ห้องนิรภัยแบบโทเค็นกลายเป็นรูปแบบที่พบเห็นได้ทั่วไปใน DeFi ผู้รวบรวมผลตอบแทน ตลาดให้กู้ยืม อนุพันธ์ที่เดิมพัน และ dApps อื่น ๆ อีกมากมายใช้ประโยชน์จากห้องนิรภัยโทเค็น ตัวอย่างของ tokenized vault ได้แก่ Yearn และ Balancer ในฐานะผู้รวบรวมผลตอบแทน Yearn Vault ช่วยให้ผู้ใช้สามารถฝากสินทรัพย์ดิจิทัลและรับผลตอบแทน Balancer เป็นผู้จัดการพอร์ตโฟลิโออัตโนมัติและผู้ให้บริการสภาพคล่องที่อาศัยห้องนิรภัยเป็นแกนหลักของตรรกะทางธุรกิจ ห้องนิรภัยเหล่านี้จัดการโทเค็นในพูลต่างๆ ในขณะเดียวกัน พวกเขาแยกการจัดการโทเค็นออกจากตรรกะของพูลเอง

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

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

ชื่อระดับแรก

ERC-4626 สามารถป้องกันปัญหาด้านความปลอดภัยใดได้บ้าง

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

ชื่อเรื่องรอง

งานรารี่ทุน

โทเค็นมูลค่าประมาณ 11 ล้านดอลลาร์ถูกขโมยจาก Rari Capital ซึ่งเทียบเท่ากับ 60% ของเงินผู้ใช้ทั้งหมดในกลุ่ม Ethereum ของ Rari Capital

โดยรวมแล้ว Rari Capital ถูกแฮ็กเนื่องจากการปรับใช้ข้ามโปรโตคอลที่ไม่ปลอดภัย กลุ่ม Ethereum นำ ETH เข้าสู่สัญญาโทเค็น ibETH ของ Alpha Finance เป็นกลยุทธ์การส่งออก กลยุทธ์เฉพาะนี้ติดตามมูลค่าของอัตราแลกเปลี่ยน ibETH/ETH ผ่านสัญญาและสูตรบางอย่าง (โดยเฉพาะ ฟังก์ชัน ibETH.totalETH / ibETH.totalSupply) ซึ่งอาจมีผลลัพธ์ที่ผิดพลาดในสถานการณ์การโจมตีนี้ เช่น เมื่อเรียก ibETH.work ( ) ฟังก์ชัน มูลค่าหนี้อาจสูงเกินจริง

ผู้โจมตีสามารถทำให้ Rari Fund Manager หมดได้โดยการเรียกใช้ฟังก์ชันฝากและถอนซ้ำๆ ในสัญญา RariFundManager ฟังก์ชันฝากและถอนจำเป็นต้องได้รับยอดคงเหลือของพูลเพื่อคำนวณจำนวนโทเค็น REPT ที่จะออกให้แก่ผู้โทร หรือจำนวน ETH ที่จะออกให้แก่ผู้เรียก การดำเนินการนี้จะเรียกฟังก์ชัน getBalance ของพูลอัลฟ่า เรียกสัญญา ibETH และฟังก์ชัน totalETH Rari ไม่ทราบถึงความเป็นไปได้ในการจัดการกับฟังก์ชันนี้

มีฟังก์ชั่นอื่นในสัญญา ibETH: ibETH.work ฟังก์ชันนี้สามารถเรียกใช้สัญญาใด ๆ ที่ผู้ใช้ระบุ สิ่งนี้ทำให้ฟังก์ชันการฝากและถอนของ Rari สามารถกลับเข้ามาใหม่และเรียกได้หลายครั้ง

ฟังก์ชันการทำงานเป็นฟังก์ชันที่ต้องชำระเงิน ซึ่งหมายความว่าผู้ใช้สามารถควบคุมจำนวน ETH ในสัญญา ibETH ผ่านฟังก์ชันการทำงานได้ ซึ่งจะเป็นการเปลี่ยนค่าที่ส่งคืนโดยฟังก์ชัน totalETH ยิ่งไปกว่านั้น ฟังก์ชันการทำงานยังรองรับการเรียกสัญญาอื่นๆ เช่น RariFundManager

ด้วยฟังก์ชันนี้ ผู้โจมตีสามารถส่ง ETH อีกครั้งและเพิ่มยอดรวม ETH ในสัญญา ibETH และในขณะเดียวกันก็โทรถอนในสัญญา RariFundManager เพื่อแลกสินทรัพย์มากขึ้น

ชื่อเรื่องรอง

งานการเงินครีม

Cream Finance ประสบกับการโจมตีที่ซับซ้อนซึ่งใช้ประโยชน์จากจุดอ่อนพื้นฐาน 2 ประการในแพลตฟอร์ม: ออราเคิลผสมที่ถูกควบคุมและการจัดหาโทเค็นที่ไม่ได้จำกัด ส่วนสำคัญของการโจมตีคือการจัดการผสม oracle ซึ่งส่งผลต่อการรับรู้มูลค่าของโทเค็น yUSD เมื่อผู้โจมตีส่งโทเค็น Yearn 4-Curve จำนวนมากไปยังห้องนิรภัย yUSD เขาเปลี่ยนอัตราแลกเปลี่ยนที่รายงานโดยห้องนิรภัย และดังนั้นจึงส่งผลกระทบต่อมูลค่าการรับรู้ของโทเค็น yUSD ไปยังออราเคิลด้วย

บทเรียนสำคัญที่นี่คือออราเคิลราคาที่แข็งแกร่งและควบคุมไม่ได้มีความสำคัญต่อความเสถียรของโปรโตคอล DeFi ออราเคิลราคาถัวเฉลี่ยถ่วงน้ำหนักตามเวลา (TWAP) สามารถช่วยป้องกันการแฮ็กดังกล่าวได้ เนื่องจากมีความยืดหยุ่นมากกว่าต่อการเปลี่ยนแปลงราคาอย่างกะทันหัน

ชื่อระดับแรก

ความเสี่ยงด้านความปลอดภัยที่อาจเกิดขึ้นใน ERC-4626

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

จัดการโทเค็นค่าธรรมเนียมการโอน

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

ใช้ตัวแปรทศนิยมอย่างเหมาะสม

แม้ว่าฟังก์ชัน converterTo ไม่จำเป็นต้องใช้ตัวแปรทศนิยมของห้องนิรภัย EIP-4626 แต่ก็ยังแนะนำอย่างยิ่งให้สะท้อนทศนิยมของโทเค็นพื้นฐานหากเป็นไปได้ แนวทางปฏิบัตินี้ช่วยขจัดแหล่งที่มาของความสับสนและทำให้การรวมระบบง่ายขึ้นสำหรับผู้ใช้ส่วนหน้าและผู้ใช้นอกเครือข่ายต่างๆ

การปัดเศษ

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

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

  • หากเป็นการคำนวณจำนวนหุ้นที่ผู้ใช้ต้องให้เพื่อให้ได้โทเค็นพื้นฐานจำนวนหนึ่ง หรือหากเป็นการคำนวณจำนวนโทเค็นพื้นฐานที่ผู้ใช้ต้องให้เพื่อให้ได้จำนวนหุ้นที่แน่นอน ควรปัดเศษขึ้น

โดยที่ทิศทางการปัดเศษที่ต้องการจะไม่ชัดเจนคือฟังก์ชัน converterTo เพื่อให้มั่นใจถึงความสอดคล้องในการใช้งานห้องนิรภัย EIP-4626 ทั้งหมด ให้ระบุว่าฟังก์ชันเหล่านี้ต้องปัดเศษลงเสมอ ผู้รวมระบบสามารถเลียนแบบเวอร์ชันการปัดเศษได้เอง เช่น โดยการเพิ่ม Wei ลงในผลลัพธ์

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

แทนที่การทำงานหลัก

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

ส่วนแบ่งเป็นศูนย์

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

ห้องนิรภัยเป็นออราเคิลราคา

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

ปัญหาการใช้งานเฉพาะ

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

การเข้าถึงโดยตรงของ EOA

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

ห้องนิรภัยแบบขยาย

เมื่อมีผู้เล่นจำนวนมากขึ้นเริ่มนำมาตรฐาน ERC-4626 มาใช้ เราจะเห็นส่วนขยายเพิ่มเติมสำหรับมาตรฐานนี้ ตัวอย่างเช่น Superform ได้พัฒนาส่วนขยาย Multi Vault รุ่นทดลองที่รองรับการใช้การคำนวณที่แตกต่างกันภายในสัญญา Vault เดียว ยิ่งมีการดำเนินการที่ผิดไปจากมาตรฐานเดิมมากเท่าใด ก็ยิ่งมีโอกาสเกิดช่องโหว่ใหม่มากขึ้นเท่านั้น นักพัฒนาและผู้ตรวจสอบสามารถค้นหาตัวเลือกที่ดีที่สุดตามกรณีการใช้งานเพื่อกำหนดมูลค่าจริงที่มีความเสี่ยง

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

เวกเตอร์การโจมตีที่อาจเกิดขึ้นที่กล่าวถึงข้างต้นเป็นประเด็นที่มีการกล่าวถึงมากขึ้นเกี่ยวกับมาตรฐาน ERC-4626 เมื่อการยอมรับเพิ่มขึ้น เราจะสำรวจกรณีการใช้งานการใช้งานเพิ่มเติม และสถานการณ์ที่เหมาะสมมากขึ้นสำหรับการรวมเข้ากับห้องนิรภัย ERC-4626


DeFi
ETH
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
ค้นหา
สารบัญบทความ
อันดับบทความร้อน
Daily
Weekly
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android