المؤلف: Daii المصدر: mirror
في يوم الأربعاء الماضي (12 مارس)، كانت الأخبار التي تفيد بأن أحد تجار العملات المشفرة خسر 215000 دولار دفعة واحدة بسبب هجوم MEV في كل الأخبار.

ببساطة، أراد هذا المستخدم استبدال عملات USDC المستقرة بقيمة 220,800 دولار أمريكي بما يعادلها من USDT في منصة تداول Uniswap v3، لكنه لم يحصل إلا على 5,272 USDT. في ثوانٍ معدودة، تبخرت أصوله بمقدار 215,700 دولار أمريكي، كما هو موضح في الشكل أدناه.

الصورة أعلاه هي لقطة شاشة للسجل الموجود على السلسلة لهذه المعاملة. وكان السبب الجذري لهذه المأساة هو "هجوم الساندويتش" سيئ السمعة في عالم البلوكشين.
أول ما يكشف عن هجوم MEV كان مايكل (انظر الصورة أعلاه) ، الذي أوضح:
) 200 ألف دولار و 8 آلاف دولار من هذه المعاملة.
الترجمة: mev يقوم الروبوت بتشغيل المعاملة مسبقًا عن طريق تبديل جميع سيولة USDC. بعد تنفيذ الصفقة، يقومون بإعادة السيولة. أعطى المهاجم لمنشئ الكتل (bobTheBuilder) إكرامية قدرها 200 ألف دولار وحقق ربحًا قدره 8 آلاف دولار من الصفقة. هناك خطأ مطبعي في المحتوى أعلاه. قام روبوت هجوم MEV بتبادل كمية كبيرة من USDT، وليس USDC. ومع ذلك، بعد قراءة تفسيره وتقارير الأخبار، قد لا تزال تشعر بالارتباك لأن هناك الكثير من المصطلحات الجديدة، مثل هجوم الساندويتش، والتقدم للأمام في المعاملة، وإعادة السيولة، وإعطاء نصيحة لمنشئ الكتل، وما إلى ذلك. اليوم، سوف نأخذ هجوم MEV هذا كمثال، ونقوم بتفكيك العملية بأكملها، ونأخذك إلى العالم المظلم لـ MEV.
أولاً، نحتاج إلى شرح ما هو MEV.
1. ما هو MEV؟
كان اسم MEV في الأصل هو Miner Extractable Value، والذي يشير إلى الربح الإضافي الذي يمكن أن يحصل عليه عمال المناجم عن طريق إعادة ترتيب المعاملات أو إدراجها أو استبعادها في كتل blockchain. وقد تتسبب هذه العملية في دفع المستخدمين العاديين لتكاليف أعلى أو الحصول على أسعار معاملات أقل ملاءمة. مع تحول شبكات blockchain مثل Ethereum من آلية إجماع إثبات العمل (PoW) إلى آلية إجماع إثبات الحصة (PoS)، تنتقل القدرة على التحكم في ترتيب المعاملات من عمال المناجم إلى المحققين. ولذلك، تطور المصطلح من "القيمة القابلة للاستخراج من قبل المنجم" إلى "القيمة القصوى القابلة للاستخراج".
على الرغم من تغير الاسم، إلا أن المفهوم الأساسي لاستخراج القيمة من خلال التلاعب بترتيب المعاملات لا يزال كما هو.
لا يزال المحتوى أعلاه احترافيًا بعض الشيء، ما عليك سوى أن تتذكر: أن MEV موجودة لأن عمال المناجم السابقين والمحققين الحاليين لديهم الحق في فرز المعاملات في مجموعة الذاكرة (mempool). يحدث هذا الفرز داخل الكتلة. يُنتج الإيثريوم حاليًا كتلةً كل ١١ ثانية تقريبًا، مما يعني أن هذه القدرة تُمارس مرةً واحدةً كل ١١ ثانية. وبالمثل، تم تحقيق هجوم MEV هذه المرة أيضًا من خلال فرز المحقق.
انقر فوق هذا الرابط وستتمكن من رؤية محتوى المعاملة الموجود في الكتلة المرقمة 22029771 المتعلقة بهذا الهجوم، كما هو موضح أدناه. يرجى ملاحظة أن المعاملات 1 و2 و3 في الشكل أعلاه هي هجمات MEV المذكورة في بداية هذه المقالة. تم ترتيب هذا الترتيب بواسطة المُحقق (bobTheBuilder). لماذا هذا ممكن؟ 2. مبدأ MEV
لفهم مبدأ عمل MEV، نحتاج أولاً إلى فهم كيفية تسجيل blockchain وتحديث المعلومات. 2.1 آلية تحديث حالة البلوكشين يمكن اعتبار البلوكشين بمثابة دفتر متزايد باستمرار يسجل جميع المعاملات التي تحدث. يتم تحديد حالة هذا الدفتر، مثل رصيد كل حساب، واحتياطيات الرموز المختلفة في مجموعة تداول Uniswap، وما إلى ذلك، من خلال المعاملات السابقة.
عندما تتم إضافة كتلة جديدة إلى blockchain، سيتم تنفيذ جميع المعاملات الموجودة في الكتلة واحدة تلو الأخرى بالترتيب الذي تم ترتيبها به في الكتلة. في كل مرة يتم فيها تنفيذ معاملة، ستتغير الحالة العالمية لسلسلة الكتل وفقًا لذلك.
وهذا يعني أن ترتيب الكتل ليس هو المهم فقط، بل ترتيب المعاملات في الكتل أيضًا. إذن كيف يتم تحديد ترتيب المعاملات في كتلة؟ 2.2 يحدد المحققون ترتيب المعاملة
عندما يبدأ المستخدم معاملة على شبكة blockchain، مثل معاملة تحول USDC إلى USDT من خلال Uniswap، فسيتم بثها أولاً إلى العقد في الشبكة. بعد التحقق الأولي، تدخل المعاملة إلى منطقة تسمى "mempool". تعتبر مجموعة الذاكرة بمثابة منطقة انتظار حيث لم يتم تأكيد المعاملات وإضافتها إلى الكتلة التالية من blockchain.
كان لدى عمال المناجم السابقين (في أنظمة PoW)، والآن لدى المحققين (في أنظمة PoS)، القدرة على تحديد المعاملات من مجموعة الذاكرة وتحديد الترتيب الذي يتم به ترتيب هذه المعاملات في الكتلة التالية.
يعتبر ترتيب المعاملات في الكتلة أمرًا بالغ الأهمية. قبل الانتهاء من كتلة وإضافتها إلى blockchain، يتم تنفيذ المعاملات في تلك الكتلة بالترتيب الذي يحدده المحقق (مثل bobTheBuilder). وهذا يعني أنه إذا كانت الكتلة تحتوي على معاملات متعددة تتفاعل مع مجموعة المعاملات نفسها، فإن الترتيب الذي يتم به تنفيذ هذه المعاملات سيؤثر بشكل مباشر على نتيجة كل معاملة.
تتيح هذه القدرة للمحققين إعطاء الأولوية لمعاملات محددة، أو تأخير أو استبعاد معاملات أخرى، أو حتى إدراج معاملاتهم الخاصة لتحقيق أقصى قدر من الأرباح. ترتيب هذه المعاملة مهم بنفس القدر. في حال وجود أي خطأ، لن ينجح الهجوم.
2.3 ترتيب المعاملات لهذا الهجوم MEV
دعونا أولاً نلقي نظرة سريعة على المعاملات الثلاث المتعلقة بهذا الهجوم MEV:

المعاملة 1 (المعاملة الأولى للمهاجم): يتم تنفيذها قبل معاملة الضحية. الغرض من هذه المعاملة عادة هو رفع سعر الرمز الذي يريد الضحية تداوله.
المعاملة 2 (معاملة الضحية): يتم تنفيذها بعد المعاملة الأولى للمهاجم. بسبب عمليات المهاجم السابقة، أصبح سعر التداول في السوق غير مناسب للضحية. عليه دفع المزيد من USDC لاستبداله بكمية مساوية من USDT، أو لا يمكنه استبداله إلا بكمية أقل من USDT.
المعاملة 3 (المعاملة الثانية للمهاجم): يتم تنفيذها بعد معاملة الضحية. الهدف من هذه التجارة عادة هو الاستفادة من تحركات الأسعار الجديدة الناجمة عن تجارة الضحية.
المحقق لهذا الهجوم MEV هو bob-The-Builder.eth، الذي يتحمل مسؤولية ترتيب المعاملات بالترتيب 1، 2، 3. بالطبع، لم يكن عمل بوب ذا بيلدر عبثًا. فقد ربح أكثر من 100 إيثريوم بمشاركته في هذا الفرز. في المقابل، لم يربح مُنفّذ هجوم MEV سوى 8000 دولار أمريكي. مصدر دخلهم هو المعاملة الثانية للضحية. باختصار، تآمر المهاجم (روبوت MEV) مع المحقق (bobTheBuilder) للتسبب في خسارة ضحية المعاملة الثانية 215000 دولار، تلقى المهاجم منها 8000 دولار وتلقى المحقق 200000 دولار (أكثر من 100 ETH).
طريقة الهجوم التي استخدموها لها اسم واضح - هجوم الساندويتش. بعد ذلك، سوف نشرح كل معاملة على حدة حتى تتمكن من فهم ما يتعلق بهجوم الساندويتش الأكثر تعقيدًا في MEV بشكل كامل. 3. تحليل كامل لهجوم الساندويتش يُطلق عليه اسم هجوم الساندويتش لأن معاملتي المهاجم (المعاملة 1 والمعاملة 3) وُضعتا قبل وبعد معاملة الضحية (المعاملة 2)، على التوالي، مما يجعل تسلسل المعاملات بأكمله يشبه هيكل الساندويتش (انظر الشكل أعلاه).
المعاملة 1 والمعاملة 3 لهما وظائف مختلفة. ببساطة، المعاملة 1 هي المسؤولة عن ارتكاب الجريمة، والمعاملة 3 هي المسؤولة عن جمع وتقسيم الغنائم. على وجه التحديد، العملية برمتها هي كما يلي: 3.1 المعاملة 1، المسؤولة عن رفع سعر USDT انقر على رابط المعاملة رقم 1 في الصورة أعلاه، وستشاهد تفاصيل المعاملة رقم 1. قام المهاجم برفع سعر USDT بشكل مباشر عن طريق استبدال 17.58 مليون USDT مقابل 18.65 مليون USDC، كما هو موضح في الشكل أدناه.

في هذا الوقت، ما تبقى في مجمع السيولة هو كمية كبيرة من USDC وكمية صغيرة من USDT. إذا كان، كما تقول التقارير الإخبارية، قبل الهجوم، كان لدى سيولة Uniswap ما يقرب من 19.8 مليون USDC وUSDT على التوالي، فبعد تنفيذ المعاملة 1، بقي 2.22 مليون USDT فقط (=1980-1758) في المجمع، بينما زاد رصيد USDC إلى ما يقرب من 38.45 مليون (=1980 + 1865). حاليًا، نسبة التبادل بين USDC وUSDT في هذا المجمع بعيدة كل البعد عن 1:1، بل 1:17، مما يعني أن 17 USDC مطلوبة لتبادل USDT واحد. مع ذلك، هذه النسبة تقريبية فقط، لأن هذا المجمع هو V3، والسيولة فيه غير موزعة بالتساوي. هناك شيء آخر أريد أن أخبرك به. في الواقع، لم يستخدم المهاجم 18.65 مليون USDC دفعةً واحدة. أما الكمية الفعلية من USDC المستخدمة فكانت 1.09 مليون، أي أقل من 6%. كيف فعل ذلك؟ سوف نتطرق إلى مزيد من التفاصيل عندما ننتهي من الحديث عن الهجوم. 3.2 المعاملة 2، تنفيذ 220,000 USDC لتبادلها مقابل USDT انقر فوق رابط المعاملة 2 في الصورة أعلاه لرؤية الصورة أدناه. كما هو موضح أعلاه، بسبب تأثير المعاملة 1، تلقت الضحية في المعاملة 2 فقط 5272 USDT مقابل 220,000 USDC، وخسرت 170,000 USDT دون علمها. لماذا نقول أنه دون وعي؟ لأنه إذا قام الضحية بالتداول عبر Uniswap، فسوف يرى الواجهة التالية عند إرسال المعاملة.

من الصورة أعلاه، يمكنك أن ترى أنه من المضمون أن الضحايا سيحصلون على 220 ألف يوان على الأقل. السبب وراء حصول الضحايا على أكثر من 5000 USDT في النهاية كان بسبب انزلاق ضخم تجاوز 90٪. ومع ذلك، فإن Uniswap لديه حد انزلاق أقصى افتراضي بنسبة 5.5%، انظر الشكل أدناه.

وهذا يعني أنه إذا قام الضحية بالتداول من خلال الواجهة الأمامية لـ Uniswap، فيجب أن يكون قد تلقى ما لا يقل عن 208,381 USDT (= 220,510 * 94.5%). ربما تتساءل لماذا يظهر سجل blockchain أعلاه أن هذه المعاملة تم إجراؤها على "Uniswap V3".
لأن الواجهة الأمامية والخلفية لمعاملات blockchain منفصلة. يشير "Uniswap V3" المذكور أعلاه إلى صندوق Uniswap USDC-USDT. هذا الصندوق عام، ويمكن لأي منصة تداول التداول من خلاله.
ولهذا السبب على وجه التحديد، يشتبه بعض الناس في أن الضحية ليس شخصًا عاديًا، وإلا لما كان هناك مثل هذا الانزلاق الكبير، وقد يتم استخدام هجوم MEV لغسل الأموال. سنتحدث عن هذا لاحقًا. 3.3 المعاملة 3، الحصاد + تقسيم الغنائم انقر فوق الرابط لعرض تفاصيل المعاملة 3، كما هو موضح أعلاه. دعونا نتحدث عن المعاملات A وB وC بشكل منفصل.
المعاملة أ، أعادت السيولة في المجمع إلى وضعها الطبيعي، واستبدلت 17.32 مليون USDC مقابل 18.6 مليون USDC؛
المعاملة ب، استعدت لتقاسم الغنائم، واستبدلت جزءًا من العائدات - 204000 USDC مقابل 105 ETH؛
المعاملة ج، تقاسمت الغنائم، ودفعت 100.558 ETH إلى المحقق bob-The-Builder.eth.
في هذه المرحلة، تنتهي الهجمة الساندويتش.
الآن دعونا نجيب على سؤال مهم للغاية مذكور أعلاه: كيف استخدم المهاجم 1.09 مليون USDC لتنفيذ هجوم بقيمة 18 مليونًا؟ 4. كيف نفذ المهاجم هجومًا على مجموعة 18 مليون USDC؟ السبب وراء تمكن المهاجم من تنفيذ هجوم على مستوى 18 مليون USDC باستخدام 1.09 مليون USDC فقط من رأس المال هو وجود آلية سحرية ومميزة في عالم blockchain - Uniswap V3's Flash Swap. 4.1 ما هو Flash Swap؟
بعبارات بسيطة:
تسمح عمليات المبادلة السريعة للمستخدمين بسحب الأصول من مجموعة Uniswap ثم سدادها بأصل آخر (أو نفس الأصل بالإضافة إلى رسوم) في نفس المعاملة.
طالما تم إكمال العملية بأكملها في نفس المعاملة، يسمح Uniswap بهذا السلوك "التقط أولاً، وادفع لاحقًا". يرجى ملاحظة أنه يجب أن يتم ذلك ضمن نفس المعاملة. تم تصميم هذا لضمان أمان منصة Uniswap نفسها:
الإقراض بدون مخاطر: يسمح Uniswap للمستخدمين بسحب الأموال مؤقتًا من المجمع دون ضمانات (على غرار الإقراض)، ولكن يجب سدادها على الفور في نهاية المعاملة.
الذرية: يجب أن تكون العملية بأكملها ذرية، إما ناجحة تمامًا (إعادة الأموال) أو فاشلة تمامًا (تراجع المعاملة). كان الهدف الأصلي من تصميم Flash Swap هو إجراء التحكيم على السلسلة بكفاءة أكبر، ولكن لسوء الحظ تم استغلاله من قبل مهاجمي MEV وأصبح أداة للتلاعب بالسوق. 4.2 كيف يساعدك Lightning Exchange؟ دعونا ننظر إلى الصورة ونفهم خطوة بخطوة كيف تم تحقيق التبادل السريع لهذا الهجوم، انظر الشكل أدناه.
-
f1 استعار المهاجم 1.09 مليون دولار أمريكي من AAVE باستخدام 701 weth ؛
-
-
بعد هذه المعاملة (المعاملة 1) ، انخفض رصيد حساب المهاجم بمقدار 1.09 مليون دولار أمريكي ، لأن 18.64 مليون دولار أمريكي عاد إلى Uniswap تم تبادل 17.55 مليون USDC فقط من Curve، أما المبلغ المتبقي وهو 1.09 مليون USDC فهو أموال المهاجم الخاصة. كان يجب أن تكتشف أن هذه المعاملة تسببت بالفعل في خسارة المهاجم 1.09 مليون. ومع ذلك، فإن المعاملة اللاحقة 3، أيضًا من خلال طريقة المبادلة السريعة، لم تسترد 1.09 مليون USDC فحسب، بل حققت أيضًا أكثر من 200000 USDC.

بعد ذلك، سوف نقوم بتحليلها خطوة بخطوة بناءً على بيانات المعاملة 3. استخدم مهاجم K1 عملية تبادل Lightning لسحب 18.6 مليون USDC من Uniswap؛ استخدم مهاجم K2 جزءًا من 17.3 مليون USDC التي تم سحبها للتو من Uniswap لتبادلها مقابل 17.32 مليون USDT؛ أعاد مهاجم K1 17.32 مليون USDT التي تم تبادلها من Curve إلى Uniswap. تم الانتهاء من تبديل البرق. من المهم ملاحظة أن المهاجم أنفق 17.3 مليون USDC فقط من خلال K2 للحصول على 17.32 مليون USDT. من أصل 1.3 مليون دولار أمريكي المتبقية (= 18.6 مليون - 17.3 مليون) من عملات USDC، 1.09 مليون منها هي أموال مملوكة ذاتيًا، و210,000 دولار أمريكي المتبقية هي ربح هذا الهجوم. أعاد مهاجم K3 رأس المال إلى AAVE، واستولى على 701 WETH الخاصة به، واستبدل 200000 USDC مقابل 105 ETH، وأرسل 100.558 ETH منها إلى المحقق كإكرامية (حوالي 200000 دولار أمريكي)، محتفظًا بأقل من 10000 دولار أمريكي في الربح لنفسه. ربما تتفاجأ لماذا يكون المهاجم على استعداد للتخلي عن ما يصل إلى 200 ألف دولار من الأرباح للمحقق؟ 4.3 لماذا نعطي إكرامية قدرها 200 ألف دولار؟
في الواقع، هذا ليس كرمًا، بل شرط ضروري لنجاح هجمات MEV مثل هجمات الساندويتش:
لذلك، يفضل المهاجم التضحية بمعظم الأرباح لضمان نجاح الهجوم والاحتفاظ بمقدار معين من الأرباح لنفسه. تجدر الإشارة بشكل خاص إلى أن هجمات MEV لها تكاليف أيضًا. فهناك تكاليف لعمليات التبادل الفوري على Uniswap، وتكاليف للمعاملات على Curve. ومع ذلك، نظرًا لانخفاض الرسوم نسبيًا، والتي تتراوح بين 0.01% و0.05% تقريبًا، فهي ضئيلة مقارنةً بعائدات الهجوم. أخيرًا، دعوني أذكركم بأن الدفاع ضد هجمات MEV بسيط للغاية. كل ما عليكم فعله هو: ضبط تسامح الانزلاق بما لا يتجاوز 1%، وتنفيذ معاملات كبيرة على دفعات متعددة. لذلك، لا داعي للخوف من التداول على DEX (البورصة اللامركزية) مرة أخرى.
الخلاصة: تحذيرات وكشف في الغابة المظلمة
لا شك أن هذا الهجوم على MEV بقيمة 215000 دولار هو عرض قاسٍ آخر لقانون "الغابة المظلمة" في عالم blockchain. يكشف بوضوح أنه في بيئة لامركزية لا تتطلب أذونات، توجد لعبة معقدة تستغل الثغرات في الآلية للحصول على فوائد.
من مستوى أعلى، فإن ظهور MEV هو مظهر من مظاهر تأثير السيف ذو الحدين المتمثل في شفافية blockchain وقابلية البرمجة. من ناحية أخرى، تكون جميع سجلات المعاملات متاحة للعامة، مما يسمح بتتبع الهجمات وتحليلها؛ ومن ناحية أخرى، فإن المنطق المعقد للعقود الذكية واليقين في تنفيذ المعاملات يوفران أيضًا فرصًا للمشاركين الأذكياء. هذا ليس مجرد سلوك اختراق، بل هو فهمٌ عميقٌ واستخدامٌ للآلية الأساسية لتقنية البلوك تشين. إنه يختبر متانة تصميم البروتوكول ويتحدى وعي المشاركين بالمخاطر.
فقط من خلال فهم المركبات الكهربائية متعددة الأغراض والتعرف على مخاطرها يمكننا التنقل بشكل أفضل في هذا العالم الرقمي المليء بالفرص ولكن أيضًا بالمخاطر الكامنة. تذكر أنه في "الغابة المظلمة" لسلسلة الكتل، فقط من خلال احترام القواعد وتحسين الإدراك يمكنك تجنب أن تصبح الفريسة التالية التي يتم التهامها.
هذا هو أيضًا التأثير الذي أريد تحقيقه من خلال هذه المقالة. ص>