الخطافات، أو برمجة الخطافات، هو نموذج برمجي يسمح للمطورين بإدراج كود مخصص في مسار التنفيذ لنظام أو تطبيق أو مكتبة من خلال الخطافات، والتي تعتبر وظائف محددة مسبقًا أو كتل كود. ليس هناك حاجة لتعديل الكود الأصلي. تُستخدم الخطافات في كثير من البيئات والأطر البرمجية، مثل أنظمة التشغيل والأطر والمكتبات، تطوير الويب، وأنظمة الإضافات.
باستخدام الخطافات، يمكن للمطورين زيادة قابلية التوسع والتخصيص للبرنامج دون الحاجة إلى تعديل الشيفرة الأصلية لكل تغيير أو متطلبات التوسع، مما يساعد في الحفاظ على نظافة الشيفرة واستقرارها. توفر الخطافات طريقة تنفيذ أنيقة لتمديد البرمجيات وهي نموذج برمجة مفيد جدًا في تصميم البرمجيات.
على وجه الخصوص، يتم مقارنة AOP (برمجة التوجيه الجانبي) كثيرًا مع برمجة الخطاف. AOP هو نمط برمجة موديولار ينفذ الاهتمامات العابرة، والهدف ليس تغيير المنطق التجاري الرئيسي. إنه يعزز أو يعدل الوظائف إذا لزم الأمر. لن أوسع في شرح AOP بالتفصيل هنا. يمكنك ببساطة أن تعتبر AOP تجريديًا على مستوى أعلى من برمجة الخطاف.
في يونيو 2023، أعلنت يونيسواب وأصدرت نسخة مسودة من ورقة البيضاء ليونسواب V4. ميزة مهمة في يونسواب V4 هي إدخال الخطافات.
استخدمت الخطافات على نطاق واسع في أنظمة الأمان 2 الخاصة بالنظام المالي، لأن هذه الأنظمة عادة ما تتطلب درجة عالية من التخصيص والتوسع. تشمل السيناريوهات المخصصة، مثل عند معالجة المعاملات، استخدام الخطافات لإدراج منطق التحقق الإضافي قبل وبعد تنفيذ المعاملة، مثل التحقق الثانوي، وكشف مراقبة المخاطر، واستراتيجيات مكافحة غسيل الأموال (AML). تشمل السيناريوهات التوسعية دمج مع واجهات برمجة التطبيقات الخارجية أو الخدمات الصغيرة عبر الخطافات لتوسيع وظائف جديدة في النظام المالي، مثل خدمات المصادقة الهوية، وتحويل سعر الصرف، وبوابات الدفع، إلخ. ولكن من خلال إدخال الخطافات في DeFi، فقد وضعت Uniswap سابقة.
تُعد خطافات Uniswap V4 في الأساس عقدًا خارجيًا يتم إنشاؤه وتعريفه من قبل المطورين. عند إنشاء بركة سيولة، يمكنك اختيار ربط عقد Hook. بعد ذلك، ستقوم بركة السيولة باستدعاء عقد Hook المربوط مسبقًا لأداء العمليات المحددة في مراحل مختلفة من دورة الحياة، مما يوفر درجة عالية من التخصيص. يمكن للمطورين استخدام خطافات Uniswap لتلبية سيناريوهات التداول الشخصية أكثر وبناء تطبيقات قائمة على الحاجات الخاصة بوظائف أكثر غنى، مثل:
حاليًا، يدعم Uniswap V4 أربع مجموعات من استدعاءات الخطاف، كل مجموعة تحتوي على زوج من استدعاءات:
توضح الرسم البياني التالي عملية خطاف beforeSwap/afterSwap كما هو مقدم في الورقة البيضاء. يمكن ملاحظة أنه قبل وبعد تنفيذ التبادل، يتحقق أولاً ما إذا كانت العلامة المقابلة لخطاف بركة السيولة مفعلة. إذا تم تمكينها، سيتم بعد ذلك استدعاء وظائف الخطاف المقابلة لعقد الخطاف.
يمكن تنفيذ هذه الخطافات قبل بدء التداول وبعد انتهاء التداول، مما يتيح وظيفة مشابهة لأوامر الحد على السلسلة الرئيسية. يضع المستخدم أمر حد على عقد الخطاف، ثم يستخدم مخطافًا مخصصًا أو مُدارًا في وظيفة الاستدعاء بعد عملية التبادل لتحديد ما إذا كان السعر يفي بالحد. إذا كان الأمر كذلك، سيتم تنفيذ المعاملة. إذا لم يكن كذلك، ستلغى المعاملة.
يقوم Uniswap V4 بربط السيولة بشكل عميق بتطوير DApp نفسه من خلال Hooks. يعزز وظائف DApp ويعزز أيضًا تأثير الشبكة لـ Uniswap، مما يجعله البنية التحتية الأساسية لجميع النظام البيئي DeFi.
فريق BlockSec استكشف مخاطر الأمان لآلية Hooks في Uniswap V4. بالإضافة إلى حقيقة أن عقد الـ Hook نفسه شرير، فإن عقود الـ Hook الطيبة أيضًا عرضة للفشل بشكل شديد. قام فريق BlockSec بتحليل مستودع Awesome Uniswap v4 Hooks (تحقق تجزئة 3a0a444922f26605ec27a41929f3ced924af6075) ووجد أن أكثر من 30% من المشاريع في المستودع كانت عرضة للفشل. تنبع هذه الثغرات أساسًا من تفاعلات المخاطر بين Hook و PoolManager وأطراف ثالثة خارجية، ويمكن تقسيمها أساسًا إلى فئتين رئيسيتين.
حتى إذا تم تنفيذ التحكم في الوصول الضروري إلى الوظائف الخارجية/العامة الحساسة بشكل صحيح وتم التحقق من معلمات الإدخال لتقليل المخاطر الأمنية المتعلقة بالنوعين المذكورين أعلاه من الهوكس، فإن ثغرة العقد نفسها لا يمكن تجنبها تمامًا، خاصة إذا كان الهوك قابلاً للترقية. إذا تم تنفيذ العقد، فقد تواجه أيضًا مشاكل ذات صلة مماثلة لثغرة UUPSUpgradeable التابعة لـ OpenZeppelin.
يكمن السبب في حقيقة أن برمجة Hook تزيد من تعقيد العقود الذكية ، وبالتالي توسيع سطح الهجوم. بالنسبة للعقود الذكية العادية ، يوفر OpenZeppelin سلسلة من مكتبات أفضل الممارسات لضمان أن العقود التي تم تطويرها بناء عليها آمنة. ومع ذلك ، فإنه يضيف بشكل أساسي "قيود استخدام الأمان" للمطورين. وبالمقارنة ، تتطلب عقود هوك "قيود استخدام أمنية" أكثر صرامة من العقود العادية. لذلك ، لكي يتم تطبيق برمجة Hook على نطاق واسع ، هناك حاجة إلى إطار عمل شامل: فهو يتطلب بيئة تنفيذ آمنة ، ونماذج برمجة قابلة للتطبيق ل Hooks ، وقيود استخدام أكثر صرامة.
تم تنفيذ خطافات Uniswap V4 من خلال العقود الذكية، ويتسبب قضاها الأمنية أيضًا في القيود الخاصة بالعقود الذكية. هل هناك حلاً يدعم برمجة الخطاف من مستوى البروتوكول؟ تعطينا Artela Aspect الإجابة!
أرتيلا هي شبكة بلوكشين من الطبقة 1 قابلة للتوسيع بشكل كبير وعالية الأداء متوافقة مع EVM مصممة للمطورين لبناء تطبيقات قابلة للتوسيع وقابلة للتخصيص والغنية بالميزات والقابلة للتوسيع. تحدد أرتيلا وحدة برمجية جديدة يمكن توسيعها باسم Aspect كامدة أصلية، والتي تقدم بشكل مبتكر AOP إلى شبكة البلوكشين. يحتاج Aspect إلى تحديد نقطة اتصال، أي الموقع الذي يتم تنفيذ Aspect فيه خلال دورة حياة معالجة المعاملة بأكملها. على غرار استدعاء هوك، تشمل نقاط الاتصال:
يدعم Aspect حاليًا TypeScript فقط، ويتم تجميع كوده إلى بايت كود WebAssembly (WASM) ونشره على شبكة Artela. بعد نشر Aspect، يمكن لمالكي العقود الذكية ربط عقودهم مع Aspect. يُعرف مالك العقد الذكي بعنوان الحساب الخارجي (EOA) الذي يمكنه تمرير الفحص isOwner(address) يعيد (bool) في العقد الذكي.
فيما بعد، ستتم معالجة المعاملات اللاحقة التي تستدعي العقد الذكي بواسطة Aspect، كما هو موضح في الرسم البياني أدناه:
كتنفيذ أدوات Hooks على مستوى البروتوكول، تتمتع Artela Aspects بمزايا كبيرة على Hooks Uniswap V4:
أولاً، تستخدم Artela Aspects WASM لتنفيذ كودها، وكفاءة التنفيذ أعلى بعدة طلبات من الحجم من EVM؛
ثانياً، يمكن لـ Artela Aspects ربط دورة حياة الصفقة بأكملها، وليس فقط منطق DeFi الأساسي، ويمكن بناء تطبيقات DApps بوظائف أكثر غنى؛
والأهم من ذلك، تعمل جوانب Artela بشكل مستقل في بيئة رملية آمنة. تضمن هذا العزل أن تنفيذ الجوانب لن يؤثر على أمان تنفيذ العقد.
يقيد عزل جوانب Artela المكالمات المتبادلة بين عقد الخطاف كعقد عادي وعقود خارجية أخرى، مما يحل مشكلة الوصول والتحقق من الإدخال لخطاف Uniswap V4. بالنسبة لعقود DeFi مثل Uniswap، يمكنك الاستمتاع بتجربة خطاف أسرع وأقوى وأكثر أمانًا من خلال نشره على Artela.
كمشارك مهم وقائد في صناعة DeFi، لعبت يونيسواب دوراً حاسماً في دفع تقدم الصناعة وتعزيز الوظائف. إن إدخال Hooks في يونيسواب V4 يحدد بلا شك الاتجاه لتطوير DEX ويُقلَّد بشغف من الخلفاء.
ومع ذلك، تقتصر هوكات Uniswap V4 على القيود الجوهرية للعقود الذكية. بغض النظر عن مدى صلابة تصميم البروتوكول وشمولية مجموعات الأدوات، فإنه لا يمكن أساسًا منع الاستدعاء المتبادل بين عقود الهوك والعقود الخارجية، مما يشكل ثغرات أمنية محتملة.
أوجز، كشبكة بلوكشين من الطبقة 1 عالية الأداء متوافقة مع EVM، صممت Artela Aspect للتشغيل بشكل مستقل في WASM منذ بداية البروتوكول، داعمةً بشكل أصلي لبرمجة الخطاف. يعزز هذا بشكل كبير الأمان، ويوفر حلاً متقدماً لبروتوكولات DeFi التي تعتبر الأمان أمرًا أساسيًا.
هذه المقالة التي تحمل في الأصل عنوان "تطور خطافات DeFi: من أمان عقد Uniswap V4 إلى بروتوكول Artela الأصلي" مستنسخة من [小猪Web3]. جميع حقوق الطبع والنشر تنتمي إلى الكاتب الأصلي [web3 جيت ديفيإذا كان لديك أي اعتراض على إعادة النشر، يرجى الاتصال بالبوابة تعلمالفريق، سيتولى الفريق الأمر في أقرب وقت ممكن.
تنويه: تعبر الآراء والآراء المعبر عنها في هذه المقالة فقط عن آراء الكاتب الشخصية ولا تشكل أي نصيحة استثمارية.
تتم ترجمة المقال إلى لغات أخرى من قبل فريق Gate Learn. ما لم يذكر غير ذلك، فإن نسخ أو توزيع أو سرقة المقالات المترجمة ممنوع.
الخطافات، أو برمجة الخطافات، هو نموذج برمجي يسمح للمطورين بإدراج كود مخصص في مسار التنفيذ لنظام أو تطبيق أو مكتبة من خلال الخطافات، والتي تعتبر وظائف محددة مسبقًا أو كتل كود. ليس هناك حاجة لتعديل الكود الأصلي. تُستخدم الخطافات في كثير من البيئات والأطر البرمجية، مثل أنظمة التشغيل والأطر والمكتبات، تطوير الويب، وأنظمة الإضافات.
باستخدام الخطافات، يمكن للمطورين زيادة قابلية التوسع والتخصيص للبرنامج دون الحاجة إلى تعديل الشيفرة الأصلية لكل تغيير أو متطلبات التوسع، مما يساعد في الحفاظ على نظافة الشيفرة واستقرارها. توفر الخطافات طريقة تنفيذ أنيقة لتمديد البرمجيات وهي نموذج برمجة مفيد جدًا في تصميم البرمجيات.
على وجه الخصوص، يتم مقارنة AOP (برمجة التوجيه الجانبي) كثيرًا مع برمجة الخطاف. AOP هو نمط برمجة موديولار ينفذ الاهتمامات العابرة، والهدف ليس تغيير المنطق التجاري الرئيسي. إنه يعزز أو يعدل الوظائف إذا لزم الأمر. لن أوسع في شرح AOP بالتفصيل هنا. يمكنك ببساطة أن تعتبر AOP تجريديًا على مستوى أعلى من برمجة الخطاف.
في يونيو 2023، أعلنت يونيسواب وأصدرت نسخة مسودة من ورقة البيضاء ليونسواب V4. ميزة مهمة في يونسواب V4 هي إدخال الخطافات.
استخدمت الخطافات على نطاق واسع في أنظمة الأمان 2 الخاصة بالنظام المالي، لأن هذه الأنظمة عادة ما تتطلب درجة عالية من التخصيص والتوسع. تشمل السيناريوهات المخصصة، مثل عند معالجة المعاملات، استخدام الخطافات لإدراج منطق التحقق الإضافي قبل وبعد تنفيذ المعاملة، مثل التحقق الثانوي، وكشف مراقبة المخاطر، واستراتيجيات مكافحة غسيل الأموال (AML). تشمل السيناريوهات التوسعية دمج مع واجهات برمجة التطبيقات الخارجية أو الخدمات الصغيرة عبر الخطافات لتوسيع وظائف جديدة في النظام المالي، مثل خدمات المصادقة الهوية، وتحويل سعر الصرف، وبوابات الدفع، إلخ. ولكن من خلال إدخال الخطافات في DeFi، فقد وضعت Uniswap سابقة.
تُعد خطافات Uniswap V4 في الأساس عقدًا خارجيًا يتم إنشاؤه وتعريفه من قبل المطورين. عند إنشاء بركة سيولة، يمكنك اختيار ربط عقد Hook. بعد ذلك، ستقوم بركة السيولة باستدعاء عقد Hook المربوط مسبقًا لأداء العمليات المحددة في مراحل مختلفة من دورة الحياة، مما يوفر درجة عالية من التخصيص. يمكن للمطورين استخدام خطافات Uniswap لتلبية سيناريوهات التداول الشخصية أكثر وبناء تطبيقات قائمة على الحاجات الخاصة بوظائف أكثر غنى، مثل:
حاليًا، يدعم Uniswap V4 أربع مجموعات من استدعاءات الخطاف، كل مجموعة تحتوي على زوج من استدعاءات:
توضح الرسم البياني التالي عملية خطاف beforeSwap/afterSwap كما هو مقدم في الورقة البيضاء. يمكن ملاحظة أنه قبل وبعد تنفيذ التبادل، يتحقق أولاً ما إذا كانت العلامة المقابلة لخطاف بركة السيولة مفعلة. إذا تم تمكينها، سيتم بعد ذلك استدعاء وظائف الخطاف المقابلة لعقد الخطاف.
يمكن تنفيذ هذه الخطافات قبل بدء التداول وبعد انتهاء التداول، مما يتيح وظيفة مشابهة لأوامر الحد على السلسلة الرئيسية. يضع المستخدم أمر حد على عقد الخطاف، ثم يستخدم مخطافًا مخصصًا أو مُدارًا في وظيفة الاستدعاء بعد عملية التبادل لتحديد ما إذا كان السعر يفي بالحد. إذا كان الأمر كذلك، سيتم تنفيذ المعاملة. إذا لم يكن كذلك، ستلغى المعاملة.
يقوم Uniswap V4 بربط السيولة بشكل عميق بتطوير DApp نفسه من خلال Hooks. يعزز وظائف DApp ويعزز أيضًا تأثير الشبكة لـ Uniswap، مما يجعله البنية التحتية الأساسية لجميع النظام البيئي DeFi.
فريق BlockSec استكشف مخاطر الأمان لآلية Hooks في Uniswap V4. بالإضافة إلى حقيقة أن عقد الـ Hook نفسه شرير، فإن عقود الـ Hook الطيبة أيضًا عرضة للفشل بشكل شديد. قام فريق BlockSec بتحليل مستودع Awesome Uniswap v4 Hooks (تحقق تجزئة 3a0a444922f26605ec27a41929f3ced924af6075) ووجد أن أكثر من 30% من المشاريع في المستودع كانت عرضة للفشل. تنبع هذه الثغرات أساسًا من تفاعلات المخاطر بين Hook و PoolManager وأطراف ثالثة خارجية، ويمكن تقسيمها أساسًا إلى فئتين رئيسيتين.
حتى إذا تم تنفيذ التحكم في الوصول الضروري إلى الوظائف الخارجية/العامة الحساسة بشكل صحيح وتم التحقق من معلمات الإدخال لتقليل المخاطر الأمنية المتعلقة بالنوعين المذكورين أعلاه من الهوكس، فإن ثغرة العقد نفسها لا يمكن تجنبها تمامًا، خاصة إذا كان الهوك قابلاً للترقية. إذا تم تنفيذ العقد، فقد تواجه أيضًا مشاكل ذات صلة مماثلة لثغرة UUPSUpgradeable التابعة لـ OpenZeppelin.
يكمن السبب في حقيقة أن برمجة Hook تزيد من تعقيد العقود الذكية ، وبالتالي توسيع سطح الهجوم. بالنسبة للعقود الذكية العادية ، يوفر OpenZeppelin سلسلة من مكتبات أفضل الممارسات لضمان أن العقود التي تم تطويرها بناء عليها آمنة. ومع ذلك ، فإنه يضيف بشكل أساسي "قيود استخدام الأمان" للمطورين. وبالمقارنة ، تتطلب عقود هوك "قيود استخدام أمنية" أكثر صرامة من العقود العادية. لذلك ، لكي يتم تطبيق برمجة Hook على نطاق واسع ، هناك حاجة إلى إطار عمل شامل: فهو يتطلب بيئة تنفيذ آمنة ، ونماذج برمجة قابلة للتطبيق ل Hooks ، وقيود استخدام أكثر صرامة.
تم تنفيذ خطافات Uniswap V4 من خلال العقود الذكية، ويتسبب قضاها الأمنية أيضًا في القيود الخاصة بالعقود الذكية. هل هناك حلاً يدعم برمجة الخطاف من مستوى البروتوكول؟ تعطينا Artela Aspect الإجابة!
أرتيلا هي شبكة بلوكشين من الطبقة 1 قابلة للتوسيع بشكل كبير وعالية الأداء متوافقة مع EVM مصممة للمطورين لبناء تطبيقات قابلة للتوسيع وقابلة للتخصيص والغنية بالميزات والقابلة للتوسيع. تحدد أرتيلا وحدة برمجية جديدة يمكن توسيعها باسم Aspect كامدة أصلية، والتي تقدم بشكل مبتكر AOP إلى شبكة البلوكشين. يحتاج Aspect إلى تحديد نقطة اتصال، أي الموقع الذي يتم تنفيذ Aspect فيه خلال دورة حياة معالجة المعاملة بأكملها. على غرار استدعاء هوك، تشمل نقاط الاتصال:
يدعم Aspect حاليًا TypeScript فقط، ويتم تجميع كوده إلى بايت كود WebAssembly (WASM) ونشره على شبكة Artela. بعد نشر Aspect، يمكن لمالكي العقود الذكية ربط عقودهم مع Aspect. يُعرف مالك العقد الذكي بعنوان الحساب الخارجي (EOA) الذي يمكنه تمرير الفحص isOwner(address) يعيد (bool) في العقد الذكي.
فيما بعد، ستتم معالجة المعاملات اللاحقة التي تستدعي العقد الذكي بواسطة Aspect، كما هو موضح في الرسم البياني أدناه:
كتنفيذ أدوات Hooks على مستوى البروتوكول، تتمتع Artela Aspects بمزايا كبيرة على Hooks Uniswap V4:
أولاً، تستخدم Artela Aspects WASM لتنفيذ كودها، وكفاءة التنفيذ أعلى بعدة طلبات من الحجم من EVM؛
ثانياً، يمكن لـ Artela Aspects ربط دورة حياة الصفقة بأكملها، وليس فقط منطق DeFi الأساسي، ويمكن بناء تطبيقات DApps بوظائف أكثر غنى؛
والأهم من ذلك، تعمل جوانب Artela بشكل مستقل في بيئة رملية آمنة. تضمن هذا العزل أن تنفيذ الجوانب لن يؤثر على أمان تنفيذ العقد.
يقيد عزل جوانب Artela المكالمات المتبادلة بين عقد الخطاف كعقد عادي وعقود خارجية أخرى، مما يحل مشكلة الوصول والتحقق من الإدخال لخطاف Uniswap V4. بالنسبة لعقود DeFi مثل Uniswap، يمكنك الاستمتاع بتجربة خطاف أسرع وأقوى وأكثر أمانًا من خلال نشره على Artela.
كمشارك مهم وقائد في صناعة DeFi، لعبت يونيسواب دوراً حاسماً في دفع تقدم الصناعة وتعزيز الوظائف. إن إدخال Hooks في يونيسواب V4 يحدد بلا شك الاتجاه لتطوير DEX ويُقلَّد بشغف من الخلفاء.
ومع ذلك، تقتصر هوكات Uniswap V4 على القيود الجوهرية للعقود الذكية. بغض النظر عن مدى صلابة تصميم البروتوكول وشمولية مجموعات الأدوات، فإنه لا يمكن أساسًا منع الاستدعاء المتبادل بين عقود الهوك والعقود الخارجية، مما يشكل ثغرات أمنية محتملة.
أوجز، كشبكة بلوكشين من الطبقة 1 عالية الأداء متوافقة مع EVM، صممت Artela Aspect للتشغيل بشكل مستقل في WASM منذ بداية البروتوكول، داعمةً بشكل أصلي لبرمجة الخطاف. يعزز هذا بشكل كبير الأمان، ويوفر حلاً متقدماً لبروتوكولات DeFi التي تعتبر الأمان أمرًا أساسيًا.
هذه المقالة التي تحمل في الأصل عنوان "تطور خطافات DeFi: من أمان عقد Uniswap V4 إلى بروتوكول Artela الأصلي" مستنسخة من [小猪Web3]. جميع حقوق الطبع والنشر تنتمي إلى الكاتب الأصلي [web3 جيت ديفيإذا كان لديك أي اعتراض على إعادة النشر، يرجى الاتصال بالبوابة تعلمالفريق، سيتولى الفريق الأمر في أقرب وقت ممكن.
تنويه: تعبر الآراء والآراء المعبر عنها في هذه المقالة فقط عن آراء الكاتب الشخصية ولا تشكل أي نصيحة استثمارية.
تتم ترجمة المقال إلى لغات أخرى من قبل فريق Gate Learn. ما لم يذكر غير ذلك، فإن نسخ أو توزيع أو سرقة المقالات المترجمة ممنوع.