116 / 736SYBIL

Sybil Attack

مهاجم واحد وراء مشاركين كثيرين يبدون مستقلين

مئة حساب لا تعني بالضرورة مئة شخص. تستغل Sybil Attack هذا الفرق: يظهر مهاجم واحد كأنه مشاركون كثيرون. لذلك لا يختار Bitcoin سجله بناء على عدد أجهزة الكمبيوتر المتصلة.

في Sybil Attack يتحكم خصم واحد في هويات كثيرة ويقدمها على أنها مشاركون مستقلون. في Bitcoin، لا تمنحه زيادة الاتصالات وحدها قدرة تعدين إضافية أو حق تغيير القواعد. لكنها قد تساعده على التأثير في مصادر المعلومات التي تصل إلى عقدة معينة.

تختار آنا خدمة بناء على توصيات في منتدى. تمدحها عشرات الحسابات، لكن مشغّل الخدمة يتحكم فيها جميعا. إذن، لم ينشأ الاتفاق بين هذه الأسماء من آراء مستقلة. وصف John R. Douceur المشكلة المقابلة في شبكات الكمبيوتر في بحث The Sybil Attack عام 2002: يستطيع خصم واحد الظهور كمشاركين متعددين. ابتكار اسم سهل، أما الحصول على العناوين والخوادم (أجهزة كمبيوتر تقدم خدمات لغيرها) والاتصالات اللازمة فقد يكلف مالا ووقتا. [1]

النظير في شبكة Bitcoin هو ببساطة الطرف الذي يتبادل برنامجك البيانات معه. يستطيع بيتر تشغيل عدة عقد، وقد تشغّل شركة عددا أكبر بكثير. لا يشترط Bitcoin سجلا للأشخاص يمنح كل فرد عقدة واحدة. عنوان IP يحدد موقعا في الشبكة يتصل به البرنامج. لذلك لا يثبت اختلاف عنوان IP اختلاف المالك. كما أن تشغيل عدة عقد ليس هجوما بحد ذاته؛ تبدأ المشكلة عند استغلال استقلالها الظاهري. [1] [3]

Full Node الخاصة ببيتر برنامج يتحقق بنفسه من قواعد Bitcoin. التوقيع هنا يعني استخدام مفتاح خاص، وهو قيمة عددية سرية، لإنشاء دليل قابل للتحقق على الإذن بالدفع. يستطيع الآخرون فحص التوقيع دون معرفة تلك القيمة السرية. حتى لو أرسل كل النظراء المتصلين معاملة تحمل توقيعا غير صالح، فسترفضها العقدة. لا تحسب الإجابات المتفقة كأصوات. تجمع الكتلة معاملات في دفعة تُضاف إلى السجل المشترك. وتفحص العقدة الكتل كاملة أيضا، مثل التأكد من أنها لا تنفق أموالا سبق إنفاقها ولا تنشئ مكافأة غير مسموحة. توفر الشبكة البيانات، لكن صلاحيتها تحددها قواعد العقدة، لا شعبية المرسل. [2] [6] [9]

قد يوجد أحيانا فرعان صالحان متنافسان من السجل. تتيح Proof of Work مقارنة العمل المتراكم فيهما، أي وزن مستمد من صعوبة الكتل التي عُثر عليها. يتطلب التعدين محاولات حسابية فعلية؛ وتغيير اسم الكمبيوتر لا يضيف عملا. إذا وزّع مهاجم أجهزة التعدين نفسها بين هويات كثيرة، فلن تزيد هذه القسمة قدرتها الإجمالية. لذلك لا تنطبق هنا قاعدة حساب واحد يساوي صوتا واحدا. [2] [6]

ألف اتصال لا يعوّض المفتاح الخاص اللازم لإنفاق بيتكوين شخص آخر. ولا تكفي زيادة الهويات وحدها لخرق قواعد الإصدار أو لإجبار عقدة تتحقق بصورة صحيحة على قبول كتلة غير صالحة. هذا ليس وعدا بالحماية من كل هجوم. فقد يحصل الخصم أيضا على قدرة تعدين أو يستغل خللا برمجيا. يجب تقييم هذه القدرات على حدة، لا نسبتها إلى عدد الحسابات وحده. [2] [9]

لنعد إلى عقدة بيتر. قد يحاول المهاجم ملء قائمة العناوين المعروفة لدى العقدة بعناوين يسيطر عليها والاستحواذ على اتصالاتها. إذا سيطر على جميع المسارات ذات الصلة إلى بقية الشبكة، يمكنه حجب كتل وإظهار صورة ناقصة أو متأخرة. يسمى هذا العزل Eclipse Attack. قد تساعد Sybil Attack على تحقيقه، لكن كثرة هويات المهاجم لا تثبت نجاح العزل. التحقق من البيانات المستلمة لا يعني معرفة البيانات التي يخفيها أحد عنك. [3] [5] [8]

يجمع Bitcoin Core عدة عوائق. عند اختيار الاتصالات الصادرة تلقائيا، يسعى إلى تنوع الشبكات ويوزع العناوين المعروفة على مجموعات حتى لا يهيمن مصدر واحد بسهولة على الاختيار كله. وتختبر اتصالات قصيرة تسمى feeler إمكانية الوصول إلى نظراء آخرين. تصعّب هذه الآليات الهجوم، لكنها لا تحدد المالك الحقيقي لكل خادم ولا تضمن منع العزل. يتطور التنفيذ مع الوقت؛ وتعرض المصادر هنا إصدار Bitcoin Core 29.0. [4] [7] [8]

يحدد عنوان IP أو عنوان خدمة Tor للبرنامج مكان الاتصال. لكنه لا يشهد بوجود شخص جديد مستقل على الطرف الآخر. قد يمتلك مشغّل واحد عناوين كثيرة، وقد يتشارك مستخدمون عدة عنوان IP عاما أو جزءا من المسار الشبكي. يفيد Tor في خصوصية الاتصال، لكن عنوانه وحده لا يثبت استقلال النظير. توجيه الرسائل والوزن عند اختيار سجل Bitcoin مسألتان مختلفتان. [3] [4]

تعالج Proof of Work جزءا مهما من مشكلة الأغلبية الوهمية، لا كل مخاطر الاتصال. فشبكة P2P، أي تبادل البيانات مباشرة بين المشاركين، قد تتعرض للإغراق بالبيانات والمراقبة وحجب الرسائل. لذلك يشمل الدفاع أيضا إدارة الاتصالات ووضع حدود لاستهلاك الموارد. يعتمد الأمان على ما يتحكم فيه المهاجم فعلا: الأسماء وحدها، أو المسارات الشبكية، أو القدرة الحسابية، أو مزيج من ذلك. [1] [5] [6]

عداد العقد التي يمكن الوصول إليها علنا لا يعرض عدد الأشخاص ولا نتيجة تصويت على القواعد. من المهم أيضا معرفة مصادر معلومات العقد وما تتحقق منه بنفسها. تتيح لك Full Node الخاصة بك فحص الكتل المستلمة، لكنها تحتاج إلى اتصال ببقية الشبكة. المحفظة تطبيق أو جهاز لاستقبال البيتكوين وإرساله. إذا كانت تستخدم خادما لطرف آخر، فإن وجود عقد كثيرة في أماكن أخرى لا يزيل اعتمادها عليه. المزيد من جهات الاتصال لا يعني تلقائيا المزيد من الاستقلال. [1] [3] [9]

للحصول على صورة أوضح، اقرأ هذا المدخل مع Nakamoto Consensus, Eclipse Attack, Selfish Mining, Block Propagation, Bitcoin, Proof of Work. تشير إلى هذا المدخل أيضًا Byzantine Generals Problem, Nakamoto Consensus, Eclipse Attack, Selfish Mining.

DOC · 001John R. Douceur — The Sybil Attackمصدر أولي DOC · 002Satoshi Nakamoto — Bitcoin whitepaperمصدر أولي DOC · 003Bitcoin Developer Guide — P2P Networkتوثيق DOC · 004Bitcoin Core v29.0 — Peer connectionsتوثيق DOC · 005Heilman et al. — Eclipse Attacks on Bitcoinمصدر أولي DOC · 006The Bitcoin Backbone Protocolمصدر أولي DOC · 007Bitcoin Core v29.0 — Address managerتوثيق DOC · 008Bitcoin Optech — Eclipse attacksتوثيق DOC · 009Bitcoin Core v29.0 — Block validationتوثيق
تمت المراجعة: المصادر أولًا · ليست نصيحة استثمارية