لماذا تعرض محفظتك تحويلاً لم ترسله قط: المعاملات ذات القيمة الصفرية وتسميم العناوين
لا تعني المعاملة الصادرة المجهولة تلقائياً أن محفظتك قد اختُرقت. تعرّف على ما تثبته فعلياً السجلات ذات القيمة الصفرية والعناوين المتشابهة وحركات الأصول الحقيقية.
ماذا يثبت هذا القيد بشأن محفظتي؟
إذا أظهر سجلك فجأة أنك أرسلت 0 USDT إلى عنوان غير مألوف، فإن هذا القيد وحده لا يثبت أن أحداً وصل إلى مفتاحك الخاص. يستطيع طرف ثالث إنشاء أنواع معينة من سجلات تحويل الرموز الصفرية تتضمن عنوانك، من دون توقيعك أو إذنك بإنفاق مبلغ غير صفري. وقد يوجد السجل على سلسلة الكتل رغم أنك لم تبدأ المعاملة قط.
الأسئلة المفيدة أكثر تحديداً: ما هذا الأصل؟ ما المقدار الذي انتقل فعلياً؟ من قدّم المعاملة؟ وما الذي سمح بأي إنفاق حقيقي؟
- حدث رمز بمبلغ صفري لا يثبت أنك وقّعت أو أنفقت شيئاً. وبالنسبة إلى رمز حقيقي، يعني المبلغ الصفري تماماً أن ذلك التحويل المحدد لم ينقل أي رموز.
- تحويل يظهر تحت اسم رمز مألوف لا يحدد هوية الأصل. فقد يستخدم عقد غير ذي صلة الاسم والرمز نفسيهما.
- دفعة واردة ضئيلة قد تكون حقيقية، مع أنها تزرع عنوان مرسل مضللاً في سجلك.
- حركة صادرة مؤكدة وغير مفسرة لأصول حقيقية تتطلب التحقيق. لا تتجاهلها لأن حقلاً آخر يعرض صفراً.
يتناول هذا الدليل Ethereum وBNB Smart Chain (BSC) وشبكات مشابهة تستخدم عقود رموز على نمط Ethereum. الأمثلة مبسطة عمداً وهي سجلات مُختلقة، وليست لقطات شاشة أو نتائج تتعلق بمحفظة معينة.
أولاً، حدد الحقل الذي يعرض صفراً
يستخدم الناس تعبير معاملة ذات قيمة صفرية للإشارة إلى أشياء مختلفة. واحد فقط من هذه العروض يعني أن كمية الرمز تساوي صفراً:
- كمية الرمز: 0 USDC. بالنسبة إلى عقد USDC الحقيقي، تعني الكمية الصفرية تماماً أن هذا التحويل المحدد لا ينقل أي USDC.
- قيمة المعاملة: 0 ETH. لم يُرفق أي ETH بالمعاملة الرئيسية. ومع ذلك يمكن نقل الرموز وتنفيذ إجراءات العقود.
- القيمة المقدّرة: $0.00. تعرض الواجهة تقييماً بعملة ورقية، ولا يثبت ذلك كمية الرمز.
في BSC يستخدم حقل العملة الأصلية عادةً BNB بدلاً من ETH. ويمكن لتفاعل مع عقد بقيمة أصلية صفرية أن ينقل رموزاً أو يغيّر أذونات الإنفاق أو يشغّل عمليات أخرى. القيمة الأصلية منفصلة عن بيانات إدخال المعاملة.
قد تُقرّب كمية موجبة صغيرة إلى $0.00. وقد يكون عرض القيمة الورقية لأصل بلا تسعير موثوق غير مفيد أيضاً. وسّع عرض كمية الرمز إلى الدقة الكاملة؛ فحتى كمية الرمز المعروضة على أنها 0.00 قد تخفي مقداراً موجباً أصغر. وتغيّر تقييم المحفظة الاستثمارية ليس سجلاً موثوقاً للوحدات التي تدخل الحساب أو تخرج منه.
الصفر كمية مسموح بها للرموز، ولذلك لا يثبت الصفر وحده حدوث هجوم. العناوين المتشابهة وتفاصيل الدفع المنسوخة قرائن تستحق التحقيق.
لماذا قد يختلف حقلا «من»؟
قد يجمع سجل المحفظة معلومات من طبقات مختلفة:
- المعاملة: التعليمة الموقعة المقدمة إلى الشبكة. في معاملة Ethereum التقليدية، يحدد حقل «من» الرئيسي الحساب الذي وقّع.
- حدث الرمز: سجل يصدره عقد أثناء التنفيذ. ولحدث Transfer حقول خاصة به هي From وTo والمبلغ.
- صف السجل: طريقة عرض المحفظة أو مستكشف السلسلة لهذه المعلومات. وقد تصنف الواجهة الحدث OUT لأن عنوانك مذكور فيه بوصفه المرسل.
حقلا «من» هذان غير قابلين للتبادل. ظهور عنوانك داخل حدث لا يعني وجود توقيع من محفظتك. يستطيع عقد خبيث إدراج عنوانك في بيانات الحدث، لكن ذلك لا يجعل سجله صادراً عن عقد الرمز الحقيقي. ولذلك يمثل العقد الذي أصدر الحدث جزءاً أساسياً من الأدلة.
وبالمثل، تحدد تجزئة المعاملة هوية المعاملة، لكنها لا تثبت موافقتك. والمعاملة المضمّنة والموسومة Success تعني أن تنفيذها الخارجي لم يُلغَ بالتراجع، ولا تمثل تصديقاً على الرمز أو المستلم أو الغرض.
خمسة أمثلة مشروحة من سجل المعاملات
المثال 1: تحويل صادر بكمية رموز صفرية لم توقّعه
قيد السجل: OUT · 0 USDC · من عنوانك إلى عنوان غير مألوف يشبه عنواناً آخر.
- حقل From في المعاملة: قدّم المعاملة حساب غير ذي صلة.
- حقل From في حدث الرمز: يذكر الحدث عنوانك.
- عقد الرمز المُصدر للحدث: عقد USDC الحقيقي على هذه الشبكة.
- كمية الرمز الدقيقة: صفر.
ما الذي يثبته هذا: سجل عقد الرمز الحقيقي تحويلاً بكمية صفرية يذكر عنوانك. لم ينقل ذلك التحويل المحدد أي USDC. ولا يثبت أن محفظتك وقعت المعاملة، أو أن المتصل مخوّل بإنفاق مبلغ موجب، أو أن مفتاحك سُرق.
كيف يحدث ذلك: يفرض معيار الرموز الشائع ERC-20 إصدار أحداث Transfer حتى للتحويلات ذات المبلغ الصفري. وفي التطبيقات الشائعة، تتحقق دالة التحويل المفوض transferFrom مما إذا كان المبلغ المطلوب يتجاوز السماح المتاح للمتصل. والصفر لا يتجاوز سماحاً مقداره صفر. ويمكن أن تنجح الاستدعاء من دون موافقة سابقة، وفقاً للقواعد الأخرى للعقد.
هذا ليس ضماناً عاماً لكل رمز؛ فقد تفرض العقود الفردية قيوداً إضافية.
ما الذي تفحصه بعد ذلك: افحص بقية المعاملة. فالصف الصفري يصف ذلك الصف فقط؛ وقد تكون لعملية أخرى نتيجة مختلفة. إذا كان هذا سجلاً منفرداً لتسميم العناوين، من دون إنفاق مريب أو تغييرات في الأذونات، فالتصرف المناسب هو تجنب العنوان المزروع، لا افتراض الحاجة إلى استبدال المحفظة.
المثال 2: معاملة مزيفة تعرض كمية كبيرة من الرموز
قيد السجل: OUT · 2,500 USDC · من عنوانك إلى عنوان غير مألوف.
- رمز العملة المعروض: USDC.
- العقد المُصدر: عقد غير ذي صلة، وليس عقد USDC الحقيقي.
- المبلغ المبلغ عنه في الحدث: 2,500.
- حركة USDC الحقيقي في هذه المعاملة: لا شيء.
ما الذي يثبته هذا: أصدر عقد آخر سجلاً عُرض تحت تسمية USDC. وهذا لا يثبت خروج 2,500 من USDC الحقيقي من حسابك.
قد تكون المعاملة المزيفة في المحفظة بيانات حقيقية على سلسلة الكتل لكنها تفسَّر بطريقة مضللة. يستطيع المهاجمون نسخ اسم الرمز ورمزه وإصدار أحداث تشبه مدفوعاتك السابقة، بما في ذلك مبالغها. وقد تصدر العقود غير القياسية أيضاً سجلات تحويل لا تقابل أي تغيير في أرصدتها الخاصة.
ما الذي تفحصه بعد ذلك: حدد الشبكة والعقد الدقيق الذي أصدر الحدث. قارن ذلك العنوان بمعلومات العقد التي حصلت عليها بصورة مستقلة من الجهة المُصدرة لتلك الشبكة. ولا يكفي الرمز المختصر المألوف أو الشعار أو علامة التحقق من الشيفرة المصدرية لإثبات هوية الجهة المُصدرة.
المثال 3: دفعة حقيقية صغيرة جداً من عنوان مشابه
قيد السجل: IN · 0.000001 USDC · من عنوان غير مألوف إلى عنوانك.
افترض أن عقد الرمز الحقيقي أكد التحويل وأن رصيدك من الرموز ازداد بذلك المقدار الضئيل. هنا وصلت رموز حقيقية. لم يتطلب استلامها منك الموافقة على المرسل، ولا يمنح المرسل صلاحية الإنفاق.
تكمن الخدعة في العنوان. تأمل المثالين المُختلقين التاليين، وقد فُصلت مجموعاتهما بمسافات لإظهار كل حرف. العناوين الحقيقية لا تحتوي مسافات، والمجموعات الوسطى بالخط الغامق مختلفة:
المستلم الذي جرى التحقق منه: 0x7a2f 1111 2222 3333 4444 5555 6666 7777 8888 9c4d
العنوان المزروع: 0x7a2f aaaa bbbb cccc dddd eeee ffff 0000 1111 9c4d
قد تعرض واجهة لا تُظهر سوى البداية والنهاية العنوانين بالشكل نفسه 0x7a2f...9c4d.
ما الذي يثبته هذا: أرسل شخص إليك مبلغاً صغيراً من ذلك العنوان. ولا يثبت أن المرسل هو مستلمك المعتاد أو حساب تملكه. وتطابق الحروف الظاهرة لا يثبت الملكية.
ما الذي تفحصه بعد ذلك: استرجع الوجهة المقصودة من جهة اتصال تم التحقق منها بشكل منفصل أو صفحة حساب موثوقة للمستلم. قارن العنوان كاملاً. يحاول تسميم العناوين تحويل قيد مزروع في السجل إلى العنوان الذي تختاره لدفع لاحق. وقد تقع الخسارة لاحقاً، حين تأذن بتحويل صحيح تماماً إلى وجهة خاطئة.
المثال 4: صفر ETH، لكن 2,500 من الرموز الحقيقية تخرج
رأس المعاملة: Value · 0 ETH.
- القيمة الأصلية المرفقة بالاستدعاء: 0 ETH.
- تحويل الرموز الحقيقية: 2,500 USDC من عنوانك.
- تغير رصيد USDC بسبب هذه المعاملة: انخفاض بمقدار 2,500 USDC.
- حالة التنفيذ: Success.
ما الذي يثبته هذا: خرج USDC حقيقي في هذا المثال. يصف الصفر مقدار ETH المرفق بالاستدعاء، ولا يصف تحويل USDC ولا يستبعد تكاليف الغاز.
ما الذي لا يزال مجهولاً: لماذا حدث الدفع وهل قصدته. فقد يكون مرتبطاً بمبادلة أو إيداع أو عملية مجدولة أو دفع إلى عنوان خاطئ أو إنفاق غير مصرح به. طابقه مع الإجراء الذي اتخذته والوجهة التي قصدتها قبل تصنيفه.
المثال 5: خروج رموز حقيقية رغم أن حساباً آخر قدم المعاملة
قيد السجل: OUT · 500 USDC حقيقي · وجهة غير مألوفة.
افترض أن المعاملة الناجحة خفضت رصيدك الحقيقي من USDC بمقدار 500، لكن حقل From الرئيسي فيها يشير إلى شخص آخر.
ما الذي يثبته هذا: انتقلت الرموز. ولا يجعل اختلاف مرسل المعاملة هذه الحركة مزيفة.
يستطيع طرف مُنح مسبقاً صلاحية الإنفاق استخدام سماح الرموز دون أن يطلب منك توقيع معاملة جديدة لكل سحب. وتدعم بعض الرموز أيضاً توقيعات permit التي تأذن بالسماح عبر رسالة موقعة يمكن لطرف آخر تقديمها. وتضيف الحسابات الذكية والمحافظ المفوّضة طرقاً أخرى يستطيع بها شخص آخر تقديم عملية مصرح بها.
ما الذي تفحصه بعد ذلك: افحص الجهة المنفقة والسماح المعني أو الإذن الموقع وعملية المحفظة. إذا بقي الخصم دون تفسير، فتعامل معه باعتباره حادثاً أمنياً. وقد تشير الأدلة إلى موافقة ضارة أو توقيع خادع أو سيطرة مخترقة على الحساب؛ ولا يميز الصف وحده بينها.
في المعاملة العادية الموقعة مباشرة، يعد ظهور عنوانك في حقل From الرئيسي دليلاً على توقيع صالح لذلك الحساب. لكنه لا يثبت أنك فهمت الإجراء أو قصدت ذلك المستلم أو بدأته بنفسك. أما حقل From في حدث الرمز فيوفر دليلاً أضعف بكثير.
ماذا قاس بالفعل رقم 270 مليون محاولة لتسميم العناوين؟
حدد تحليل لنشاط Ethereum وBSC على مدى عامين، من 1 يوليو 2022 إلى 30 يونيو 2024، نحو 270 مليون سجل تحويل لتسميم العناوين استهدفت 17 مليون عنوان.
انقسمت السجلات إلى ثلاث فئات:
- 147.7 مليون تحويل بقيمة صفرية.
- 118.4 مليون تحويل لرموز مقلّدة.
- 4.0 مليون تحويل ضئيل.
كانت هذه سجلات تحويل ضمن نحو 18.2 مليون معاملة، إذ يستطيع المهاجمون تجميع السجلات. ولا تعادل العناوين المستهدفة أشخاصاً أو محافظ مخترقة أو ضحايا فقدوا أموالاً.
حدد التحليل 6,633 تحويلاً ناجحاً حقق للمهاجمين عائداً بلغ إجماليه 83.8 مليون دولار على الأقل. وقد دفع بعض الضحايا أكثر من مرة. وركز الكشف على عملات مستقرة مختارة، لذلك يمثل تقدير الخسائر حداً أدنى ضمن ذلك النطاق، وليس إجمالياً لكل رمز أو سلسلة.
والنتيجة العملية هي أن الاقتصار على البحث عن المبالغ الصفرية يفوّت جانباً كبيراً من الهجوم. فقد تقلد القيود المزيفة دفعة ذات قيمة، وقد ينقل تحويل وارد ضئيل رموزاً حقيقية بينما يقدم عنواناً خطيراً.
كيفية فحص القيد الذي يخصك
- افتح المعاملة على الشبكة الصحيحة. استخدم خيار المستكشف في محفظتك أو مستكشفاً معروفاً مثل Etherscan أو BscScan. تحقق من حالة المعاملة. قراءة التفاصيل العامة لا تتطلب ربط محفظة أو الموافقة على رموز أو توقيع رسالة أو إدخال عبارة الاسترداد.
- حدد الأصل الفعلي. ميز ETH أو BNB الأصلي عن رمز يستخدم هذا الاسم. بالنسبة إلى الرموز، تحقق من الشبكة الدقيقة والعقد المُصدر بمقارنتهما بمرجع موثوق للجهة المُصدرة.
- اقرأ المقدار بالدقة الكاملة. افصل كمية الرمز عن القيمة الأصلية للمعاملة وعن التقدير بالعملة الورقية.
- افصل بين مرسل المعاملة ومرسل الحدث. افحص أيضاً عملية المحفظة وأذوناتها في الحسابات الذكية. دفع شخص آخر للغاز لا يثبت استحالة تحرك أصولك.
- راجع المعاملة بأكملها. تفحص كل حركات الرموز وتحويلات العملة الأصلية والتغييرات ذات الصلة في الأذونات. إذا أظهر المستكشف تغيرات الرصيد على مستوى المعاملة، فاستخدمها لمطابقة النتيجة. أما عدم تغير الرصيد اليوم فهو دليل أضعف؛ إذ قد تخفي إيداعات لاحقة أو تحويلات مقابلة حركة سابقة.
- تحقق من الوجهة بشكل مستقل. استخدم تفاصيل الدفع الموثوقة للمستلم أو مدخلاً في دفتر العناوين سبق أن تحققت منه. صف حديث في السجل دليل يستحق الفحص، وليس إثباتاً للوجهة الصحيحة.
إذا لم يوضح المستكشف النتيجة، فأعط فريق الدعم الرسمي لموفر المحفظة اسم الشبكة وتجزئة المعاملة العامة. واشرح الإجراء الذي كنت تتوقعه، إن وُجد. تساعد هذه التفاصيل على التمييز بين عملية غير مألوفة لكنها مقصودة وإنفاق غير مفسر، من دون كشف الأسرار التي تتحكم في محفظتك.
ماذا تفعل بعد التحقق؟
إذا وجدت مجرد سجل منفرد لتسميم العناوين
أخفِ الرسالة المزعجة أو أبلغ عنها إذا كانت محفظتك تدعم ذلك، وتجنب استخدام عناوينها. إخفاء صف يغير الواجهة، لكنه لا يمحو سجل سلسلة الكتل ولا يلغي الأذونات.
قد يحدث تحويل صفري مع سماح صفري، ولذلك لا يشكل السجل وحده سبباً لإلغاء جميع الموافقات أو نقل كل أموالك. فقد لا تكون هناك صلاحية إنفاق مرتبطة بذلك السجل لإزالتها. لا تستخدم أبداً موقعاً يروّج له رمز أو رابط استرداد من شخص غريب من أجل «تنظيف» محفظتك.
إذا وجدت إذناً مريباً بالإنفاق
استخدم المسار الموثوق لإدارة الموافقات في محفظتك لمراجعة السماح المعني وإلغائه. فصل موقع إلكتروني عن محفظتك لا يلغي موافقاته القائمة على السلسلة لإنفاق الرموز. الإلغاء يعالج ذلك الإذن، لكنه لا يستطيع إصلاح مشكلة سرقة المفتاح الخاص.
إذا انتقلت أصول حقيقية دون قصدك
احتفظ بتجزئة المعاملة والشبكة والأصل المتأثر والعناوين ذات الصلة. راجع التوقيعات والموافقات وعمليات المحفظة الحديثة عبر قنوات الدعم الرسمية.
إذا وُجد دليل على انكشاف عبارة الاسترداد أو المفتاح الخاص، فأنشئ محفظة جديدة بعبارة استرداد جديدة على جهاز موثوق واتبع خطة حذرة لنقل الأصول المتبقية. إنشاء حساب آخر مشتق من العبارة المخترقة لا يعالج الانكشاف. وإذا اختفت الأموال تلقائياً، فلا تستمر في إضافة أموال الغاز: فقد يسحبها برنامج كنس آلي.
إذا كنت قد وقعت دفعة عن علم ولكنك نسخت وجهة مسمومة، فوثّق هذا الاختلاف. ربما كانت الدفعة موقعة ومنفذة على نحو صحيح لكنها وصلت إلى مستلم خاطئ. وهذا لا يثبت بحد ذاته سرقة مفتاحك الخاص.
أسئلة شائعة عن المعاملات المجهولة
هل جعلني المهاجم أدفع رسوم الغاز؟
في السيناريو المعتاد لتسميم العناوين، يقدم المهاجم المعاملة ويدفع رسوم الشبكة. مجرد ذكر عنوانك في حدث رمز لا يحمّل حسابك رسوماً. لكن المعاملات المدعومة والحسابات الذكية تعني أن هوية دافع الرسوم وحدها لا تثبت أن العملية غير ضارة. تحقق من آثارها الفعلية.
ماذا لو فشلت المعاملة؟
تحويل الرمز الذي جرى التراجع عنه لم يُكمل ذلك التحويل، رغم احتمال تحصيل رسوم الغاز. إذا كانت المحفظة تستخدم تفويض الحساب، فتحقق منه بصورة منفصلة: تستطيع Ethereum الاحتفاظ بالتفويض حتى عندما يفشل التنفيذ اللاحق. يستحق أي تفويض غير مألوف المراجعة.
هل تمنع المحفظة المادية تسميم العناوين؟
توفر مكاناً إضافياً للتحقق من الوجهة قبل التوقيع. لكنها لا تستطيع جعل الوجهة التي يسيطر عليها مهاجم صحيحة إذا وافقت عليها. قارن العنوان الكامل على شاشة التوقيع الموثوقة بتفاصيل المستلم التي تحققت منها بصورة مستقلة.
هل أستطيع منع الغرباء من إضافة هذه القيود؟
لا يمكنك عموماً منع الأطراف الثالثة من إرسال أصول أو إنشاء سجلات تنطبق على عنوان عام. يمكن لفلاتر المحفظة والمستكشف تقليل ما تراه. احفظ المستلمين الذين تحققت منهم وافحص الوجهة كاملة قبل الدفع؛ فإخفاء القيود ذات القيمة الصفرية وحده لا يكشف كل أشكال الرموز المقلدة أو التحويلات الضئيلة.
