Investor's wiki

مرشح بلوم

مرشح بلوم

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

تم إنشاؤها بواسطة Burton Howard Bloom في عام 1970 ، تعد مرشحات Bloom عرضًا جذابًا لمجموعة من التطبيقات نظرًا لكفاءتها في استخدام المساحة. في بعض العملات المشفرة (وعلى الأخص Bitcoin) ، تلعب دورًا أساسيًا في التحقق من الدفع المبسط أو SPV.

باستخدام عميل SPV ، يمكن للمستخدمين التفاعل مع شبكة Bitcoin دون تشغيل عقدة كاملة. تأتي العقد الكاملة مع بعض متطلبات التخزين والحساب التي تجعلها غير عملية للتشغيل على الأجهزة منخفضة الطاقة مثل الهواتف الذكية. من ناحية أخرى ، يقوم عملاء SPV بالاستعلام عن العقد الكاملة للحصول على المعلومات ذات الصلة بمحفظة (محافظ) المستخدم.

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

دعنا نوضح. لنفترض أن العميل ، أليس ، لديه معاملة عالية القيمة لا تريد أن يكون بوب ، الذي يدير عقدة كاملة ، على علم بها. قامت ببناء مرشح Bloom ، والذي سنقوم بتوضيحه كشبكة 10x1:

تقوم بتمرير بيانات المعاملة التي تهتم بها من خلال وظيفتي تجزئة مختلفتين ، والتي تنتج رقمين بين 0 و 9. لنسميها 4 و 7. وتقوم بإرسال عامل التصفية إلى بوب.

بالنظر إلى هذه الشبكة ، ليس لديك أي فكرة عن البيانات التي مرت بها أليس إلى المرشح. إذا كانت لديك مجموعة تحتوي على البيانات ، فستتمكن من تجزئتها ومقارنتها بالفلتر - إذا كان هناك تطابق ، فهناك احتمال أن تكون هذه هي المعلومات التي طلبتها أليس.

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

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