تقني › RingCT

نقاط ضعف RingCT

أين تنقص خصوصية Monero اليوم — ولماذا هذا بالضبط ما يصلحه FCMP++

باختصار

المبالغ والمستلمون في RingCT محميون بالتشفير. أما المرسِل — فبالإحصاء وحده: "1 من 16". وتكاد جميع الهجمات المعروفة تعمل بالطريقة نفسها: فهي تستبعد المدخلات الوهمية من الحلقة أو تُرجّح المرشحين بحسب الاحتمال. فيما يلي أهمها، من الأشهر إلى الأدق.

النموذج: الحجم الفعلي للحلقة

الحلقة المكونة من 16 تعطي 16 خيارًا فقط إذا كانت جميعها متساوية الاحتمال. وكل معلومة خارجية تقلّص الحجم الفعلي للحلقة. فإذا استطاع المراقب شطب 10 مدخلات وهمية، يبقى "1 من 6". وإذا استطاع ترجيح الباقي — "على الأرجح هذا".

16 مرشحًا → استُبعد 10 ← 6 → + الإحصاء ← ~2

1. التفاعل المتسلسل (تاريخي)

قبل 2016 كانت المعاملات بلا مدخلات وهمية (حلقة من 1) مسموحة. ومثل هذا المدخل يكشف بالضبط أي مخرج أُنفق. وإذا كان ذلك المخرج قد استُخدم كمدخل وهمي في حلقة شخص آخر، فيمكن شطبه هناك. وقد يجعل ذلك حلقة أخرى محسومة، وهكذا — تفاعل متسلسل. أظهرت دراسات 2017 أن حصة كبيرة من المدخلات المبكرة كُشفت هويتها بهذه الطريقة.

الحالة: أُغلقت بحظر الحلقات الخالية من المدخلات الوهمية والانتقال إلى RingCT (مخرجات RingCT لا تُخلط إلا مع مخرجات RingCT). لكن المخرجات القديمة تحتفظ بتاريخها.

2. عمر المدخل

إذا لم يطابق توزيع أعمار المدخلات الوهمية طريقة إنفاق الناس الفعلية، يبرز المدخل الحقيقي. وقد نجحت قاعدة "الأحدث هو الحقيقي" الكلاسيكية نجاحًا كبيرًا على المعاملات المبكرة. التفاصيل في اختيار المدخلات الوهمية.

الحالة: خُففت بتوزيع غاما، لكن لا يمكن إصلاحها تمامًا ما دامت المدخلات الوهمية تُختار.

3. هجوم EAE (إيف–أليس–إيف)

ترسل إيف (لنقل إنها منصة تداول) مالًا إلى أليس، ثم ترسل أليس لاحقًا مالًا إلى إيف مجددًا (المنصة نفسها، وربما عبر بضع معاملات وسيطة). تعرف إيف مخرجها في بداية السلسلة ومخرجها في نهايتها. فإذا رأت مخرجها "الخاص" في حلقات المعاملات الوسيطة وكان التوقيت معقولًا، استطاعت ربط الإرسال بالاستلام باحتمال كبير.

إيف (منصة) أليس معاملة … إيف مجددًا تعرف إيف الطرفين وتبحث عن مخرجها في الحلقات

الحالة: من أكثر الهجمات عملية بالنسبة للخدمات المركزية. يُخفَّف بالتدوير (churning: الإرسال إلى نفسك مع فترات توقف)، لكن لا يُصلح بشكل موثوق إلا مع FCMP++.

4. الإغراق (الكرة السوداء)

ينتج المهاجم معاملات بأعداد كبيرة بمخرجات خاصة به. ووفق قواعد اختيار المدخلات الوهمية تبدأ هذه المخرجات بالظهور في حلقات المستخدمين الآخرين. يعرف المهاجم أنها "فارغة" فيشطبها. وكلما كبرت حصته من المخرجات في فترة ما، صغر الحجم الفعلي لحلقات الجميع. رُصدت موجات إغراق كهذه في 2021 و2024؛ وأظهرت التقديرات انخفاضًا ملحوظًا في الحجم الفعلي للحلقات خلالها.

الحالة: محدود بالكلفة (الرسوم) وبالحجم الديناميكي للكتل. ويُقضى عليه مع FCMP++: فحين تكون "الحلقة" هي سلسلة الكتل كلها، تصبح حصة المهاجم ضئيلة.

5. دمج المدخلات

إذا أنفقت معاملة 5 مدخلات، فهذه 5 حلقات، ومعروف أن الأعضاء الحقيقيين في الخمس جميعًا يعودون إلى شخص واحد. فإذا رأى المراقب أن هذه الحلقات تحتوي على مخرجات من المعاملة السابقة نفسها، فهذه إشارة قوية إلى أنها المدخلات الحقيقية (فمن غير المرجح أن ينتج الاختيار العشوائي للمدخلات الوهمية مثل هذه المصادفة).

الحالة: ملازم للحلقات. يُضعفه FCMP++ كثيرًا (كل مدخل "واحد من الكل")، لكن عدد المدخلات يبقى مرئيًا.

6. البيانات الوصفية للمعاملة

  • عدد المدخلات والمخرجات: 1←2 شائع، و15←1 يبرز (توحيد الأرصدة).
  • الرسم: الرسم غير المعتاد يكشف محفظة غير معتادة.
  • التوقيت: المعاملات التي تُجرى فور استلام الأموال تكشف عمر المدخل الحقيقي.
  • tx_extra: الحقول غير المعتادة، والترتيب، والمفاتيح الإضافية — "بصمة المحفظة".
  • وقت فك القفل: كانت القيم غير المعتادة تبرز (أُزيل في القواعد الأحدث).

الحالة: لا يكاد FCMP++ يمسّ هذا — إنها مهمة المحافظ: سلوك موحد، وصيغ موحدة.

7. طبقة الشبكة

العقدة التي بثت المعاملة أولًا هي على الأرجح صاحبتها. يستخدم Monero بروتوكول Dandelion++: تمر المعاملة أولًا بهدوء عبر سلسلة من العُقد العشوائية ("الساق") ثم تُبث إلى الجميع ("الزهرة"). إضافة إلى دعم Tor/I2P. وإذا استخدمت عقدة بعيدة لشخص آخر، فإنها ترى عنوان IP الخاص بك ووقت الإرسال.

الحالة: خارج السلسلة، فلا يساعد FCMP++. استخدم عقدتك الخاصة أو Tor.

الخلاصة: ما الذي يصلحه FCMP++

نقطة الضعفRingCTFCMP++
التفاعل المتسلسلتاريخيلا ينطبق
عمر المدخلات الوهميةمخففمُزال
EAEيعملمُزال (على السلسلة)
الإغراقيعملمُزال عمليًا
دمج المدخلاتيعملمُضعَف كثيرًا
البيانات الوصفية (عدد المدخلات/المخرجات، الرسم، الوقت)مرئيةمرئية
الشبكة (IP)Dandelion++/Torدون تغيير

التالي: كيف يعمل FCMP++.