الدرس السادس عشر: تأمّلات في «لا تثق، تحقّق»

قال الملك: «والآن إلى الأدلة، ثم الحكم».

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

«إن المشكلة الأساسية في العملات المتعارفة هي الثقة الكبيرة اللازمة لتعمل. نحن نحتاج إلى نظام مدفوعات رقمي مبني على البرهان التعموي لا على الثقة»

ساتوشي

يحل البيتكوين مشكلة الثقة بكونه لامركزيًّا بالغَ اللامركزية، فليس فيه خادم مركزي ولا جهات موثوقة. لا جهات موثوقة أصلًا، فضلًا عن الجهات الثالثة الموثوقة. إذا انتفت السلطة المركزية، لم يعد للثقة محلّ. اللامركزية الكاملة هي الابتكار. إنها أصل قوة البيتكوين، وسبب حياته المستمرة. اللامركزية كذلك هي سبب وجود التعدين والعُقَد والمحافظ الباردة، ونعم، سلسلة الكتل. كل ما عليك أن «تثق» به، هو أن فهمنا للرياضيات والفيزياء ليس خاطئًا تمامًا، وأن أغلبية المعدنين صادقون (ولهم دوافع ليكونوا صادقين).

يعمل العالم العادي على افتراض «ثِق، ولكن تحقق»، أما البيتكوين فيعمل على افتراض«لا تثق، تحقق», وضّح ساتوشي أهمية إزالة الثقة توضيحًا كبيرًا في مقدمة الورقة البيضاء وخاتمتها.

«خلاصة: لقد اقترحنا نظامًا للحوالات الرقمية لا اعتماد فيه على الثقة».

ساتوشي ناكاموتو

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

كما أظهر كن تومسون في محاضرته عند فوزه بجائزة تورنغ، الثقة أمر صعب جدًّا في العالم الحاسوبي. عندما تشغّل برنامجًا، عليك أن تثق بكثير من البرامج والقطع التي تستطيع نظريًّا تغيير البرنامج الذي تريد تشغيله تغييرًا مُفسدًا. كما لخّص تومسون في تأملاته في الثقة بالثقة: «العبرة واضحة. لا يمكنك أن تثق بكود لم تنشئه أنت بنفسك.»

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

«إذا أردت أن تصنع فطيرة تفّاح من الصفر، فعليك أوّلًا أن تخترع الكون».

كارل ساغان

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

أحصنة طروادة خفية تعمل بالإشابة، كتبها بكر وريغازوني وبار وبورليسون.

يبدو مخيفًا؟ طيب، حتّى إذا أردت أن تبني كل شيء من الصفر فعليك أن تثق بالرياضيات التي تقوم عليها الأشياء. عليك أن تثق أن secp256k منحنٍ إهليلجي من دون أبواب خلفية. نعم، يمكن أن تُدرَج الأبواب الخلفية الفاسدة في الأصول الرياضية للتوابع التعموية، وهو ما قد حصل على الأقل مرة. إذا أردت التشكيك فعندك أسباب قوية، وعلمك بأن كل شيء من قطع حاسوبك إلى برامجه إلى المنحنيات البيضوية قد يكون فيها أبواب خلفية، سبب من هذه الأسباب.

«لا تثق. تحقق.»

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

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

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

من جاء أولًا، البيضة أم الدجاجة؟

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

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

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

علمني البيتكوين ألّا أثق، بل أن أتحقق.

اشترك في نشرة البيتكوين بالعربي

تابع اخبار البيتكوين والمقالات والمحتوى الجديد