الضيف: زيهاو لي، طالب دكتوراه، جامعة هونغ كونغ للفنون التطبيقية
المنظم:aididiao.eth، فورسايت نيوز
هذه المقالة هي ملخص للفيديو الذي شاركه Zihao Li، طالب الدكتوراه في جامعة هونغ كونغ للفنون التطبيقية في برنامج Web3 للعلماء الشباب. تم إطلاق برنامج Web3 Young Scholars بشكل مشترك بين DRK Lab وimToken وCrytape، وسيدعو العلماء الشباب المشهورين في مجال التشفير لمشاركة بعض أحدث نتائج الأبحاث مع المجتمع الصيني.
مرحبًا بالجميع، أنا Zihao Li، طالب دكتوراه في السنة الثالثة في جامعة هونغ كونغ للفنون التطبيقية، الموضوع الذي شاركته اليوم هو "الكشف عن أنشطة MEV في حزمة معاملات Ethereum". ببساطة، يتعلق الأمر بكيفية اكتشاف أنواع غير معروفة من أنشطة MEV في شبكة Ethereum من خلال حزم المعاملات. أولاً، سأقدم مقدمة أساسية نسبيًا، مثل مفهوم MEV وآلية حزمة المعاملات وخلفية عملنا. ثم سأقدم سير العمل الكامل وبعض أفكار التصميم بالتفصيل، مثل مبادئ التصميم المستخدمة لتصميم سير العمل؛ ما هي مجموعات البيانات لدينا؛ ما هي الأدوات التي نستخدمها لتقييم سير العمل لدينا وعلى أساس المؤشرات، وما إلى ذلك. وأخيرا، أقدم ثلاثة تطبيقات بما في ذلك نتائج التحليل التجريبي ذات الصلة.
مقدمة في الخلفية: MEV، حزمة المعاملات، التحفيز
يعني نشاط MEV أن المراجحين في blockchain يقومون بإنشاء معاملات مراجحة من خلال مراقبة شبكة blockchain، بما في ذلك حالة الكتلة. يتم نشر بعض معلومات المعاملات على شبكة blockchain P2P، أو يتم تخزين بعض المعاملات التي لم يتم تحميلها رسميًا إلى السلسلة في مجمع المعاملات الخاص بالتعدين أو القائمين على التحقق. وعندما يراقب المراجح معلومات المعاملات هذه، فإنه يولد معلومات خاصة به من خلال بعض الاستراتيجيات. معاملة المراجحة، ثم تحديد معاملة المراجحة في موضع معين في الكتلة التالية، على سبيل المثال، يريد أن يكون على رأس الكتلة التالية، أو بمعنى آخر، تنفيذ معاملة استراتيجية مباشرة بعد معاملة معينة للانتشار نفس تجارة المراجحة. بهذه الطريقة، لتحديد أنشطة المراجحة في موقع معين، يمكننا اعتبارها أنشطة MEV. على سبيل المثال، إذا قام المراجح بمراقبة تقلبات أسعار الأصول، فيمكنه شراء الأصل المقابل في مجموعة تداول بسعر منخفض، ثم بيعه عند نقطة عالية في مجموعة أخرى بسعر مرتفع. ويعتبر هذا نشاط MEV.
يتم تنفيذ أنشطة MEA حاليًا بشكل أساسي من قبل المراجحين حول نظام DeFi البيئي، لأن نظام DeFi البيئي يجمع الأصول حاليًا بشكل أساسي، حتى الآن، اجتذبت Ethereum، بما في ذلك أنظمة DeFi البيئية المتسلسلة الأخرى، أكثر من 40 مليار دولار من الأموال. هنا نحتاج أن نذكر مفهومًا حول النظام البيئي DeFi، يسمى DeFi action، والذي يتوافق مع عملية خدمة ذرية يقدمها تطبيق DeFi، على سبيل المثال، نعلم أن AMM تدعم التبادل بين أنواع مختلفة من الأصول، ويمكن للمستخدمين بيع مبلغ USDC، ثم احصل على مبلغ من ETH، ويمكن تعريف هذه العملية على أنها إجراء DeFi. يمكننا استخدام إجراءات DeFi لتمثيل أنشطة MEV. على سبيل المثال، إذا اكتشف المستخدم فجوة في أسعار الأصول على AMMs المختلفة، فيمكن للمستخدم الشراء بسعر منخفض والبيع بسعر مرتفع للحصول في النهاية على أرباح من فرق السعر. يمكننا التعبير عن نشاط MEV هذا كإجراءين DeFi.
في الوقت الحاضر، ينقسم البحث الأكاديمي حول أنشطة MEV بشكل أساسي إلى ثلاث فئات، وهي هجمات الساندويتش، والمراجحة العكسية، والتصفية. وفي مجموعة البيانات التي نعمل معها، وجدنا أن أنشطة MEV الثلاثة هذه حدثت أكثر من مليون مرة. في الواقع هناك مشكلة هنا، بعد أن عرفنا تعريف هذه الأنشطة MEV، كيفية تحديد حدوث الأنشطة. إذا أردنا تحديد أنشطة MEV هذه، فنحن بحاجة إلى تحديد جميع أنشطة المراجحين، مثل المعاملات التي ينشئها المراجحون، وما هي أنواع المراجحة الموجودة في هذه المعاملات، وبعد ذلك يمكننا تحديد نوع نشاط MEV الذي يحدث حاليًا، وتعتمد العملية برمتها بشكل كبير على تعريفنا لنشاط MEV المعروف. لنأخذ هجوم الساندويتش كمثال، بعد أن عرفنا تعريف هجوم الساندويتش، نحتاج إلى تحديد قيمة المراجحة لهجوم الساندويتش ومعاملة المراجحة المقابلة لها، نحتاج إلى وضع الكثير من القواعد بناءً على التعريف، وبعد ذلك تصفية هجمات الساندويتش المرشحة من خلال قواعد المراجحة والقيم والمعاملات. عند تحديد أنواع هجمات MEV المعروفة بهذه الطريقة، سيكون هناك سؤالان: السؤال الأول هو ما إذا كانت أنشطة MEV الثلاثة الشائعة التي نعرفها يمكن أن تمثل جميع أنشطة MEV؟ من الواضح لا، لأن النظام البيئي DeFi قد تطور وتم تطوير تطبيقات جديدة، واستراتيجيات هؤلاء المراجحين تتكرر بالفعل. والسؤال الثاني هو كيف يمكننا اكتشاف أنشطة MEV غير المعروفة. دعونا نلقي نظرة على آلية حزمة المعاملات مع وضع هذا السؤال في الاعتبار.
تم اقتراح آلية حزمة المعاملات لأول مرة في عام 2021. ببساطة، يمكن للمستخدمين تنظيم قائمة انتظار المعاملات، يمكن أن يكون طول قائمة انتظار المعاملات هذه معاملة واحدة أو عدة معاملات، ثم يرسل المستخدم هذه المعاملات إلى شبكة blockchain، ويقوم المرحل بجمع هذه المعاملات المعاملات وإرسالها مباشرة وبشكل خاص إلى القائمين بالتعدين أو المحققين المعنيين. حاليًا، سيقوم المرحلون بتشغيل حزم المعاملات للقيام بمهام الترحيل. تتميز آلية حزمة المعاملات بميزة مهمة جدًا، فعندما يقوم هؤلاء المستخدمون بإنشاء حزمة معاملات، يمكنهم وضع معاملات الأشخاص الآخرين التي لم يتم تحميلها إلى السلسلة في حزمة معاملات، ويمكن التلاعب بترتيب المعاملات في حزمة المعاملات بشكل تعسفي . في هذا الوقت، يمكن لمستخدم حزمة التداول أو المراجح الذي يستخدم حزمة التداول تصميم قواعد المراجحة الخاصة به. على سبيل المثال، يمكنه تصميم استراتيجية أكثر تعقيدًا وأكثر ربحية لأنشطة MEV. لنأخذ هجوم الساندويتش كمثال، إذا لم يتم استخدام حزمة المعاملات، يحتاج المراجح في هجوم الساندويتش إلى إنشاء زوج واحد على الأقل من المعاملات لتحقيق المراجحة، ويمكن لهذا الزوج من معاملات المراجحة أن يستهدف هذه المعاملة الواحدة فقط. يجب تنفيذ المراجحة الناتجة عن معاملة الهجوم هذه بترتيب معين لضمان إمكانية تحكيمها بنجاح. ولكن إذا استخدم المراجح حزمة تداول، فيمكنه جمع العديد من المعاملات التي يمكن المراجحة بها، ويحتاج فقط إلى استخدام زوج من معاملات المراجحة المقابلة لإنشاء المراجحة على معاملات متعددة في نفس الوقت. طالما أن حزمة المعاملات هذه موجودة في السلسلة، فإنها ستنجح بالتأكيد في المراجحة، ولأنها تقوم بمراجحة معاملات متعددة قابلة للمراجحة في نفس الوقت، فإن نتائج المراجحة الخاصة بها تكون أيضًا أكثر ربحية.
تتميز حزمة التداول بأنشطة MEV الغنية والمعقدة للغاية. لأن المستخدمين الذين يستخدمون حزم المعاملات يقومون بتغليف معاملاتهم الكاملة في حزمة المعاملات، ثم يرسلونها إلى مُرحِّل شبكة P2P، وأخيرًا إلى القائمين بالتعدين والمحققين المقابلين. يمكننا تحديد جميع الأنشطة بدقة وبشكل كامل من خلال حزم المعاملات. لذلك، يمكننا تحديد بعض أنشطة MEV غير المعروفة بدقة أكبر من خلال وسيط حزمة المعاملات.
أفكار سير العمل والتصميم
بعد ذلك، دعونا نقدم سير العمل لدينا بالتفصيل. كيف نكتشف أنشطة MEV غير المعروفة من خلال وسيلة مثل حزمة المعاملات؟ يتضمن سير العمل الأساسي أداتين: أولاً، نستخدم أداة ActLifter لتحديد كل إجراء DeFi في حزمة المعاملة بعد أن يجمع المرحل حزمة المعاملة، وبعد الحصول على النتيجة، نعبر عن جميع الإجراءات الموجودة في حزمة المعاملة. ثم استخدم أداة ActCluster لتجميع حزم المعاملات ذات الأنشطة المماثلة معًا من خلال طريقة التجميع، واكتشاف أنشطة MEV الجديدة بشكل أسرع من خلال نتائج التجميع. إذا أردنا اكتشاف أنشطة MEV غير المعروفة، فلا مفر من التأكد يدويًا ما إذا كان نشاط MEV من نوع غير معروف.وبالطبع، فإن الهدف من تصميم عملنا هو تقليل عبء العمل اليدوي قدر الإمكان، وجعل العملية برمتها بسلاسة قدر الإمكان. يتم تنفيذها تلقائيًا.
توجد بالفعل أدوات يمكنها تحديد نشاط MEV من المعاملات. يمكننا تقسيمها تقريبًا إلى فئتين. الفئة الأولى هي قواعد موجزة يدوية بحتة؛ والفئة الثانية هي قواعد إرشادية بحتة، أي استخدام قاعدة إرشادية آلية بحتة لتحديد أنواع معينة من أنشطة MEV. على سبيل المثال، بعد تحديد بعض معلومات النقل الحالية، فإنه يتحقق مما إذا كانت القواعد الإرشادية مستوفاة، وإذا كان الأمر كذلك، فيمكنه تحديد النشاط المقابل. يمكن أن تحقق الطريقة الأولى للملخص اليدوي البحت للقواعد دقة جيدة نسبيًا، لأن هذه العملية عبارة عن تحليل يدوي تمامًا لتطبيقات محددة، ومن ثم يمكنها التأكد من دقة نتائج الكشف، لكن مهمة التحليل تتطلب عبء عمل كبير جدًا، لذلك لا يمكن تغطية كل تطبيق DeFi. على الرغم من أن الوظيفة الثانية يمكن أن تحقق أتمتة خالصة، إلا أن القواعد الإرشادية يمكن أن تغطي فقط بعض الأنواع المحددة. من ناحية أخرى، هناك بعض المشاكل في تصميم القاعدة الإرشادية، مما يؤدي إلى دقة التعرف غير مرضية.
لقد صممنا سير العمل لدينا من خلال الجمع بين مزايا هذين النوعين من الأساليب. يمكننا تحديد عشرة إجراءات DeFi رئيسية في الوقت الحاضر. نحتاج فقط إلى تحديد الحدث يدويًا في تطبيق DeFi الذي يتوافق مع نوع إجراء DeFi بعد بدئه، لذلك لا نحتاج إلى تحليل يدوي، ويمكننا تسليمه بالكامل إلى التحليل الآلي لاحقًا. يمكن للنوع الثاني من الطريقة تحديد إجراءات DeFi تلقائيًا بالكامل، لكنه لا يمكنه تحديد ما إذا كان موضوع التحليل مرتبطًا بأنشطة MEV. على سبيل المثال، إذا تعرفنا على تحويل SWAP، فقد يتعرف على الجمع بين عمليتي نقل غير مرتبطتين تمامًا كإجراء DeFi، ومن الطبيعي أن تكون نتيجة التعرف عليه خاطئة. ولكن يمكننا استخدام هذه المعلومات لتصفية المعلومات المرتبطة فعليًا بإجراء DeFi. بعد الحصول على هذه المعلومات يمكننا تجنب بعض الأخطاء مثل النوع الثاني من الطريقة من خلال الطرق الآلية.
على سبيل المثال، إليك معاملة تتضمن أربعة تحويلات إجمالاً، ويتم تمييز ترتيب حدوثها ومبلغ الأموال ونوعها بالأرقام التسلسلية. في هذه العملية، تبدأ AMM فعليًا حدثًا متعلقًا بإجراء المبادلة. بعد أن تحدد الطريقة الأولى بدء الحدث، فإنها تحتاج إلى استعادة المحتوى الحالي من خلال بعض معلمات الحدث. على سبيل المثال، يحتاج إلى إلقاء نظرة على الكود ومنطق الأعمال وبعض متغيرات الوظائف للعقد 699 لاستعادة المحتوى الحالي. بعد أن حصلنا على هذه المعلومات، قمنا بتصميم قاعدة بناءً على خصائصها الفريدة لنقل الأصول. على سبيل المثال، القاعدة التي قمنا بتحسينها هي أن عقد تشغيل DeFi الحالي يتلقى وينقل أنواعًا مختلفة من الأصول. عندما وجدنا أن هناك نوعين من هذا القبيل بعد يتوافق نقل الأصول مع هذه الخصائص، ويمكننا استعادة محتوى إجراء المبادلة المقابل. النوع الثاني من الطريقة هو المطابقة المباشرة بين عمليتي نقل للأصول، حيث تلقى حسابا نقل الأصول أنواعًا مختلفة من الأصول وقاما بنقلها. ستعتبر التحويلتين الأولى والخامسة زوجًا من التحويلات المرتبطة، وستعتبر الحساب في المنتصف بمثابة AMM، ومن الواضح أنه يمكننا أن نرى بشكل حدسي أن نتيجة التعرف غير دقيقة.
القواعد التي قمنا بتلخيصها من خلال التحليل اليدوي هي أنواع إجراءات DeFi المقابلة للأحداث ذات الصلة، على الرغم من تلخيص النتائج من خلال التحليل اليدوي، ما زلنا نحاول تحسين عملية التحليل اليدوي إلى عملية شبه تلقائية لضمان موثوقية العملية بأكملها. سوف نتحقق من الموقع الرسمي لتطبيقات DeFi، ومستندات المطورين، بما في ذلك بعض رموز مصدر العقد من المواقع الرسمية لـ DeFiPulse.com وDapp.com. نقوم بتطوير أدوات التحليل التي يمكنها استخراج بعض أوصاف الأحداث في المستندات من هذه المواد المعنية، مثل كيفية تعريف هذا الحدث بالرموز المميزة وفي أي وظائف ومقتطفات التعليمات البرمجية وتعليقات التعليمات البرمجية حيث يتم استخدام هذه الأحداث. بعد أن استخرجنا هذه الأشياء، من خلال التحليل والمناقشة اليدوية، قررنا أخيرًا أن هناك 88 حدثًا يتوافق مع أنواع مختلفة من إجراءات DeFi.
نقوم بإدخال المعاملة المراد تحليلها في هذا القاموس، ونحلل الأحداث التي حدثت في المعاملة. ثم عندما يظهر الحدث في هذا القاموس، نقوم باستخراج المعلومات الأساسية وفقًا للقواعد المقابلة، مثل العقد الذي يقوم بتشغيل إجراء DeFi هذا، ونوع DeFi، وأي عمليات نقل الأصول المرتبطة بإجراء DeFi هذا. بعد الحصول على هذا المحتوى، سنقوم بتلخيص القواعد المميزة لنقل الأصول، ثم نستخدم هذه القاعدة لمطابقة إجراء DeFi النهائي. بدءًا من عشرة تعريفات لإجراءات التمويل اللامركزي، نلخص القواعد المميزة لنقل الأصول. بعد أن نجمع هذه المعلومات في الخطوة السابقة، سنستخدم قواعد المطابقة هذه لإجراء المطابقة، مما سيساعدنا في النهاية على تحديد محتوى DeFi المحدد الذي حدث في هذه المعاملة. بعد أن يتعرف ActCluster على كل معاملة في حزمة المعاملات، يمكننا التعبير عن سلوك حزمة المعاملات.
دعونا أولاً نفهم مبادئ تصميم ActCluster. نحن نعلم أن التحليل اليدوي أمر لا مفر منه في هذه العملية، ويجب أن يعتمد على العمل اليدوي لتحديد ما إذا كان نشاط حزمة المعاملات هو نوع غير معروف من نشاط MEV. وبناءً على ذلك، فإن فكرتنا الأساسية هي تجميع المعاملات ذات الأنشطة المماثلة معًا. بالنسبة لكل مجموعة، نحتاج فقط إلى أخذ عينة عشوائية واحدة أو عدة حزم معاملات للتحليل، مما قد يؤدي إلى تسريع عملية التحليل اليدوي واكتشاف أنواع مختلفة من أنشطة الاتفاقات البيئية المتعددة الأطراف في النهاية. عندما نستخدم التحليل العنقودي لتجميع حزم المعاملات، فإننا نواجه معضلة. عندما نقوم بتعيين قوة التجميع لحزم المعاملات بشكل تقريبي نسبيًا، سيتم تجميع حزم المعاملات التي تحتوي على أنواع مختلفة من الأنشطة معًا، في هذا الوقت، على الرغم من تقليل عدد المجموعات، يتم أيضًا تغيير مهام التحليل اليدوي المقابلة. أقل، ولكن هناك بعض أحداث MEV الجديدة التي سيتم تفويتها. إذا قمنا بضبط كثافة التجميع، على الرغم من أننا نستطيع التمييز بين بعض حزم المعاملات المقابلة لأنشطة الاتفاقات البيئية المتعددة الأطراف المتشابهة ولكن المختلفة، فإن عبء عمل التحليل اليدوي المعني سيزداد بشكل كبير.
بناءً على هذه المشكلة، قمنا بتصميم طريقة تحليل عنقودية تكرارية، والتي تقوم بإجراء تحليل عنقودي بشكل متكرر في جولات متعددة. في كل جولة، سنقوم بإزالة حزم المعاملات المعروفة التي تحتوي على أنشطة MEV الجديدة التي تم اكتشافها في الجولات السابقة، ومن ثم تحسين قوة التجميع لحزم المعاملات المتبقية. لا يمكننا استخدام طرق التجميع التقليدية بشكل مباشر لتجميع حزم المعاملات، لأن حزم المعاملات تحتوي في الواقع على معاملات متعددة، ويمكن أن تحتوي معاملة واحدة على إجراءات DeFi متعددة. إذا قمنا بتمثيل حزمة المعاملات بأكملها، فإن هيكلها يكون في الواقع غير متجانس وهرمي. في هذا الوقت، استخدمنا طريقة التعلم التمثيلي لتمثيل محتويات حزمة المعاملة في مساحة تحديد المواقع. تتمثل ميزة استخدام التعلم التمثيلي في أننا لا نحتاج إلى إجراء تعلم وفهم متعمقين للبيانات التي نريد تحليلها ومعالجتها، ولا نحتاج إلى معرفة غنية بالمجال، بل نحتاج فقط إلى إجراء معالجة بسيطة موجهة نحو البيانات.
على سبيل المثال، نحتاج فقط إلى تسمية حزمة المعاملات التي تتضمن أنشطة MEV في حزمة المعاملة. إذا عرفنا تعريف نشاط MEV، فمن الأسهل بالنسبة لنا تصميم القواعد المقابلة واكتشاف ما إذا كان موجودًا تلقائيًا. يمكننا تصنيف حزم المعاملات هذه تلقائيًا لتمثيل التعلم. تحليلنا العنقودي هو نوع تكراري، وبعد كل تكرار، يمكننا اكتشاف أنشطة MEV جديدة. في هذا الوقت، يمكننا بالفعل إثراء التسميات المقابلة لأنشطة MEV المكتشفة حديثًا في عملية التعلم التمثيلي لدينا. عندما يتم إثراء التسميات المستخدمة في عملية التعلم التمثيلي لدينا، يمكن تحسين أداء وكفاءة التدريب على نموذج التعلم التمثيلي بالكامل بشكل متكرر، ويمكن أيضًا تحسين قدرة التعلم التمثيلي هذا على التعبير عن أنشطة حزمة المعاملات بشكل متكرر. يمكن أن تكون هناك بالفعل معاملات متعددة في حزمة المعاملات، ويمكن أن يكون هناك بالفعل العديد من إجراءات DeFi في المعاملة، نحتاج إلى التعبير عن احتياجات حزمة المعاملات. أولاً، لكل نوع من إجراءات التمويل اللامركزي، نحدد معلمة موحدة، مثل العقد الذي يتم تشغيله، وما هي كمية ونوع الأصول المستلمة والمحولة؟ نحدد كل إجراء DeFi بهذه الطريقة. إذا حددنا أن هناك إجراءات DeFi متعددة في المعاملة، فإننا نمثلها ككتل إجراءات، بحيث يمكن تمثيل كتلة المعاملة المقابلة للمعاملة، والتي تحتوي على معلومات المصدر للمعاملة، مثل من بدأ المعاملة، و إعادة التوجيه إلى من تم إرسالها؟ عندما يحدث إجراء DeFi في معاملة ما، سنقوم بملئه بكتل الإجراءات بالترتيب. يتم تمثيل كل معاملة بكتلة معاملة، وأخيراً نحصل على بنية حزمة المعاملة، والتي يمكن اعتبارها مصفوفة. بعد تمثيل حزمة المعاملات هذه، يمكننا استخدامها لتعلم التمثيل. كل حزمة معاملة عبارة عن هيكل موحد، وبعد ذلك يمكننا استخدام النموذج لمعالجة الدُفعات.
تقييم الأداء
بعد ذلك، سنشارك الأساليب التي استخدمناها لتقييم أداء سير العمل. يتم توفير مجموعة البيانات الخاصة بعملية التحليل بأكملها من خلال واجهة برمجة التطبيقات المقدمة من Flashbots، ويتم جمع بيانات حزمة المعاملات من فبراير 2021 إلى ديسمبر 2022، بما في ذلك أكثر من 6 ملايين حزمة معاملة و26 مليون معاملة.
لقد صممنا بعض الأدوات لمقارنة دقة واكتمال إجراءات DeFi. تجدر الإشارة هنا إلى أنه من بين هذه الأدوات الموجودة على السلسلة، حاليًا تستطيع Etherscan فقط استعادة إجراء DeFi في المعاملة من خلال صفحة الويب الخاصة بها والمعلومات التي توفرها. ومثل DeFiRanger، نعيد إنتاج أساليبهم بناءً على أوراقهم البحثية. بالإضافة إلى ذلك، قمنا بتصميم أداة تسمى EventLifter لمحاولة استرداد إجراءات DeFi مباشرةً من أحداث المعاملات. لقد اختبرنا ActLifter ضمن تكوينات مختلفة، واستخدمنا أدوات متنوعة لمقارنة دقة التعرف. بالنسبة لـ ActCluster، فكرتنا الرئيسية هي اعتماد طريقة تعلم الاجتثاث. بالنسبة للأنشطة الجديدة التي يمكن تحديدها، بعد الاجتثاث لبعض وحدات ActCluster، إذا أردنا تحديد بعض الأنشطة الجديدة التي لم يتم العثور عليها، فكم يمكننا تحديدها؟ ما مدى حجم حزمة المعاملات أو حجم العمل الناتج عن التحليل اليدوي لدينا؟ على سبيل المثال، قمنا بإلغاء تحديث التسمية الديناميكية في وحدة تعلم التمثيل ActCluster، وقمنا بالفعل بإلغاء العملية برمتها. نحن نأخذ عينة عشوائية مكونة من 6 ملايين حزمة معاملات ونرى عدد حزم المعاملات التي يتعين علينا تحليلها يدويًا لاكتشاف نفس القدر من نشاط MEV الجديد.
يمكن لأدواتنا أن تحقق ما يقرب من 100% من الدقة والاكتمال في ظل حالة التكوين الموحد. ولكن مثل الأدوات الأخرى مثل Etherscan، على الرغم من أن دقتها يمكن أن تصل إلى 100%، وهو أمر مُرضٍ تمامًا، إلا أنها ستفتقد الكثير من إجراءات DeFi. لا تمتلك Etherscan نفسها طريقة مفتوحة المصدر، ونتوقع أنها قد تستخدم التحليل اليدوي لتلخيص القواعد لتحديد إجراءات DeFi، وبالتالي ستفتقد بعض الأنواع التي لا يمكن تغطيتها يدويًا. تجدر الإشارة هنا إلى أن Etherscan لا يوفر في الواقع واجهة تلقائية، فإذا كنت تريد إجراء تعريف على نطاق واسع، فلن تتمكن من إكمال مثل هذه المهمة مباشرة. إن دقة واكتمال DeFiRanger، والتي تم تحديدها بالكامل من خلال القواعد المخفية، ليست مرضية. بعد أن قمنا بتجربة ActCluster، وجدنا أنه من خلال أربع جولات من التحليل التكراري، نحتاج فقط إلى تحليل إجمالي 2000 حزمة معاملة للعثور على 17 نشاطًا غير معروف للمركبات الميكانيكية والكهربائية. بعد أن نتخلص من بعض هذه الوحدات، قد نحتاج إلى تحليل ما يصل إلى 170.000 حزمة معاملة يدويًا لتحديد 17 نشاطًا غير معروف من أنشطة MEV المذكورة للتو.
التحليل والتطبيق التجريبي
ما هي التطبيقات المحددة لطريقتنا في تحديد الأنواع غير المعروفة من نشاط MEV؟ أولاً، ما إذا كان بإمكانها تعزيز تدابير التخفيف الحالية من MEV وتكون قادرة على الدفاع ضد بعض أنشطة MEV. والثاني هو استخدام نتائج التحليل لمعرفة ما إذا كان بإمكاننا تحليل تأثير أنشطة MEV بشكل أكثر شمولاً على بيئة blockchain، بما في ذلك التأثير على إعادة تنظيم شوكة غابة الكتل والأمن المالي للمستخدمين.
لقد ذكرنا سابقًا أن مهاجمي شبكة MEV Boost سيستخدمون أدوات للحصول على حزم المعاملات من المستخدمين، ثم يقومون في النهاية بتوزيعها على القائمين بالتعدين والمدققين الذين يقومون بتوصيلهم. سيقوم القائمون على إعادة الترحيل بإزالة حزم المعاملات التي تحتوي على أنشطة MEA من حزم المعاملات التي يتلقونها، وبهذه الطريقة يمكنهم تقليل بعض التأثير السلبي لأنشطة MEA على blockchain. الفكرة الرئيسية لهذا الارتباط هي تصميم القواعد المقابلة من خلال تعريف أنشطة MEV الحالية لاكتشاف ما إذا كانت حزمة المعاملات تحتوي على أنشطة MEV. من الواضح أن هؤلاء المرحلين غير قادرين على استبعاد بعض حزم المعاملات التي تحتوي على أنشطة MEV غير معروفة. استنادًا إلى سير العمل لدينا، قمنا بتصميم أداة MEVHunter، والتي يمكنها اكتشاف الأنواع الجديدة من أنشطة MEV التي اكتشفناها من حزمة المعاملات.
تظهر نتائج الكشف أن أكثر من مليون حزمة تداول تحتوي على أنشطة MEV للمراجحة العكسية، و 30٪ من 6 ملايين حزمة تداول أخرى تحتوي على ثلاثة أنشطة MEV معروفة. بالنسبة لأنشطة MEV المكتشفة حديثًا، وجدنا أن ما يقرب من نصف حزم المعاملات تحتوي فقط على أنشطة MEV الجديدة هذه. إذا استخدم المرحلون أداة MEVHunter، فيمكن أن يساعدهم ذلك في تصفية 3 ملايين حزمة معاملات تحتوي على أنشطة MEV، ومن ثم يمكنهم اختيار إزالة حزم المعاملات هذه لتقليل التأثير السلبي لأنشطة MEV على blockchain.
التطبيق الثاني هو أننا نستكشف تأثير أنشطة MEV الجديدة على شوكات blockchain وعمليات إعادة التنظيم. أفادت بعض الدراسات السابقة أن بعض القائمين بالتعدين المالي سيتم تحفيزهم من خلال فوائد بعض أنشطة MEV لتقسيم وإعادة تنظيم blockchain الحالي، وإجراء أنشطة MEV بأنفسهم والاستمتاع بالفوائد. على سبيل المثال، عندما يكون دخل نشاط MEV الخاص بالكتلة 4 أضعاف مكافأة الكتلة، فإن ما لا يقل عن 10% من القائمين بالتعدين سوف يقومون بتقسيم الكتلة وإعادة تنظيمها.
نحدد أولاً حزم المعاملات التي تحتوي على أنشطة MEV جديدة استنادًا إلى أداة MEVHunter المذكورة للتو، ثم نقدر الكثافة المقابلة لأنشطة MEV هذه من خلال إيرادات القائمين بالتعدين في حزم المعاملات هذه. إليك مفهوم يجب تقديمه. في آلية حزمة المعاملات، من أجل ضمان إمكانية تحميل حزم معاملات المراجحة الخاصة بهم إلى السلسلة، عادةً ما يشارك هؤلاء المراجحون جزءًا من عائدات أنشطة MEV مع عمال المناجم، ثم سيختار القائمون بالتعدين أخيرًا حزمة المعاملات ذات الدخل الأعلى ليتم تحميلها على السلسلة. يمكننا استخدام هذا الدخل لتقدير نشاط MEV بشكل موحد في كل حزمة معاملة. وفقًا لنتائجنا الإحصائية، هناك أكثر من 900 كتلة تبلغ إيرادات MEV الخاصة بها أربعة إلى ثمانية أضعاف مكافأة الكتلة، وهناك كتلة أخرى تبلغ مكافأة MEV الخاصة بها أكثر من 700 ضعف مكافأة الكتلة. نحن نستخدم إطار عمل ماركوف لاتخاذ القرار لتحديد الحد الأدنى لعدد عمال المناجم الذين يمكن تحفيزهم لأداء شوكات الكتلة وإعادة التنظيم نظرًا لدخل MEV. وجدنا أخيرًا أن هناك أكثر من 1000 كتلة يمكنها تحفيز ما لا يقل عن 10% من القائمين بالتعدين على إجراء شوكات الكتل وإعادة التنظيم. بالنسبة للكتلة الأكثر خطورة، يكون ما لا يقل عن 6 من أصل 10000 عامل تعدين مسؤولين عن تشعب الكتلة وإعادة تنظيمها.
التطبيق الثالث هو استكشاف تأثير أنشطة MEV على الأمن المالي لمستخدمي blockchain. يمكن أن تؤدي أنشطة MEV في الواقع إلى تمديد وقت الانتظار لتحميل معاملات مستخدمي blockchain إلى السلسلة الموجودة على مجمع المعاملات أو شبكة P2P، وهذا أيضًا أحد التهديدات الرئيسية للأمن المالي للمستخدمين الناجمة عن أنشطة MEV. إذا تأخرت معاملات المستخدمين على السلسلة، فيمكن للمراجحين الحصول على مزيد من الوقت لتصميم أنشطة MEV أكثر تعقيدًا وأكثر ربحية. التطبيق الثالث هو مقارنة تأثير نشاط MEV على وقت الانتظار حتى يتم تحميل معاملات المستخدم أخيرًا إلى السلسلة. الخطوة الأولى هي جمع وقت انتظار المعاملة. نقوم بشكل أساسي بنشر العقد على الشبكة، ثم نسجل الوقت الذي تم فيه اكتشاف المعاملة لأول مرة على الشبكة، والوقت الذي تم فيه تحميل المعاملة أخيرًا إلى السلسلة، وأخيرًا نحسب الوقت الذي تحتاجه للانتظار. نحن نستخدم الأرباع الثلاثة لأوقات الانتظار لجميع المعاملات في كل كتلة لإجراء الإحصائيات، حتى نتمكن من تنظيم أوقات انتظار المعاملات في سلسلة زمنية لكل كتلة. ثم يتميز نشاط MEV المقابل في كل كتلة أيضًا بالدخل الذي يحصل عليه القائمون بالتعدين في كل كتلة من حزمة المعاملات التي تحتوي على نشاط MEV الجديد، وبهذه الطريقة نحصل على سلاسل زمنية متعددة. نقوم بتقييم تأثير نشاط MEV على وقت التداول من خلال اختبار السببية جرانجر، حيث يمكن لاختبار السببية تحديد ما إذا كانت التقلبات في سلسلة زمنية واحدة تؤدي إلى تقلبات في سلسلة زمنية أخرى، وعلى أي مدى تؤثر أو تسبب تقلبات السلاسل الزمنية الأخرى. عندما يتقلب نشاط MEV، هل يؤدي ذلك إلى إطالة وقت انتظار معاملة المستخدم، وكم عدد الكتل اللاحقة التي سيكون لها التأثير؟
عندما تكون قيمة P لاختبار السببية أقل من أو تساوي 0.5، فهذا يعني أن وقت انتظار المعاملة في هذه الكتلة قد تم تمديده بتأثير أنشطة MEV السابقة. وفقًا لنتائج التحليل، يمكن العثور على أنه عند حدوث نشاط MEV، سيتم تمديد وقت الانتظار لـ 50٪ من المعاملات في الكتلتين التاليتين. عند حدوث نشاط MEV، سيتم تمديد وقت الانتظار لـ 25% من المعاملات في الكتل الثلاثين التالية. سيضع القائمون بالتعدين أو القائمون على التحقق المعاملات ذات رسوم الغاز المنخفضة نسبيًا في نهاية كتلة التغليف، وكلما انخفض غاز معاملة المستخدم، زاد النطاق المتأثر بأنشطة MEV، وسيتم تمديد وقت الانتظار لفترة أطول.
في الختام، شاركنا أولاً كيفية العثور على أنشطة MEV غير المعروفة من خلال سير العمل والتصميم التفصيلي لوحدتين في سير العمل، ثم تحققنا من فعالية سير العمل من خلال التحليل التجريبي وأدرجنا ثلاثة تطبيقات. لقد اكتشفنا حتى الآن 17 نشاطًا جديدًا للمركبات الميكانيكية والكهربائية باستخدام سير العمل.
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
إزالة الغموض عن النوع غير المعروف من MEV في حزمة معاملات Ethereum
الضيف: زيهاو لي، طالب دكتوراه، جامعة هونغ كونغ للفنون التطبيقية
المنظم:aididiao.eth، فورسايت نيوز
هذه المقالة هي ملخص للفيديو الذي شاركه Zihao Li، طالب الدكتوراه في جامعة هونغ كونغ للفنون التطبيقية في برنامج Web3 للعلماء الشباب. تم إطلاق برنامج Web3 Young Scholars بشكل مشترك بين DRK Lab وimToken وCrytape، وسيدعو العلماء الشباب المشهورين في مجال التشفير لمشاركة بعض أحدث نتائج الأبحاث مع المجتمع الصيني.
مرحبًا بالجميع، أنا Zihao Li، طالب دكتوراه في السنة الثالثة في جامعة هونغ كونغ للفنون التطبيقية، الموضوع الذي شاركته اليوم هو "الكشف عن أنشطة MEV في حزمة معاملات Ethereum". ببساطة، يتعلق الأمر بكيفية اكتشاف أنواع غير معروفة من أنشطة MEV في شبكة Ethereum من خلال حزم المعاملات. أولاً، سأقدم مقدمة أساسية نسبيًا، مثل مفهوم MEV وآلية حزمة المعاملات وخلفية عملنا. ثم سأقدم سير العمل الكامل وبعض أفكار التصميم بالتفصيل، مثل مبادئ التصميم المستخدمة لتصميم سير العمل؛ ما هي مجموعات البيانات لدينا؛ ما هي الأدوات التي نستخدمها لتقييم سير العمل لدينا وعلى أساس المؤشرات، وما إلى ذلك. وأخيرا، أقدم ثلاثة تطبيقات بما في ذلك نتائج التحليل التجريبي ذات الصلة.
مقدمة في الخلفية: MEV، حزمة المعاملات، التحفيز
يعني نشاط MEV أن المراجحين في blockchain يقومون بإنشاء معاملات مراجحة من خلال مراقبة شبكة blockchain، بما في ذلك حالة الكتلة. يتم نشر بعض معلومات المعاملات على شبكة blockchain P2P، أو يتم تخزين بعض المعاملات التي لم يتم تحميلها رسميًا إلى السلسلة في مجمع المعاملات الخاص بالتعدين أو القائمين على التحقق. وعندما يراقب المراجح معلومات المعاملات هذه، فإنه يولد معلومات خاصة به من خلال بعض الاستراتيجيات. معاملة المراجحة، ثم تحديد معاملة المراجحة في موضع معين في الكتلة التالية، على سبيل المثال، يريد أن يكون على رأس الكتلة التالية، أو بمعنى آخر، تنفيذ معاملة استراتيجية مباشرة بعد معاملة معينة للانتشار نفس تجارة المراجحة. بهذه الطريقة، لتحديد أنشطة المراجحة في موقع معين، يمكننا اعتبارها أنشطة MEV. على سبيل المثال، إذا قام المراجح بمراقبة تقلبات أسعار الأصول، فيمكنه شراء الأصل المقابل في مجموعة تداول بسعر منخفض، ثم بيعه عند نقطة عالية في مجموعة أخرى بسعر مرتفع. ويعتبر هذا نشاط MEV.
يتم تنفيذ أنشطة MEA حاليًا بشكل أساسي من قبل المراجحين حول نظام DeFi البيئي، لأن نظام DeFi البيئي يجمع الأصول حاليًا بشكل أساسي، حتى الآن، اجتذبت Ethereum، بما في ذلك أنظمة DeFi البيئية المتسلسلة الأخرى، أكثر من 40 مليار دولار من الأموال. هنا نحتاج أن نذكر مفهومًا حول النظام البيئي DeFi، يسمى DeFi action، والذي يتوافق مع عملية خدمة ذرية يقدمها تطبيق DeFi، على سبيل المثال، نعلم أن AMM تدعم التبادل بين أنواع مختلفة من الأصول، ويمكن للمستخدمين بيع مبلغ USDC، ثم احصل على مبلغ من ETH، ويمكن تعريف هذه العملية على أنها إجراء DeFi. يمكننا استخدام إجراءات DeFi لتمثيل أنشطة MEV. على سبيل المثال، إذا اكتشف المستخدم فجوة في أسعار الأصول على AMMs المختلفة، فيمكن للمستخدم الشراء بسعر منخفض والبيع بسعر مرتفع للحصول في النهاية على أرباح من فرق السعر. يمكننا التعبير عن نشاط MEV هذا كإجراءين DeFi.
في الوقت الحاضر، ينقسم البحث الأكاديمي حول أنشطة MEV بشكل أساسي إلى ثلاث فئات، وهي هجمات الساندويتش، والمراجحة العكسية، والتصفية. وفي مجموعة البيانات التي نعمل معها، وجدنا أن أنشطة MEV الثلاثة هذه حدثت أكثر من مليون مرة. في الواقع هناك مشكلة هنا، بعد أن عرفنا تعريف هذه الأنشطة MEV، كيفية تحديد حدوث الأنشطة. إذا أردنا تحديد أنشطة MEV هذه، فنحن بحاجة إلى تحديد جميع أنشطة المراجحين، مثل المعاملات التي ينشئها المراجحون، وما هي أنواع المراجحة الموجودة في هذه المعاملات، وبعد ذلك يمكننا تحديد نوع نشاط MEV الذي يحدث حاليًا، وتعتمد العملية برمتها بشكل كبير على تعريفنا لنشاط MEV المعروف. لنأخذ هجوم الساندويتش كمثال، بعد أن عرفنا تعريف هجوم الساندويتش، نحتاج إلى تحديد قيمة المراجحة لهجوم الساندويتش ومعاملة المراجحة المقابلة لها، نحتاج إلى وضع الكثير من القواعد بناءً على التعريف، وبعد ذلك تصفية هجمات الساندويتش المرشحة من خلال قواعد المراجحة والقيم والمعاملات. عند تحديد أنواع هجمات MEV المعروفة بهذه الطريقة، سيكون هناك سؤالان: السؤال الأول هو ما إذا كانت أنشطة MEV الثلاثة الشائعة التي نعرفها يمكن أن تمثل جميع أنشطة MEV؟ من الواضح لا، لأن النظام البيئي DeFi قد تطور وتم تطوير تطبيقات جديدة، واستراتيجيات هؤلاء المراجحين تتكرر بالفعل. والسؤال الثاني هو كيف يمكننا اكتشاف أنشطة MEV غير المعروفة. دعونا نلقي نظرة على آلية حزمة المعاملات مع وضع هذا السؤال في الاعتبار.
تم اقتراح آلية حزمة المعاملات لأول مرة في عام 2021. ببساطة، يمكن للمستخدمين تنظيم قائمة انتظار المعاملات، يمكن أن يكون طول قائمة انتظار المعاملات هذه معاملة واحدة أو عدة معاملات، ثم يرسل المستخدم هذه المعاملات إلى شبكة blockchain، ويقوم المرحل بجمع هذه المعاملات المعاملات وإرسالها مباشرة وبشكل خاص إلى القائمين بالتعدين أو المحققين المعنيين. حاليًا، سيقوم المرحلون بتشغيل حزم المعاملات للقيام بمهام الترحيل. تتميز آلية حزمة المعاملات بميزة مهمة جدًا، فعندما يقوم هؤلاء المستخدمون بإنشاء حزمة معاملات، يمكنهم وضع معاملات الأشخاص الآخرين التي لم يتم تحميلها إلى السلسلة في حزمة معاملات، ويمكن التلاعب بترتيب المعاملات في حزمة المعاملات بشكل تعسفي . في هذا الوقت، يمكن لمستخدم حزمة التداول أو المراجح الذي يستخدم حزمة التداول تصميم قواعد المراجحة الخاصة به. على سبيل المثال، يمكنه تصميم استراتيجية أكثر تعقيدًا وأكثر ربحية لأنشطة MEV. لنأخذ هجوم الساندويتش كمثال، إذا لم يتم استخدام حزمة المعاملات، يحتاج المراجح في هجوم الساندويتش إلى إنشاء زوج واحد على الأقل من المعاملات لتحقيق المراجحة، ويمكن لهذا الزوج من معاملات المراجحة أن يستهدف هذه المعاملة الواحدة فقط. يجب تنفيذ المراجحة الناتجة عن معاملة الهجوم هذه بترتيب معين لضمان إمكانية تحكيمها بنجاح. ولكن إذا استخدم المراجح حزمة تداول، فيمكنه جمع العديد من المعاملات التي يمكن المراجحة بها، ويحتاج فقط إلى استخدام زوج من معاملات المراجحة المقابلة لإنشاء المراجحة على معاملات متعددة في نفس الوقت. طالما أن حزمة المعاملات هذه موجودة في السلسلة، فإنها ستنجح بالتأكيد في المراجحة، ولأنها تقوم بمراجحة معاملات متعددة قابلة للمراجحة في نفس الوقت، فإن نتائج المراجحة الخاصة بها تكون أيضًا أكثر ربحية.
تتميز حزمة التداول بأنشطة MEV الغنية والمعقدة للغاية. لأن المستخدمين الذين يستخدمون حزم المعاملات يقومون بتغليف معاملاتهم الكاملة في حزمة المعاملات، ثم يرسلونها إلى مُرحِّل شبكة P2P، وأخيرًا إلى القائمين بالتعدين والمحققين المقابلين. يمكننا تحديد جميع الأنشطة بدقة وبشكل كامل من خلال حزم المعاملات. لذلك، يمكننا تحديد بعض أنشطة MEV غير المعروفة بدقة أكبر من خلال وسيط حزمة المعاملات.
أفكار سير العمل والتصميم
بعد ذلك، دعونا نقدم سير العمل لدينا بالتفصيل. كيف نكتشف أنشطة MEV غير المعروفة من خلال وسيلة مثل حزمة المعاملات؟ يتضمن سير العمل الأساسي أداتين: أولاً، نستخدم أداة ActLifter لتحديد كل إجراء DeFi في حزمة المعاملة بعد أن يجمع المرحل حزمة المعاملة، وبعد الحصول على النتيجة، نعبر عن جميع الإجراءات الموجودة في حزمة المعاملة. ثم استخدم أداة ActCluster لتجميع حزم المعاملات ذات الأنشطة المماثلة معًا من خلال طريقة التجميع، واكتشاف أنشطة MEV الجديدة بشكل أسرع من خلال نتائج التجميع. إذا أردنا اكتشاف أنشطة MEV غير المعروفة، فلا مفر من التأكد يدويًا ما إذا كان نشاط MEV من نوع غير معروف.وبالطبع، فإن الهدف من تصميم عملنا هو تقليل عبء العمل اليدوي قدر الإمكان، وجعل العملية برمتها بسلاسة قدر الإمكان. يتم تنفيذها تلقائيًا.
توجد بالفعل أدوات يمكنها تحديد نشاط MEV من المعاملات. يمكننا تقسيمها تقريبًا إلى فئتين. الفئة الأولى هي قواعد موجزة يدوية بحتة؛ والفئة الثانية هي قواعد إرشادية بحتة، أي استخدام قاعدة إرشادية آلية بحتة لتحديد أنواع معينة من أنشطة MEV. على سبيل المثال، بعد تحديد بعض معلومات النقل الحالية، فإنه يتحقق مما إذا كانت القواعد الإرشادية مستوفاة، وإذا كان الأمر كذلك، فيمكنه تحديد النشاط المقابل. يمكن أن تحقق الطريقة الأولى للملخص اليدوي البحت للقواعد دقة جيدة نسبيًا، لأن هذه العملية عبارة عن تحليل يدوي تمامًا لتطبيقات محددة، ومن ثم يمكنها التأكد من دقة نتائج الكشف، لكن مهمة التحليل تتطلب عبء عمل كبير جدًا، لذلك لا يمكن تغطية كل تطبيق DeFi. على الرغم من أن الوظيفة الثانية يمكن أن تحقق أتمتة خالصة، إلا أن القواعد الإرشادية يمكن أن تغطي فقط بعض الأنواع المحددة. من ناحية أخرى، هناك بعض المشاكل في تصميم القاعدة الإرشادية، مما يؤدي إلى دقة التعرف غير مرضية.
لقد صممنا سير العمل لدينا من خلال الجمع بين مزايا هذين النوعين من الأساليب. يمكننا تحديد عشرة إجراءات DeFi رئيسية في الوقت الحاضر. نحتاج فقط إلى تحديد الحدث يدويًا في تطبيق DeFi الذي يتوافق مع نوع إجراء DeFi بعد بدئه، لذلك لا نحتاج إلى تحليل يدوي، ويمكننا تسليمه بالكامل إلى التحليل الآلي لاحقًا. يمكن للنوع الثاني من الطريقة تحديد إجراءات DeFi تلقائيًا بالكامل، لكنه لا يمكنه تحديد ما إذا كان موضوع التحليل مرتبطًا بأنشطة MEV. على سبيل المثال، إذا تعرفنا على تحويل SWAP، فقد يتعرف على الجمع بين عمليتي نقل غير مرتبطتين تمامًا كإجراء DeFi، ومن الطبيعي أن تكون نتيجة التعرف عليه خاطئة. ولكن يمكننا استخدام هذه المعلومات لتصفية المعلومات المرتبطة فعليًا بإجراء DeFi. بعد الحصول على هذه المعلومات يمكننا تجنب بعض الأخطاء مثل النوع الثاني من الطريقة من خلال الطرق الآلية.
على سبيل المثال، إليك معاملة تتضمن أربعة تحويلات إجمالاً، ويتم تمييز ترتيب حدوثها ومبلغ الأموال ونوعها بالأرقام التسلسلية. في هذه العملية، تبدأ AMM فعليًا حدثًا متعلقًا بإجراء المبادلة. بعد أن تحدد الطريقة الأولى بدء الحدث، فإنها تحتاج إلى استعادة المحتوى الحالي من خلال بعض معلمات الحدث. على سبيل المثال، يحتاج إلى إلقاء نظرة على الكود ومنطق الأعمال وبعض متغيرات الوظائف للعقد 699 لاستعادة المحتوى الحالي. بعد أن حصلنا على هذه المعلومات، قمنا بتصميم قاعدة بناءً على خصائصها الفريدة لنقل الأصول. على سبيل المثال، القاعدة التي قمنا بتحسينها هي أن عقد تشغيل DeFi الحالي يتلقى وينقل أنواعًا مختلفة من الأصول. عندما وجدنا أن هناك نوعين من هذا القبيل بعد يتوافق نقل الأصول مع هذه الخصائص، ويمكننا استعادة محتوى إجراء المبادلة المقابل. النوع الثاني من الطريقة هو المطابقة المباشرة بين عمليتي نقل للأصول، حيث تلقى حسابا نقل الأصول أنواعًا مختلفة من الأصول وقاما بنقلها. ستعتبر التحويلتين الأولى والخامسة زوجًا من التحويلات المرتبطة، وستعتبر الحساب في المنتصف بمثابة AMM، ومن الواضح أنه يمكننا أن نرى بشكل حدسي أن نتيجة التعرف غير دقيقة.
القواعد التي قمنا بتلخيصها من خلال التحليل اليدوي هي أنواع إجراءات DeFi المقابلة للأحداث ذات الصلة، على الرغم من تلخيص النتائج من خلال التحليل اليدوي، ما زلنا نحاول تحسين عملية التحليل اليدوي إلى عملية شبه تلقائية لضمان موثوقية العملية بأكملها. سوف نتحقق من الموقع الرسمي لتطبيقات DeFi، ومستندات المطورين، بما في ذلك بعض رموز مصدر العقد من المواقع الرسمية لـ DeFiPulse.com وDapp.com. نقوم بتطوير أدوات التحليل التي يمكنها استخراج بعض أوصاف الأحداث في المستندات من هذه المواد المعنية، مثل كيفية تعريف هذا الحدث بالرموز المميزة وفي أي وظائف ومقتطفات التعليمات البرمجية وتعليقات التعليمات البرمجية حيث يتم استخدام هذه الأحداث. بعد أن استخرجنا هذه الأشياء، من خلال التحليل والمناقشة اليدوية، قررنا أخيرًا أن هناك 88 حدثًا يتوافق مع أنواع مختلفة من إجراءات DeFi.
نقوم بإدخال المعاملة المراد تحليلها في هذا القاموس، ونحلل الأحداث التي حدثت في المعاملة. ثم عندما يظهر الحدث في هذا القاموس، نقوم باستخراج المعلومات الأساسية وفقًا للقواعد المقابلة، مثل العقد الذي يقوم بتشغيل إجراء DeFi هذا، ونوع DeFi، وأي عمليات نقل الأصول المرتبطة بإجراء DeFi هذا. بعد الحصول على هذا المحتوى، سنقوم بتلخيص القواعد المميزة لنقل الأصول، ثم نستخدم هذه القاعدة لمطابقة إجراء DeFi النهائي. بدءًا من عشرة تعريفات لإجراءات التمويل اللامركزي، نلخص القواعد المميزة لنقل الأصول. بعد أن نجمع هذه المعلومات في الخطوة السابقة، سنستخدم قواعد المطابقة هذه لإجراء المطابقة، مما سيساعدنا في النهاية على تحديد محتوى DeFi المحدد الذي حدث في هذه المعاملة. بعد أن يتعرف ActCluster على كل معاملة في حزمة المعاملات، يمكننا التعبير عن سلوك حزمة المعاملات.
دعونا أولاً نفهم مبادئ تصميم ActCluster. نحن نعلم أن التحليل اليدوي أمر لا مفر منه في هذه العملية، ويجب أن يعتمد على العمل اليدوي لتحديد ما إذا كان نشاط حزمة المعاملات هو نوع غير معروف من نشاط MEV. وبناءً على ذلك، فإن فكرتنا الأساسية هي تجميع المعاملات ذات الأنشطة المماثلة معًا. بالنسبة لكل مجموعة، نحتاج فقط إلى أخذ عينة عشوائية واحدة أو عدة حزم معاملات للتحليل، مما قد يؤدي إلى تسريع عملية التحليل اليدوي واكتشاف أنواع مختلفة من أنشطة الاتفاقات البيئية المتعددة الأطراف في النهاية. عندما نستخدم التحليل العنقودي لتجميع حزم المعاملات، فإننا نواجه معضلة. عندما نقوم بتعيين قوة التجميع لحزم المعاملات بشكل تقريبي نسبيًا، سيتم تجميع حزم المعاملات التي تحتوي على أنواع مختلفة من الأنشطة معًا، في هذا الوقت، على الرغم من تقليل عدد المجموعات، يتم أيضًا تغيير مهام التحليل اليدوي المقابلة. أقل، ولكن هناك بعض أحداث MEV الجديدة التي سيتم تفويتها. إذا قمنا بضبط كثافة التجميع، على الرغم من أننا نستطيع التمييز بين بعض حزم المعاملات المقابلة لأنشطة الاتفاقات البيئية المتعددة الأطراف المتشابهة ولكن المختلفة، فإن عبء عمل التحليل اليدوي المعني سيزداد بشكل كبير.
بناءً على هذه المشكلة، قمنا بتصميم طريقة تحليل عنقودية تكرارية، والتي تقوم بإجراء تحليل عنقودي بشكل متكرر في جولات متعددة. في كل جولة، سنقوم بإزالة حزم المعاملات المعروفة التي تحتوي على أنشطة MEV الجديدة التي تم اكتشافها في الجولات السابقة، ومن ثم تحسين قوة التجميع لحزم المعاملات المتبقية. لا يمكننا استخدام طرق التجميع التقليدية بشكل مباشر لتجميع حزم المعاملات، لأن حزم المعاملات تحتوي في الواقع على معاملات متعددة، ويمكن أن تحتوي معاملة واحدة على إجراءات DeFi متعددة. إذا قمنا بتمثيل حزمة المعاملات بأكملها، فإن هيكلها يكون في الواقع غير متجانس وهرمي. في هذا الوقت، استخدمنا طريقة التعلم التمثيلي لتمثيل محتويات حزمة المعاملة في مساحة تحديد المواقع. تتمثل ميزة استخدام التعلم التمثيلي في أننا لا نحتاج إلى إجراء تعلم وفهم متعمقين للبيانات التي نريد تحليلها ومعالجتها، ولا نحتاج إلى معرفة غنية بالمجال، بل نحتاج فقط إلى إجراء معالجة بسيطة موجهة نحو البيانات.
على سبيل المثال، نحتاج فقط إلى تسمية حزمة المعاملات التي تتضمن أنشطة MEV في حزمة المعاملة. إذا عرفنا تعريف نشاط MEV، فمن الأسهل بالنسبة لنا تصميم القواعد المقابلة واكتشاف ما إذا كان موجودًا تلقائيًا. يمكننا تصنيف حزم المعاملات هذه تلقائيًا لتمثيل التعلم. تحليلنا العنقودي هو نوع تكراري، وبعد كل تكرار، يمكننا اكتشاف أنشطة MEV جديدة. في هذا الوقت، يمكننا بالفعل إثراء التسميات المقابلة لأنشطة MEV المكتشفة حديثًا في عملية التعلم التمثيلي لدينا. عندما يتم إثراء التسميات المستخدمة في عملية التعلم التمثيلي لدينا، يمكن تحسين أداء وكفاءة التدريب على نموذج التعلم التمثيلي بالكامل بشكل متكرر، ويمكن أيضًا تحسين قدرة التعلم التمثيلي هذا على التعبير عن أنشطة حزمة المعاملات بشكل متكرر. يمكن أن تكون هناك بالفعل معاملات متعددة في حزمة المعاملات، ويمكن أن يكون هناك بالفعل العديد من إجراءات DeFi في المعاملة، نحتاج إلى التعبير عن احتياجات حزمة المعاملات. أولاً، لكل نوع من إجراءات التمويل اللامركزي، نحدد معلمة موحدة، مثل العقد الذي يتم تشغيله، وما هي كمية ونوع الأصول المستلمة والمحولة؟ نحدد كل إجراء DeFi بهذه الطريقة. إذا حددنا أن هناك إجراءات DeFi متعددة في المعاملة، فإننا نمثلها ككتل إجراءات، بحيث يمكن تمثيل كتلة المعاملة المقابلة للمعاملة، والتي تحتوي على معلومات المصدر للمعاملة، مثل من بدأ المعاملة، و إعادة التوجيه إلى من تم إرسالها؟ عندما يحدث إجراء DeFi في معاملة ما، سنقوم بملئه بكتل الإجراءات بالترتيب. يتم تمثيل كل معاملة بكتلة معاملة، وأخيراً نحصل على بنية حزمة المعاملة، والتي يمكن اعتبارها مصفوفة. بعد تمثيل حزمة المعاملات هذه، يمكننا استخدامها لتعلم التمثيل. كل حزمة معاملة عبارة عن هيكل موحد، وبعد ذلك يمكننا استخدام النموذج لمعالجة الدُفعات.
تقييم الأداء
بعد ذلك، سنشارك الأساليب التي استخدمناها لتقييم أداء سير العمل. يتم توفير مجموعة البيانات الخاصة بعملية التحليل بأكملها من خلال واجهة برمجة التطبيقات المقدمة من Flashbots، ويتم جمع بيانات حزمة المعاملات من فبراير 2021 إلى ديسمبر 2022، بما في ذلك أكثر من 6 ملايين حزمة معاملة و26 مليون معاملة.
لقد صممنا بعض الأدوات لمقارنة دقة واكتمال إجراءات DeFi. تجدر الإشارة هنا إلى أنه من بين هذه الأدوات الموجودة على السلسلة، حاليًا تستطيع Etherscan فقط استعادة إجراء DeFi في المعاملة من خلال صفحة الويب الخاصة بها والمعلومات التي توفرها. ومثل DeFiRanger، نعيد إنتاج أساليبهم بناءً على أوراقهم البحثية. بالإضافة إلى ذلك، قمنا بتصميم أداة تسمى EventLifter لمحاولة استرداد إجراءات DeFi مباشرةً من أحداث المعاملات. لقد اختبرنا ActLifter ضمن تكوينات مختلفة، واستخدمنا أدوات متنوعة لمقارنة دقة التعرف. بالنسبة لـ ActCluster، فكرتنا الرئيسية هي اعتماد طريقة تعلم الاجتثاث. بالنسبة للأنشطة الجديدة التي يمكن تحديدها، بعد الاجتثاث لبعض وحدات ActCluster، إذا أردنا تحديد بعض الأنشطة الجديدة التي لم يتم العثور عليها، فكم يمكننا تحديدها؟ ما مدى حجم حزمة المعاملات أو حجم العمل الناتج عن التحليل اليدوي لدينا؟ على سبيل المثال، قمنا بإلغاء تحديث التسمية الديناميكية في وحدة تعلم التمثيل ActCluster، وقمنا بالفعل بإلغاء العملية برمتها. نحن نأخذ عينة عشوائية مكونة من 6 ملايين حزمة معاملات ونرى عدد حزم المعاملات التي يتعين علينا تحليلها يدويًا لاكتشاف نفس القدر من نشاط MEV الجديد.
يمكن لأدواتنا أن تحقق ما يقرب من 100% من الدقة والاكتمال في ظل حالة التكوين الموحد. ولكن مثل الأدوات الأخرى مثل Etherscan، على الرغم من أن دقتها يمكن أن تصل إلى 100%، وهو أمر مُرضٍ تمامًا، إلا أنها ستفتقد الكثير من إجراءات DeFi. لا تمتلك Etherscan نفسها طريقة مفتوحة المصدر، ونتوقع أنها قد تستخدم التحليل اليدوي لتلخيص القواعد لتحديد إجراءات DeFi، وبالتالي ستفتقد بعض الأنواع التي لا يمكن تغطيتها يدويًا. تجدر الإشارة هنا إلى أن Etherscan لا يوفر في الواقع واجهة تلقائية، فإذا كنت تريد إجراء تعريف على نطاق واسع، فلن تتمكن من إكمال مثل هذه المهمة مباشرة. إن دقة واكتمال DeFiRanger، والتي تم تحديدها بالكامل من خلال القواعد المخفية، ليست مرضية. بعد أن قمنا بتجربة ActCluster، وجدنا أنه من خلال أربع جولات من التحليل التكراري، نحتاج فقط إلى تحليل إجمالي 2000 حزمة معاملة للعثور على 17 نشاطًا غير معروف للمركبات الميكانيكية والكهربائية. بعد أن نتخلص من بعض هذه الوحدات، قد نحتاج إلى تحليل ما يصل إلى 170.000 حزمة معاملة يدويًا لتحديد 17 نشاطًا غير معروف من أنشطة MEV المذكورة للتو.
التحليل والتطبيق التجريبي
ما هي التطبيقات المحددة لطريقتنا في تحديد الأنواع غير المعروفة من نشاط MEV؟ أولاً، ما إذا كان بإمكانها تعزيز تدابير التخفيف الحالية من MEV وتكون قادرة على الدفاع ضد بعض أنشطة MEV. والثاني هو استخدام نتائج التحليل لمعرفة ما إذا كان بإمكاننا تحليل تأثير أنشطة MEV بشكل أكثر شمولاً على بيئة blockchain، بما في ذلك التأثير على إعادة تنظيم شوكة غابة الكتل والأمن المالي للمستخدمين.
لقد ذكرنا سابقًا أن مهاجمي شبكة MEV Boost سيستخدمون أدوات للحصول على حزم المعاملات من المستخدمين، ثم يقومون في النهاية بتوزيعها على القائمين بالتعدين والمدققين الذين يقومون بتوصيلهم. سيقوم القائمون على إعادة الترحيل بإزالة حزم المعاملات التي تحتوي على أنشطة MEA من حزم المعاملات التي يتلقونها، وبهذه الطريقة يمكنهم تقليل بعض التأثير السلبي لأنشطة MEA على blockchain. الفكرة الرئيسية لهذا الارتباط هي تصميم القواعد المقابلة من خلال تعريف أنشطة MEV الحالية لاكتشاف ما إذا كانت حزمة المعاملات تحتوي على أنشطة MEV. من الواضح أن هؤلاء المرحلين غير قادرين على استبعاد بعض حزم المعاملات التي تحتوي على أنشطة MEV غير معروفة. استنادًا إلى سير العمل لدينا، قمنا بتصميم أداة MEVHunter، والتي يمكنها اكتشاف الأنواع الجديدة من أنشطة MEV التي اكتشفناها من حزمة المعاملات.
تظهر نتائج الكشف أن أكثر من مليون حزمة تداول تحتوي على أنشطة MEV للمراجحة العكسية، و 30٪ من 6 ملايين حزمة تداول أخرى تحتوي على ثلاثة أنشطة MEV معروفة. بالنسبة لأنشطة MEV المكتشفة حديثًا، وجدنا أن ما يقرب من نصف حزم المعاملات تحتوي فقط على أنشطة MEV الجديدة هذه. إذا استخدم المرحلون أداة MEVHunter، فيمكن أن يساعدهم ذلك في تصفية 3 ملايين حزمة معاملات تحتوي على أنشطة MEV، ومن ثم يمكنهم اختيار إزالة حزم المعاملات هذه لتقليل التأثير السلبي لأنشطة MEV على blockchain.
التطبيق الثاني هو أننا نستكشف تأثير أنشطة MEV الجديدة على شوكات blockchain وعمليات إعادة التنظيم. أفادت بعض الدراسات السابقة أن بعض القائمين بالتعدين المالي سيتم تحفيزهم من خلال فوائد بعض أنشطة MEV لتقسيم وإعادة تنظيم blockchain الحالي، وإجراء أنشطة MEV بأنفسهم والاستمتاع بالفوائد. على سبيل المثال، عندما يكون دخل نشاط MEV الخاص بالكتلة 4 أضعاف مكافأة الكتلة، فإن ما لا يقل عن 10% من القائمين بالتعدين سوف يقومون بتقسيم الكتلة وإعادة تنظيمها.
نحدد أولاً حزم المعاملات التي تحتوي على أنشطة MEV جديدة استنادًا إلى أداة MEVHunter المذكورة للتو، ثم نقدر الكثافة المقابلة لأنشطة MEV هذه من خلال إيرادات القائمين بالتعدين في حزم المعاملات هذه. إليك مفهوم يجب تقديمه. في آلية حزمة المعاملات، من أجل ضمان إمكانية تحميل حزم معاملات المراجحة الخاصة بهم إلى السلسلة، عادةً ما يشارك هؤلاء المراجحون جزءًا من عائدات أنشطة MEV مع عمال المناجم، ثم سيختار القائمون بالتعدين أخيرًا حزمة المعاملات ذات الدخل الأعلى ليتم تحميلها على السلسلة. يمكننا استخدام هذا الدخل لتقدير نشاط MEV بشكل موحد في كل حزمة معاملة. وفقًا لنتائجنا الإحصائية، هناك أكثر من 900 كتلة تبلغ إيرادات MEV الخاصة بها أربعة إلى ثمانية أضعاف مكافأة الكتلة، وهناك كتلة أخرى تبلغ مكافأة MEV الخاصة بها أكثر من 700 ضعف مكافأة الكتلة. نحن نستخدم إطار عمل ماركوف لاتخاذ القرار لتحديد الحد الأدنى لعدد عمال المناجم الذين يمكن تحفيزهم لأداء شوكات الكتلة وإعادة التنظيم نظرًا لدخل MEV. وجدنا أخيرًا أن هناك أكثر من 1000 كتلة يمكنها تحفيز ما لا يقل عن 10% من القائمين بالتعدين على إجراء شوكات الكتل وإعادة التنظيم. بالنسبة للكتلة الأكثر خطورة، يكون ما لا يقل عن 6 من أصل 10000 عامل تعدين مسؤولين عن تشعب الكتلة وإعادة تنظيمها.
التطبيق الثالث هو استكشاف تأثير أنشطة MEV على الأمن المالي لمستخدمي blockchain. يمكن أن تؤدي أنشطة MEV في الواقع إلى تمديد وقت الانتظار لتحميل معاملات مستخدمي blockchain إلى السلسلة الموجودة على مجمع المعاملات أو شبكة P2P، وهذا أيضًا أحد التهديدات الرئيسية للأمن المالي للمستخدمين الناجمة عن أنشطة MEV. إذا تأخرت معاملات المستخدمين على السلسلة، فيمكن للمراجحين الحصول على مزيد من الوقت لتصميم أنشطة MEV أكثر تعقيدًا وأكثر ربحية. التطبيق الثالث هو مقارنة تأثير نشاط MEV على وقت الانتظار حتى يتم تحميل معاملات المستخدم أخيرًا إلى السلسلة. الخطوة الأولى هي جمع وقت انتظار المعاملة. نقوم بشكل أساسي بنشر العقد على الشبكة، ثم نسجل الوقت الذي تم فيه اكتشاف المعاملة لأول مرة على الشبكة، والوقت الذي تم فيه تحميل المعاملة أخيرًا إلى السلسلة، وأخيرًا نحسب الوقت الذي تحتاجه للانتظار. نحن نستخدم الأرباع الثلاثة لأوقات الانتظار لجميع المعاملات في كل كتلة لإجراء الإحصائيات، حتى نتمكن من تنظيم أوقات انتظار المعاملات في سلسلة زمنية لكل كتلة. ثم يتميز نشاط MEV المقابل في كل كتلة أيضًا بالدخل الذي يحصل عليه القائمون بالتعدين في كل كتلة من حزمة المعاملات التي تحتوي على نشاط MEV الجديد، وبهذه الطريقة نحصل على سلاسل زمنية متعددة. نقوم بتقييم تأثير نشاط MEV على وقت التداول من خلال اختبار السببية جرانجر، حيث يمكن لاختبار السببية تحديد ما إذا كانت التقلبات في سلسلة زمنية واحدة تؤدي إلى تقلبات في سلسلة زمنية أخرى، وعلى أي مدى تؤثر أو تسبب تقلبات السلاسل الزمنية الأخرى. عندما يتقلب نشاط MEV، هل يؤدي ذلك إلى إطالة وقت انتظار معاملة المستخدم، وكم عدد الكتل اللاحقة التي سيكون لها التأثير؟
عندما تكون قيمة P لاختبار السببية أقل من أو تساوي 0.5، فهذا يعني أن وقت انتظار المعاملة في هذه الكتلة قد تم تمديده بتأثير أنشطة MEV السابقة. وفقًا لنتائج التحليل، يمكن العثور على أنه عند حدوث نشاط MEV، سيتم تمديد وقت الانتظار لـ 50٪ من المعاملات في الكتلتين التاليتين. عند حدوث نشاط MEV، سيتم تمديد وقت الانتظار لـ 25% من المعاملات في الكتل الثلاثين التالية. سيضع القائمون بالتعدين أو القائمون على التحقق المعاملات ذات رسوم الغاز المنخفضة نسبيًا في نهاية كتلة التغليف، وكلما انخفض غاز معاملة المستخدم، زاد النطاق المتأثر بأنشطة MEV، وسيتم تمديد وقت الانتظار لفترة أطول.
في الختام، شاركنا أولاً كيفية العثور على أنشطة MEV غير المعروفة من خلال سير العمل والتصميم التفصيلي لوحدتين في سير العمل، ثم تحققنا من فعالية سير العمل من خلال التحليل التجريبي وأدرجنا ثلاثة تطبيقات. لقد اكتشفنا حتى الآن 17 نشاطًا جديدًا للمركبات الميكانيكية والكهربائية باستخدام سير العمل.