إجماع بدون ثقه

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

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

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

هذا هو العنصر الرئيسي الذي يميز شبكات blockchain العامة عن الشبكات الموزعة التقليدية. حالة شبكة blockchain هي حالة تحتوي على قيمة اقتصادية تؤثر بشكل مباشر على الجهات الفاعلة في الشبكة. ولكن ، كما رأينا في دراسة الأنظمة الموزعة التقليدية ، لا تزال شبكة blockchain بحاجة إلى تلك العقد (التي لها اهتمامات متنافسة) لتحديث ونشر الحالة.

هنا ياتي دور الإجماع بدون ثقة (trustless consensus) : تحل Bitcoin هذه المشكلة من خلال إنشاء آلية إجماع يمكن أن تعمل في بيئة معادية حيث للعقد مصالح متنافسة. بدلاً من افتراض صحة الحالة التي ينشرونها ، فإن إجماع بيتكوين  بدون ثقه يسمح لكل عقدة فردية بالتحقق من الحالة بأنفسهم باستخدام التشفير. سنتعرف على كيفية تحقيق Bitcoin وشبكات blockchain الأخرى لإثبات العمل هذا الإنجاز من خلال وصف الافتراضات والحلول الأساسية.

    ملاحظة سريعه ا: ماذا عن البنوك التقليدية الحالية؟ أليس لديهم شبكات موزعة تحتوي على قيمة اقتصادية بين العقد (العملاء) ذات المصالح المتنافسة؟ لماذا لا نعتبرهم يحلون هذه المشكلة؟ نعم ، هذا صحيح أن الشركات المالية العالمية أو الحكومات قد أنشأت شبكات موزعة لها ظروف مماثلة لما تأمل البلوكشين العامة في تحقيقه. ومع ذلك ، فإن هذه الشبكات التقليدية تفصل الثقة عن الإجماع الموزع في شبكاتها. يمكنك أن تتخيلها مثل القلعة ذات التحصينات القوية التي تحتوي على دفتر الحساب الذي يحتوي على جميع الأصول الموجودة في المملكة. إذا تمكنت من اختراق الدفاعات والدخول إلى القلعة ، فستتحكم في دفتر الحساب. يعمل الابتكار النظري لـ Blockchain على تحفيز الدفاع في آليات الإجماع نفسها ، لذلك هناك العديد من القلاع المختلفة ، وإذا سقط أحدها ، فقد يؤثر ذلك مؤقتًا على الشبكة ولكنه لن يؤدي إلى انهيار النظام.

في الواقع ، نظرًا لأن blockchain تزيل الوسطاء الموثوق بهم (مثل البنك) ، فإن الطريقة الوحيدة لجعل حالة شبكتهم آمنة هي افتراض أن الجميع يكذب. مع انخفاض افتراضات ثقتك (بافتراض أن الجميع يكذب) ، فأنت محمي من هذا السلوك. كيف تصنع بروتوكول إجماع في هذه الظروف العصيبة؟ حسنًا ، هذا هو الابتكار المذهل الذي ابتكرته blockchains ، بدءًا من Bitcoin. لم يتم فقط بناء النظام البيئي لشبكات blockchain التي نراها في عالم اليوم ، ولكن تم حل مشكلة الحوسبة الموزعة العامة في هذه العملية.

حل الإنفاق المزدوج والجنرالات البيزنطيين

أكبر مشكلة تواجه المال الرقمي هي ما يسمى بمشكلة “الإنفاق المزدوج”: نظرًا لأنه يمكن نسخ الملفات الرقمية إلى ما لا نهاية ، كيف يمكنك التأكد من أن الأموال الرقمية التي تدفع بها لم يتم إنفاقها من قبل؟

هذه هي المشكلة الحاسمة التي شرع ساتوشي ناكاموتو في حلها في ورقة عمل البيتكوين البيضاء:

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

يُنشئ إجماع ناكاموتو ، المعروف أيضًا باسم إجماع إثبات العمل ، آلية إجماع لنظام نقود رقمي حيث لا يتعين على كل عقدة فردية قبول حالة الشبكة بشكل أعمى.

إجماع عناصر إثبات العمل

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

الرسائل

في إجماع إثبات العمل ، تكون الرسالة الأساسية عبارة عن معاملة ، تم إنشاؤها باستخدام أساسيات تشفير المفتاح العام والتوقيعات الرقمية التي ناقشناها سابقًا ، “بلا ثقة” (بشكل مشفر) لضمان هوية الرسالة وسلامتها.

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

على سبيل المثال ، لنفترض أن دفتر الحساب العام الوهمي في الحاله-0 يشير إلى أن Alejandro لديه “توكن واحد” وأن Barbarella لديها “0 توكن”. ثم قدم Alejandro معاملة إلى الشبكة قائلاً إنه يرغب في دفع “0.5 توكنز” إلى Barbarella. تقبل الشبكة المعاملة ، مما يؤدي إلى إنشاء حالة جديدة ، الحاله-1 حيث تم تحديث دفتر الحساب العام لإظهار أن Alejandro  لديه الآن “0.5 توكن” وأن Barbarella لديها”0.5 توكن”.

العُقد وأدوارها

في إجماع إثبات العمل ، فيما يلي الأدوار التي تلعبها العقد:

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

الفترات وإثبات العمل

في إجماع إثبات العمل ، هناك فترتان منفصلتان في الشبكة:

  • فترة إنتاج الكتل هذه هي الفترة التي تتحقق فيها عُقد عامل التعدين من صحة المعاملات عن طريق تجميعها جميعًا معًا والتنافس لإنتاج خوارزمية إثبات عمل صالحة. يبدأ عندما يتلقى المُعدِّن أحدث كتلة صالحة ويتوقف عندما يحل عامل المنجم خوارزمية إثبات العمل أو يتلقى كتلة صالحة من عامل منجم آخر.
  • فترة انتشار الكتل هذه هي الفترة التي تتحرك فيها الكتلة الصالحة تدريجيًا عبر الشبكة. لن تقوم العقدة الكاملة أو عقدة عامل التعدين إلا بنشر الكتل الصالحة ، وبالتالي فإن عملية قبول الشبكة لكتلة صالحة (وقبول حالة الشبكة الجديدة) هي عملية طارئة.

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

مصادر إضافية

مقدمة

متقدم 

إضافة تعليق