Hooks หรือโปรแกรมต่อข้อความ คือแบบจำลองการเขียนโปรแกรมที่อนุญาตให้นักพัฒนาสามารถแทรกโค้ดที่กำหนดเองเข้าไปในเส้นทางการดำเนินการของระบบ แอปพลิเคชั่น หรือไลบรารีผ่าน Hooks ซึ่งเป็นฟังก์ชันหรือบล็อกโค้ดที่กำหนดไว้ล่วงหน้า ไม่จำเป็นต้องแก้ไขโค้ดเดิม โปรแกรมต่อข้อความมักถูกใช้ในสภาพแวดล้อมและเฟรมเวิร์กต่าง ๆ อย่างเช่นระบบปฏิบัติการ เฟรมเวิร์ก และไลบรารีการพัฒนาเว็บและระบบปลั๊กอิน
โดยใช้ Hooks, นักพัฒนาสามารถเพิ่มประสิทธิภาพและความสามารถในการปรับแต่งของโปรแกรมโดยไม่จำเป็นต้องแก้ไขรหัสเดิมสำหรับทุกการเปลี่ยนแปลงหรือความต้องการในการขยาย ซึ่งช่วยให้รักษารหัสไว้สะอาดและเสถียร Hooks มีวิธีการนำมาใช้ที่สง่างามสำหรับการขยายซอฟต์แวร์และเป็นรูปแบบการเขียนโปรแกรมที่มีประโยชน์มากในการออกแบบซอฟต์แวร์
โดยเฉพาะอย่างยิ่ง AOP (Aspect-oriented Programming) ถูกเปรียบเทียบกับโปรแกรมมิ่งแบบ Hook บ่อยครั้ง AOP เป็นแบบแผนการเขียนโปรแกรมแบบโมดูลที่นำ cross-cutting concerns มาประยุกต์ และจุดมุ่งหมายคือไม่ใช่การเปลี่ยนแปลงเล็กน้อยในตรรกะธุรกิจหลัก มันเสริมหรือปรับเปลี่ยนฟังก์ชันที่จำเป็น ฉันจะไม่ขยาย AOP อย่างละเอียดที่นี่ คุณสามารถคิด AOP ในระดับการสร้างสรรค์ที่สูงกว่าโปรแกรมมิ่งแบบ HooK
ในเดือนมิถุนายน 2023 ยูนิสแวปประกาศและเปิดเผยร่างร่างงานเขียนขาวเวอร์ชัน 4 ของยูนิสแวป คุณสมบัติสำคัญของยูนิสแวปเวอร์ชัน 4 คือการนำเสนอของฮุค
Hooks ได้รับการใช้งานอย่างแพร่หลายในระบบการเงิน Web2 เนื่องจากระบบเหล่านี้มักต้องการการปรับแต่งและความยืดหยุ่นที่สูง สถานการณ์ที่ปรับแต่ง เช่น เมื่อประมวลผลธุรกรรม ใช้ Hooks เพื่อแทรกตรวจสอบเพิ่มเติมก่อนและหลังการดำเนินการธุรกรรม เช่น การตรวจสอบรองทุกระดับ การตรวจความเสี่ยง และกลยุทธ์ป้องกันการฟอกเงิน (AML) สถานการณ์ที่ยืดหยุ่นรวมถึงการรวมระบบกับ API ภายนอกหรือไมโครเซอร์วิสผ่าน Hooks เพื่อขยายฟังก์ชันใหม่ในระบบการเงิน เช่น บริการการรับรองตัวตน การแปลงอัตราแลกเปลี่ยน ประตูการชำระเงิน เป็นต้น แต่การนำเสนอ Hooks เข้าสู่ DeFi ทำให้ Uniswap ได้ตั้งตัวอย่าง
Uniswap V4 Hooks เป็นหลักการสำคัญที่เป็นส่วนตัวที่ถูกสร้างขึ้นและกำหนดโดยนักพัฒนา ขณะที่พูล Likuidity ถูกสร้างขึ้น คุณสามารถเลือกผูกสัญญา Hook ได้ ภายหลัง พูล Likuidity จะเรียกสัญญา Hook ที่ผูกมาก่อนหน้าเพื่อดำเนินการที่ระบุในขั้นตอนต่าง ๆ ของวงจรชีวิต เพื่อให้มีการปรับแต่งในระดับสูง นักพัฒนาสามารถใช้ Hooks ของ Uniswap เพื่อตอบสนองต่อสถานการณ์การซื้อขายที่มีลักษณะส่วนบุคคลมากขึ้นและสร้าง DApps ที่มีฟังก์ชันที่หลากหลาย เช่น:
ในปัจจุบัน Uniswap V4 รองรับกลุ่ม Hook callbacks สี่กลุ่ม แต่ละกลุ่มประกอบด้วยคู่ของ callbacks
แผนภาพต่อไปนี้แสดงกระบวนการก่อนและหลังจากสวอพฮุคตามที่นำเสนอในเอกสารขาว สามารถสังเกตเห็นได้ว่าก่อนและหลังการดำเนินการสวอพ มันจะตรวจสอบก่อนว่าธงที่สอดคล้องกับฮุคของพูลความสะดวกสบายถูกเปิดใช้งานหรือไม่ หากเปิดใช้งาน จะเรียกฟังก์ชันที่สอดคล้องกับสัญญาฮุค
เหล่าตะกั่วเหล่านี้สามารถดำเนินการก่อนที่การซื้อขายจะเริ่มต้นและหลังจากการซื้อขายจบ ทำให้สามารถใช้ฟังก์ชันที่คล้ายกับคำสั่งจำกัดบนเชนได้ ผู้ใช้วางคำสั่งจำกัดบนสัญญาตะกั่ว และจากนั้นใช้ออราเคิลที่กำหนดเองหรือที่จัดการในคอลแบ็ค afterSwap เพื่อกำหนดว่าราคาตรงตามขีดจำกัดหรือไม่ หากใช่ ธุรกรรมจะถูกดำเนิน หากไม่ใช่ ธุรกรรมจะถูกยกเลิก
Uniswap V4 เชื่อมโยง Likelihood อย่างลึกลับกับการพัฒนา DApp ผ่าน Hooks มันเสริมสร้างฟังก์ชันของ DApp และเพิ่มผลกระทบของเครือข่ายของ Uniswap ทำให้มันเป็นโครงสร้างพื้นฐานของระบบนิติบัญญัติทั้งหมด DeFi
ทีม BlockSec ได้สำรวจความเสี่ยงด้านความปลอดภัยของกลไก Hooks ใน Uniswap V4 นอกจากความจริงที่สัญญา Hook เองเป็นที่เจ็บช้ำที่ไม่ดี สัญญา Hook ที่ดีต่างหากยังมีโอกาสต่อการโจมตีได้ง่ายมาก ทีม BlockSec ได้วิเคราะห์เรื่อง Awesome Uniswap v4 Hooks repository (commit hash 3a0a444922f26605ec27a41929f3ced924af6075) และพบว่ามีโปรเจกต์ในรีพอสิทอรี่มากกว่า 30% ที่มีช่องโหว่ ช่องโหว่เหล่านี้มาจากการโต้ตอบความเสี่ยงระหว่าง Hook PoolManager และบุคคลภายนอก และสามารถแบ่งเป็นสองหมวดหลักได้
แม้จะมีการควบคุมการเข้าถึงที่จำเป็นสำหรับฟังก์ชันภายนอก/สาธารณะที่มีความสำคัญที่นำมาใช้ได้อย่างถูกต้องและพารามิเตอร์ของข้อมูลถูกตรวจสอบเพื่อลดความเสี่ยงด้านความปลอดภัยที่เกี่ยวข้องกับสองประเภทของ Hooks ด้านบน โทรมนั้นยังไม่สามารถหลีกเลี่ยงช่องโหว่ในสัญญาได้อย่างสมบูรณ์ โดยเฉพาะถ้า Hook เป็นที่สามารถอัพเกรดได้ หากสัญญาได้รับการนำมาใช้ คุณอาจพบปัญหาที่เกี่ยวข้องที่คล้ายกับช่องโหว่ UUPSUpgradeable ของ OpenZeppelin
เหตุผลอยู่ในความจริงที่ว่าการเขียนโปรแกรม Hook เพิ่มความซับซ้อนของสัญญาอัจฉริยะจึงขยายพื้นผิวการโจมตี สําหรับสัญญาอัจฉริยะทั่วไป OpenZeppelin มีชุดไลบรารีแนวทางปฏิบัติที่ดีที่สุดเพื่อให้แน่ใจว่าสัญญาที่พัฒนาขึ้นตามนั้นปลอดภัย อย่างไรก็ตามโดยพื้นฐานแล้วจะเพิ่ม "ข้อ จํากัด การใช้งานด้านความปลอดภัย" สําหรับนักพัฒนา ในการเปรียบเทียบสัญญา Hook ต้องการ "ข้อ จํากัด การใช้งานด้านความปลอดภัย" ที่เข้มงวดกว่าสัญญาปกติ ดังนั้นเพื่อให้การเขียนโปรแกรม Hook ถูกนําไปใช้อย่างกว้างขวางจําเป็นต้องมีกรอบการทํางานที่ครอบคลุม: ต้องใช้สภาพแวดล้อมการดําเนินการที่ปลอดภัยกระบวนทัศน์การเขียนโปรแกรมที่ใช้บังคับสําหรับ Hooks และข้อ จํากัด การใช้งานที่เข้มงวดขึ้น
Uniswap V4 Hooks ถูกนำมาใช้งานผ่านสมาร์ทคอนแทรค และปัญหาด้านความปลอดภัยของมันก็เกิดจากข้อจำกัดของสมาร์ทคอนแทรคด้วย มีทางแก้ไขใดที่รองรับการเขียนโปรแกรม Hook จากระดับโปรโตคอลได้ไหม? Artela Aspect ให้เราคำตอบ!
Artela เป็นเครือข่ายบล็อกเชนชั้นที่ 1 ที่มีการเติบโตได้สูงและประสิทธิภาพสูง พร้อมทัดเป็น EVM-compatible ที่ออกแบบมาสำหรับนักพัฒนาเพื่อสร้างแอปพลิเคชันที่สามารถขยายหรือปรับแต่งได้แบบโมดูลาร์ ที่ Rich และ Scalable ซึ่งกำหนดโดย Artela โดยมีการกำหนดโมดูลที่สามารถโปรแกรมได้ใหม่เรียกว่า Aspect โดยที่นำ AOP เข้ามาในเครือข่ายบล็อกเชนอย่างนวัตกรรม Aspect ต้องระบุจุดเชื่อมต่อซี่คือ ตำแหน่งที่ Aspect ถูกดำเนินการในรอบชีวิตการประมวลผลธรรมของธุรกรรมทั้งหมด คล้ายกับ Hook's callback จุดเชื่อมต่อรวมถึง:
Aspect ในปัจจุบันรองรับเฉพาะ TypeScript เท่านั้น โดยโค้ดของมันถูกคอมไพล์เป็นไบต์โค้ด WebAssembly (WASM) และนำไปใช้งานบนเครือข่าย Artela หลังจากการใช้งาน Aspect ผู้ถือสมาร์ทคอนแทรคสามารถผูกสัญญาของตนกับ Aspect ผู้ถือสมาร์ทคอนแทรคถูกกำหนดให้เป็นที่อยู่ของบัญชีภายนอก (EOA) ที่สามารถผ่านการตรวจสอบ isOwner(address) และส่งคืน (bool) ในสมาร์ทคอนแทรค
ต่อจากนี้ ธุรกรรมต่อไปที่เรียกใช้สมาร์ทคอนแทรคจะถูกจัดการโดย Aspect ตามที่แสดงในแผนภูมิด้านล่าง:
เป็นการประมวลผลขั้นโปรโตคอลระดับ Hooks Artela Aspects มีข้อได้เปรียบที่ดีมากกว่า Uniswap V4 Hooks:
Artela Aspects ใช้ WASM เพื่อดำเนินการรหัสของมัน และประสิทธิภาพในการดำเนินการสูงกว่า EVM หลายอันดับ
อย่างที่สอง Artela Aspects สามารถเชื่อมต่อช่วงชีวิตของธุรกรรมทั้งหมด ไม่ใช่เพียงตรรกะหลักของ DeFi เท่านั้น และสามารถสร้าง DApps ที่มีฟังก์ชันที่หลากหลาย
สุดท้ายและสำคัญที่สุด Artela Aspects ทำงานอย่างอิสระในสภาพแวดล้อมทรอยสุดปลอดภัย การแยกจากกันนี้ช่วยให้การดำเนินการของ Aspects จะไม่ส่งผลต่อความปลอดภัยของการดำเนินการสัญญา
การเลิกจำกัดของด้าน Artela จำกัดการเรียกกันระหว่างสัญญาตามปกติและสัญญาภายนอกอื่น ๆ แก้ไขปัญหาที่ยากลำบากของการควบคุมการเข้าถึงและการตรวจสอบข้อมูลของ Uniswap V4 Hooks สำหรับสัญญา DeFi เช่น Uniswap คุณสามารถเพลิดเพลินประสบการณ์ Hook ที่เร็วแรงและปลอดภัยโดยการติดตั้งลง Artela
ในฐานะผู้มีส่วนร่วมที่สำคัญและผู้นำในอุตสาหกรรม DeFi ยูนิสแวปได้มีบทบาทสำคัญในการขับเคลื่อนความก้าวหน้าของอุตสาหกรรมและเสริมสร้างความสามารถ การนำเสนอของ Hooks ในยูนิสแวป V4 ถือว่าเป็นทิศทางสำหรับการพัฒนา DEX และได้รับการจำลองอย่างกระตือรือร้นโดยผู้ต่อไป
อย่างไรก็ตาม Uniswap V4 Hooks ถูก จำกัด โดย ข้อ จำกัด ที่ แตกต่าง ของ สัญญา ฉลอง โดยไม่ คำนึงถึง ว่า การออกแบบ โปรโตคอล มีความแข็งแรง แค่ไหน และ ชุดเครื่องมือ ครอบคลุม มากแค่ไหน มัน ไม่สามารถ ป้องกัน อย่าง พื้นฐาน การเรียกใช้ ร่วมกัน ระหว่าง สัญญา ฉลอง และ สัญญา ภายนอก ที่ นำเสนอ ภัยคุกคาม ใน ทาง ปลอดภัย ได้
Artela, ในฐานะเครือข่ายบล็อกเชนชั้นที่ 1 ที่เข้ากันได้กับ EVM ที่มีประสิทธิภาพสูง ออกแบบ Aspect เพื่อทำงานอิสระใน WASM ตั้งแต่เกิดขึ้นของโปรโตคอล รองรับการเขียนโปรแกรม Hook อย่างเป็นธรรมชาติ ซึ่งเสริมความปลอดภัยอย่างมาก ให้การแก้ปัญหาขั้นสูงสำหรับโปรโตคอล DeFi ที่พิจารณาความปลอดภัยเป็นสำคัญ
บทความนี้ชื่อเริ่มต้นเดิมว่า “Evolution of DeFi Hooks: From Uniswap V4 Contract Security to Artela Native Protocol” ถูกทำซ้ำมาจาก [ 小猪Web3]. ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [web3 จู่]. If you have any objection to the reprint, please contact the Gate Learnทีม ทีมจะดำเนินการเร็วที่สุด
คำประกาศ: มุมมองและความคิดเห็นที่แสดงในบทความนี้แทนเพียงความคิดเห็นส่วนตัวของผู้เขียนเท่านั้น และไม่เป็นการให้คำแนะนำทางด้านการลงทุนใด ๆ
การแปลบทความเป็นภาษาอื่นๆ ถูกดำเนินการโดยทีม Gate Learn นอกจากที่กล่าวถึงไว้แล้ว การคัดลอก การกระจาย หรือการลอกเลียนแบบบทความที่ถูกแปลนั้นถูกห้าม
Hooks หรือโปรแกรมต่อข้อความ คือแบบจำลองการเขียนโปรแกรมที่อนุญาตให้นักพัฒนาสามารถแทรกโค้ดที่กำหนดเองเข้าไปในเส้นทางการดำเนินการของระบบ แอปพลิเคชั่น หรือไลบรารีผ่าน Hooks ซึ่งเป็นฟังก์ชันหรือบล็อกโค้ดที่กำหนดไว้ล่วงหน้า ไม่จำเป็นต้องแก้ไขโค้ดเดิม โปรแกรมต่อข้อความมักถูกใช้ในสภาพแวดล้อมและเฟรมเวิร์กต่าง ๆ อย่างเช่นระบบปฏิบัติการ เฟรมเวิร์ก และไลบรารีการพัฒนาเว็บและระบบปลั๊กอิน
โดยใช้ Hooks, นักพัฒนาสามารถเพิ่มประสิทธิภาพและความสามารถในการปรับแต่งของโปรแกรมโดยไม่จำเป็นต้องแก้ไขรหัสเดิมสำหรับทุกการเปลี่ยนแปลงหรือความต้องการในการขยาย ซึ่งช่วยให้รักษารหัสไว้สะอาดและเสถียร Hooks มีวิธีการนำมาใช้ที่สง่างามสำหรับการขยายซอฟต์แวร์และเป็นรูปแบบการเขียนโปรแกรมที่มีประโยชน์มากในการออกแบบซอฟต์แวร์
โดยเฉพาะอย่างยิ่ง AOP (Aspect-oriented Programming) ถูกเปรียบเทียบกับโปรแกรมมิ่งแบบ Hook บ่อยครั้ง AOP เป็นแบบแผนการเขียนโปรแกรมแบบโมดูลที่นำ cross-cutting concerns มาประยุกต์ และจุดมุ่งหมายคือไม่ใช่การเปลี่ยนแปลงเล็กน้อยในตรรกะธุรกิจหลัก มันเสริมหรือปรับเปลี่ยนฟังก์ชันที่จำเป็น ฉันจะไม่ขยาย AOP อย่างละเอียดที่นี่ คุณสามารถคิด AOP ในระดับการสร้างสรรค์ที่สูงกว่าโปรแกรมมิ่งแบบ HooK
ในเดือนมิถุนายน 2023 ยูนิสแวปประกาศและเปิดเผยร่างร่างงานเขียนขาวเวอร์ชัน 4 ของยูนิสแวป คุณสมบัติสำคัญของยูนิสแวปเวอร์ชัน 4 คือการนำเสนอของฮุค
Hooks ได้รับการใช้งานอย่างแพร่หลายในระบบการเงิน Web2 เนื่องจากระบบเหล่านี้มักต้องการการปรับแต่งและความยืดหยุ่นที่สูง สถานการณ์ที่ปรับแต่ง เช่น เมื่อประมวลผลธุรกรรม ใช้ Hooks เพื่อแทรกตรวจสอบเพิ่มเติมก่อนและหลังการดำเนินการธุรกรรม เช่น การตรวจสอบรองทุกระดับ การตรวจความเสี่ยง และกลยุทธ์ป้องกันการฟอกเงิน (AML) สถานการณ์ที่ยืดหยุ่นรวมถึงการรวมระบบกับ API ภายนอกหรือไมโครเซอร์วิสผ่าน Hooks เพื่อขยายฟังก์ชันใหม่ในระบบการเงิน เช่น บริการการรับรองตัวตน การแปลงอัตราแลกเปลี่ยน ประตูการชำระเงิน เป็นต้น แต่การนำเสนอ Hooks เข้าสู่ DeFi ทำให้ Uniswap ได้ตั้งตัวอย่าง
Uniswap V4 Hooks เป็นหลักการสำคัญที่เป็นส่วนตัวที่ถูกสร้างขึ้นและกำหนดโดยนักพัฒนา ขณะที่พูล Likuidity ถูกสร้างขึ้น คุณสามารถเลือกผูกสัญญา Hook ได้ ภายหลัง พูล Likuidity จะเรียกสัญญา Hook ที่ผูกมาก่อนหน้าเพื่อดำเนินการที่ระบุในขั้นตอนต่าง ๆ ของวงจรชีวิต เพื่อให้มีการปรับแต่งในระดับสูง นักพัฒนาสามารถใช้ Hooks ของ Uniswap เพื่อตอบสนองต่อสถานการณ์การซื้อขายที่มีลักษณะส่วนบุคคลมากขึ้นและสร้าง DApps ที่มีฟังก์ชันที่หลากหลาย เช่น:
ในปัจจุบัน Uniswap V4 รองรับกลุ่ม Hook callbacks สี่กลุ่ม แต่ละกลุ่มประกอบด้วยคู่ของ callbacks
แผนภาพต่อไปนี้แสดงกระบวนการก่อนและหลังจากสวอพฮุคตามที่นำเสนอในเอกสารขาว สามารถสังเกตเห็นได้ว่าก่อนและหลังการดำเนินการสวอพ มันจะตรวจสอบก่อนว่าธงที่สอดคล้องกับฮุคของพูลความสะดวกสบายถูกเปิดใช้งานหรือไม่ หากเปิดใช้งาน จะเรียกฟังก์ชันที่สอดคล้องกับสัญญาฮุค
เหล่าตะกั่วเหล่านี้สามารถดำเนินการก่อนที่การซื้อขายจะเริ่มต้นและหลังจากการซื้อขายจบ ทำให้สามารถใช้ฟังก์ชันที่คล้ายกับคำสั่งจำกัดบนเชนได้ ผู้ใช้วางคำสั่งจำกัดบนสัญญาตะกั่ว และจากนั้นใช้ออราเคิลที่กำหนดเองหรือที่จัดการในคอลแบ็ค afterSwap เพื่อกำหนดว่าราคาตรงตามขีดจำกัดหรือไม่ หากใช่ ธุรกรรมจะถูกดำเนิน หากไม่ใช่ ธุรกรรมจะถูกยกเลิก
Uniswap V4 เชื่อมโยง Likelihood อย่างลึกลับกับการพัฒนา DApp ผ่าน Hooks มันเสริมสร้างฟังก์ชันของ DApp และเพิ่มผลกระทบของเครือข่ายของ Uniswap ทำให้มันเป็นโครงสร้างพื้นฐานของระบบนิติบัญญัติทั้งหมด DeFi
ทีม BlockSec ได้สำรวจความเสี่ยงด้านความปลอดภัยของกลไก Hooks ใน Uniswap V4 นอกจากความจริงที่สัญญา Hook เองเป็นที่เจ็บช้ำที่ไม่ดี สัญญา Hook ที่ดีต่างหากยังมีโอกาสต่อการโจมตีได้ง่ายมาก ทีม BlockSec ได้วิเคราะห์เรื่อง Awesome Uniswap v4 Hooks repository (commit hash 3a0a444922f26605ec27a41929f3ced924af6075) และพบว่ามีโปรเจกต์ในรีพอสิทอรี่มากกว่า 30% ที่มีช่องโหว่ ช่องโหว่เหล่านี้มาจากการโต้ตอบความเสี่ยงระหว่าง Hook PoolManager และบุคคลภายนอก และสามารถแบ่งเป็นสองหมวดหลักได้
แม้จะมีการควบคุมการเข้าถึงที่จำเป็นสำหรับฟังก์ชันภายนอก/สาธารณะที่มีความสำคัญที่นำมาใช้ได้อย่างถูกต้องและพารามิเตอร์ของข้อมูลถูกตรวจสอบเพื่อลดความเสี่ยงด้านความปลอดภัยที่เกี่ยวข้องกับสองประเภทของ Hooks ด้านบน โทรมนั้นยังไม่สามารถหลีกเลี่ยงช่องโหว่ในสัญญาได้อย่างสมบูรณ์ โดยเฉพาะถ้า Hook เป็นที่สามารถอัพเกรดได้ หากสัญญาได้รับการนำมาใช้ คุณอาจพบปัญหาที่เกี่ยวข้องที่คล้ายกับช่องโหว่ UUPSUpgradeable ของ OpenZeppelin
เหตุผลอยู่ในความจริงที่ว่าการเขียนโปรแกรม Hook เพิ่มความซับซ้อนของสัญญาอัจฉริยะจึงขยายพื้นผิวการโจมตี สําหรับสัญญาอัจฉริยะทั่วไป OpenZeppelin มีชุดไลบรารีแนวทางปฏิบัติที่ดีที่สุดเพื่อให้แน่ใจว่าสัญญาที่พัฒนาขึ้นตามนั้นปลอดภัย อย่างไรก็ตามโดยพื้นฐานแล้วจะเพิ่ม "ข้อ จํากัด การใช้งานด้านความปลอดภัย" สําหรับนักพัฒนา ในการเปรียบเทียบสัญญา Hook ต้องการ "ข้อ จํากัด การใช้งานด้านความปลอดภัย" ที่เข้มงวดกว่าสัญญาปกติ ดังนั้นเพื่อให้การเขียนโปรแกรม Hook ถูกนําไปใช้อย่างกว้างขวางจําเป็นต้องมีกรอบการทํางานที่ครอบคลุม: ต้องใช้สภาพแวดล้อมการดําเนินการที่ปลอดภัยกระบวนทัศน์การเขียนโปรแกรมที่ใช้บังคับสําหรับ Hooks และข้อ จํากัด การใช้งานที่เข้มงวดขึ้น
Uniswap V4 Hooks ถูกนำมาใช้งานผ่านสมาร์ทคอนแทรค และปัญหาด้านความปลอดภัยของมันก็เกิดจากข้อจำกัดของสมาร์ทคอนแทรคด้วย มีทางแก้ไขใดที่รองรับการเขียนโปรแกรม Hook จากระดับโปรโตคอลได้ไหม? Artela Aspect ให้เราคำตอบ!
Artela เป็นเครือข่ายบล็อกเชนชั้นที่ 1 ที่มีการเติบโตได้สูงและประสิทธิภาพสูง พร้อมทัดเป็น EVM-compatible ที่ออกแบบมาสำหรับนักพัฒนาเพื่อสร้างแอปพลิเคชันที่สามารถขยายหรือปรับแต่งได้แบบโมดูลาร์ ที่ Rich และ Scalable ซึ่งกำหนดโดย Artela โดยมีการกำหนดโมดูลที่สามารถโปรแกรมได้ใหม่เรียกว่า Aspect โดยที่นำ AOP เข้ามาในเครือข่ายบล็อกเชนอย่างนวัตกรรม Aspect ต้องระบุจุดเชื่อมต่อซี่คือ ตำแหน่งที่ Aspect ถูกดำเนินการในรอบชีวิตการประมวลผลธรรมของธุรกรรมทั้งหมด คล้ายกับ Hook's callback จุดเชื่อมต่อรวมถึง:
Aspect ในปัจจุบันรองรับเฉพาะ TypeScript เท่านั้น โดยโค้ดของมันถูกคอมไพล์เป็นไบต์โค้ด WebAssembly (WASM) และนำไปใช้งานบนเครือข่าย Artela หลังจากการใช้งาน Aspect ผู้ถือสมาร์ทคอนแทรคสามารถผูกสัญญาของตนกับ Aspect ผู้ถือสมาร์ทคอนแทรคถูกกำหนดให้เป็นที่อยู่ของบัญชีภายนอก (EOA) ที่สามารถผ่านการตรวจสอบ isOwner(address) และส่งคืน (bool) ในสมาร์ทคอนแทรค
ต่อจากนี้ ธุรกรรมต่อไปที่เรียกใช้สมาร์ทคอนแทรคจะถูกจัดการโดย Aspect ตามที่แสดงในแผนภูมิด้านล่าง:
เป็นการประมวลผลขั้นโปรโตคอลระดับ Hooks Artela Aspects มีข้อได้เปรียบที่ดีมากกว่า Uniswap V4 Hooks:
Artela Aspects ใช้ WASM เพื่อดำเนินการรหัสของมัน และประสิทธิภาพในการดำเนินการสูงกว่า EVM หลายอันดับ
อย่างที่สอง Artela Aspects สามารถเชื่อมต่อช่วงชีวิตของธุรกรรมทั้งหมด ไม่ใช่เพียงตรรกะหลักของ DeFi เท่านั้น และสามารถสร้าง DApps ที่มีฟังก์ชันที่หลากหลาย
สุดท้ายและสำคัญที่สุด Artela Aspects ทำงานอย่างอิสระในสภาพแวดล้อมทรอยสุดปลอดภัย การแยกจากกันนี้ช่วยให้การดำเนินการของ Aspects จะไม่ส่งผลต่อความปลอดภัยของการดำเนินการสัญญา
การเลิกจำกัดของด้าน Artela จำกัดการเรียกกันระหว่างสัญญาตามปกติและสัญญาภายนอกอื่น ๆ แก้ไขปัญหาที่ยากลำบากของการควบคุมการเข้าถึงและการตรวจสอบข้อมูลของ Uniswap V4 Hooks สำหรับสัญญา DeFi เช่น Uniswap คุณสามารถเพลิดเพลินประสบการณ์ Hook ที่เร็วแรงและปลอดภัยโดยการติดตั้งลง Artela
ในฐานะผู้มีส่วนร่วมที่สำคัญและผู้นำในอุตสาหกรรม DeFi ยูนิสแวปได้มีบทบาทสำคัญในการขับเคลื่อนความก้าวหน้าของอุตสาหกรรมและเสริมสร้างความสามารถ การนำเสนอของ Hooks ในยูนิสแวป V4 ถือว่าเป็นทิศทางสำหรับการพัฒนา DEX และได้รับการจำลองอย่างกระตือรือร้นโดยผู้ต่อไป
อย่างไรก็ตาม Uniswap V4 Hooks ถูก จำกัด โดย ข้อ จำกัด ที่ แตกต่าง ของ สัญญา ฉลอง โดยไม่ คำนึงถึง ว่า การออกแบบ โปรโตคอล มีความแข็งแรง แค่ไหน และ ชุดเครื่องมือ ครอบคลุม มากแค่ไหน มัน ไม่สามารถ ป้องกัน อย่าง พื้นฐาน การเรียกใช้ ร่วมกัน ระหว่าง สัญญา ฉลอง และ สัญญา ภายนอก ที่ นำเสนอ ภัยคุกคาม ใน ทาง ปลอดภัย ได้
Artela, ในฐานะเครือข่ายบล็อกเชนชั้นที่ 1 ที่เข้ากันได้กับ EVM ที่มีประสิทธิภาพสูง ออกแบบ Aspect เพื่อทำงานอิสระใน WASM ตั้งแต่เกิดขึ้นของโปรโตคอล รองรับการเขียนโปรแกรม Hook อย่างเป็นธรรมชาติ ซึ่งเสริมความปลอดภัยอย่างมาก ให้การแก้ปัญหาขั้นสูงสำหรับโปรโตคอล DeFi ที่พิจารณาความปลอดภัยเป็นสำคัญ
บทความนี้ชื่อเริ่มต้นเดิมว่า “Evolution of DeFi Hooks: From Uniswap V4 Contract Security to Artela Native Protocol” ถูกทำซ้ำมาจาก [ 小猪Web3]. ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [web3 จู่]. If you have any objection to the reprint, please contact the Gate Learnทีม ทีมจะดำเนินการเร็วที่สุด
คำประกาศ: มุมมองและความคิดเห็นที่แสดงในบทความนี้แทนเพียงความคิดเห็นส่วนตัวของผู้เขียนเท่านั้น และไม่เป็นการให้คำแนะนำทางด้านการลงทุนใด ๆ
การแปลบทความเป็นภาษาอื่นๆ ถูกดำเนินการโดยทีม Gate Learn นอกจากที่กล่าวถึงไว้แล้ว การคัดลอก การกระจาย หรือการลอกเลียนแบบบทความที่ถูกแปลนั้นถูกห้าม