ملف العدد
مقدمة إلى سلسلة الكتل
العدد 147 | حزيران (يونيو)-2019

بقلم محمد الشايطة
باحث في المعهد العالي

الملخص

اكتسب نظام الدفع والأصول الرقمية (البتكوين Bitcoin) الذي اخترعه ساتوشي ناكاموتو Satoshi Nakamoto في عام 2008 وما تلاه بعد ذلك ببضعة أعوام شعبيةً كبيرة، حيث تم اختراع علم الحاسوب الأساسي الذي يعمل على نظام البتكوين، والمسمى سلسلة الكتل Blockchain.

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

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

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

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

نظرة عامة حول نظام الدفع والأصول الرقمية (البتكوين)

يسمح بروتوكول البتكوين للمستعملين بتبادل العملة التعموية Bitcoin (BTC) cryptocurrency دون الاعتماد على أي جهة خارجية موثوق بها، وذلك باستعمال شبكة البتكوين، وهي من نوع (نِدّ لِنِدّ Peer To Peer) اللامركزية، ويُحتفظ بسجل النقل في سلسلة كتل عامة (تعرف أيضًا باسم سلسلة كتل بتكوين Bitcoin blockchain)، ويجري النسخ المتماثل لسلسلة الكتل في كل عقدةٍ تشارك في شبكة البتكوين، ويثبِّت كلُّ مستعمل في شبكة البتكوين عميلَ بتكوين Bitcoin client إلى جانب محفظة البتكوين Bitcoin wallet التي تخزِّن المفاتيح العامة/الخاصة التي أُنشئت لهذا المستعمل.

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

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

معامَلات البتكوين: تبدأ معاملة البتكوين عندما يريد المستعمل A على شبكة البتكوين الدفع للمستعمل B مبلغًا قدره X من BTC. يُنشئ برنامجُ العميل معاملةً موقَّعة من المستعمل A تتضمن عنوان البتكوين الخاص بالمستعمل B الذي يمثل نيته نقل المبلغX  إلى المستعمل B. وتؤكَّد هذه المعاملة عندما تُضمَّن في كتلة سلاسل البتكوين، التي تستغرق عادة 10 دقائق تقريبًا.

ولكي تصبح هذه المعاملة آمنة تمامًا، يجب أن تحتوي على ستة تأكيدات، يستغرق مجموعها قرابة ساعة. تمثل الكتلة عددًا ثابتًا من المعاملات المضمَّنة فيها، وتشمل أيضًا نوعًا خاصًّا من المعاملة (يُعرف باسم معاملة العملة الأساسية coinbase transaction) وهي تمثل مدفوعات إلى الشخص المتابع للكتلة تساوي مبلغًا قدره Y من BTC، حيث تمثل Y مكافأة تنقيب الكتلة mining reward في تلك المرحلة الزمنية، وهي تساوي حاليًّا 25 BTC.

التنقيب وإثبات العمل Mining and Proof-of-Work: تُلحَق سلسلة الكتل بالكتل التي تشمل المعامَلات، ولا تحتاج سلسلة الكتل إلى إذْن، وهذا يعني أن أيَّ عقدة داخل سلسلة الكتل قادرة على إضافة كتل ضمنها. ولإضافة كتل إلى سلسلة الكتل، يجب أن توضح العقدة أنها قد أنجزت قدرًا من العمل (المعروف أيضًا باسم إثبات العمل Proof-of-Work (PoW)).

في البتكوين، يجب أن تجد العقدة قيمة اختزال hash value أقل من رقم معين، ويشار إليها أيضًا باسم مستوى الصعوبة الذي يُضبَط ديناميكيًّا بواسطة بروتوكول البتكوين.

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

ميزات سلسلة الكتل

تُعدّ سلسلةُ الكتل دفترَ الأستاذ المشترك الذي يمكن أن يقرأه ويعدِّله جميع المشاركين في سلسلة الكتل، ويمتاز بالخصائص الآتية:

  • دفتر الأستاذ العام Public ledger: يمكن لأي عقدة - كعميل البتكوين مثلًا - قراءة المعامَلات أو إضافتها إلى دفتر الأستاذ.
  • الدخول بدون إذن Permissionless entry: يعدُّ العاملُ الذي حلَّ PoW العقدةَ التي ستضع اللمسات الأخيرة على كتلة تمثل مجموعة من المعاملات في دفتر الأستاذ. ويمكن أن تكون أي عقدة هي ذلك العامل إذا تمكنت من حل لغز PoW بنجاح.
  • دليل إثبات العمل Proof-of-Work: تَستعمل البتكوين حسابَ الاختزال في مستوى معين من الصعوبة كإجراء إثبات للعمل.
  • الحقول القابلة للتخصيص Customizable fields: إن بنية سلسلة الكتل ثابتة؛ فلكل كتلة عدد من المعاملات مع بعض البيانات الوصفية meta-data، حيث يمكن للمستعمل إضافة بعض المعلومات.
  • الرمز الأصلي Native token: الرمز الأصلي لسلسلة كتل بتكوين هو بتكوين، وهو أيضًا العملة التعموية التي يجري نقلها بين المستعملين. تُعطى أجور بتكوين ورسوم المعاملات في بتكوين إلى عامل تنقيب كتلة معينة.

سلسلة الكتل

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

ميزات سلسلة الكتل

نسلط الضوء فيما يلي على بعض الخصائص الرئيسية لسلسلة الكتل:

  • ضمانات التعمية Cryptographic guarantees - إن توقيع جميع المعاملات على سلسلة الكتل يكون من المستعملين النهائيين. يسمح ضمان التشفير هذا بالتحقق من المعاملة باستعمال المفتاح العام للمستعمل، ويضمن التوقيع صحة ونزاهة المعاملة وعدم التنصل منها.
  • الاسم المستعار Pseudonymity - يتعامل كل كيان داخل شبكة سلسلة الكتل مع عنوان مُنشأ سلفًا، ولا يكشف عن الهوية الحقيقية للمستعمل. وهذا يسمح بقدر معين من الخصوصية على جميع المعاملات.
  • الثبات Immutability- يجب تأكيد المعاملة التي تُبثَّ على شبكة سلسلة الكتل وإدراجها باعتبارها جزءًا من دفتر الأستاذ الموزع. فإن حصل التأكيد، فلا يمكن تغيير المعاملة وتبقى في دفتر الأستاذ إلى الأبد. لا يمكن لأي كيان حذف المعاملات أو التراجع عنها بعد تضمينها في دفتر الأستاذ الموزع.
  • القراءة والكتابة المشتركة Shared Read and Write – تعتبر سلسلة الكتل إما عامة أو خاصة ضمن مجموعة محدودة من الكيانات. لدى جميع المشاركين المعنيين ظهور في سلسلة الكتل ويمكنهم التحقق إفراديًّا من أي معاملة داخلها. ويمكن لجميع المشاركين إنشاء معاملات يمكن إضافتها إلى دفتر الأستاذ المشترك.
  • التدقيق والشفافية Auditability and Transparency - يجري التحقق من صحة جميع المعاملات على سلسلة الكتل وتوقيتها بعد التحقق من المعاملة وإدراجها في دفتر الأستاذ الموزع بتوافق الآراء. وهذا يفسر حقيقة عامة وهي أن أي عقدة يمكن أن تتحقق، في المستقبل، ولا يمكن لأي عقدة في الشبكة تغيير البيانات التي تشكل جزءًا من دفتر الأستاذ الموزع. وهذا يحسن المسؤولية وكذلك الشفافية للبيانات التي تُضمَّن في سلسلة الكتل.
  • الملكية الموزعة Distributed ownership - في حالة سلسلة الكتل العامة، لا يوجد أي كيان يملك سلسلة الكتل، ولكن يمكن لجميع الكيانات الإضافة إلى دفتر الأستاذ والتحقق من صحة المعاملات. وفي حالة تجمع أو اتحاد مجموعة من سلاسل الكتل، يمكن لجميع المشاركين على قدم المساواة، تغيير دفتر الأستاذ بأغلبية كبيرة من الأصوات أو بأشكال أخرى من خوارزميات توافق الآراء الموزعة.

سلسلة الكتل ذات السماحية مقابل سلسلة الكتل العديمة السماحية

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

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

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

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

سلسلة الكتل مقابل قواعد البيانات

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

المفاهيم الرئيسية Key Concepts

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

  • التحقق من الدفع البسيط Simple Payment Verification (SPV) - يتيح التحقق من الدفع البسيط للعملاء الخفيفين التحقق من وجود معاملة معينة مدرجة في سلسلة الكتل. و"العميل الخفيف" هو تطبيق عميل سلسلة الكتل على جهاز يعمل بالطاقة المنخفضة، مثل الهاتف الذكي. ولإجراء هذا التحقق، لا يقوم العميل الخفيف بتنزيل سلسلة الكتل بالكامل، ولكن يقوم بتنزيل رؤوس الكتل فقط. ومع أن هذا المفهوم كان في البداية باستعمال البتكوين، فمن الممكن تعميمه على منصات سلاسل الكتل الأخرى أيضًا.
  • ربط الكتل المنفصلة Pegged Sidechains - إن Sidechain هي سلسلة كتل منفصلة تعمل مع كتلة البتكوين الرئيسية. يسمح Sidechain المنفصل بالابتكار السريع للتطبيقات الجديدة دون تلويث سلسلة كتل البتكوين الرئيسية. ومع ذلك فإنه يسمح للمستعملين بنقل البتكوين بسرعة إلى Sidechain والعكس عن طريق تشكيل ربط ثنائي الاتجاه للتفاعل مع سلسلة كتل بتكوين الرئيسي.
  • إرساء سلاسل الكتل Blockchain Anchoring - تُستعمل هذه التقنية عمومًا بواسطة سلسلة الكتل ذات السماحية لإرسال اختزال رؤوس الكتل دوريًّا إلى سلسلة الكتل العديمة السماحية، مثل البتكوين. يتيح هذا التضمين لمستعملي السلسلة المسموح لهم التحقق من الاختزالات التي تم التحقق من صحتها وتضمينها بواسطة عمال التنقيب في السلسلة العديمة السماحية. يعزِّز هذا الإرساء ضمانات الثبات لسلسلة الكتل ذات السماحية.
  • التنقيب المدمج Merged Mining - التنقيب المدمج هو تقنية تمكن من استعمال نفس معدات التنقيب في سلاسل الكتل المتعددة. فمثلًا، يمكن لعمال التنقيب الذين يستعملون تقنية اختزال Proof-of-Work استعمالها لاستخراج بتكوين من شبكة البتكوين، وكذلك Namecoins من سلسلة المفاتيح Namecoin. وهذا ممكن لأن تقنية إثبات العمل Proof-of-Work المستعملة هي نفسها في كلتا السلسلتين.
  • دليل إثبات الملكية Proof-of-Stake (PoS) - هو بديل لإثبات العمل (PoW). يتطلب PoW من عامل التنقيب حساب عدد كبير من الاختزالات حتى يتم إنتاج تجزئة أو تنقيب رابح لتلك الكتلة المعينة. يتخلص PoS من حساب الاختزال المهدر، ويستعمل بدلًا من ذلك الرهانات التي تملكها كل عقدة في الشبكة؛ كالمشاركة في كتل البحث والمعالجة بشكل متناسب. على سبيل المثال، باستعمال نظام سلسلة الكتل الذي يستعمل بروتوكول PoS، إذا كان عامل التنقيب يحمل 1٪ من إجمالي البتكوين، فيُسمح له بتنقيب 1٪ من الكتل.
  • إثبات الاحتراق Proof-of-Burn - هذا بديل لـ PoW و PoS. يُستعمل إثبات الاحتراق لإظهار أن عامل التنقيب قام بعمل شاق حقًّا دون إنفاق موارد حقيقية مثل الكهرباء. يتضمن إثبات الاحتراق حرق العملة عن طريق إرسالها إلى عنوان غير مستهلك. يمكن استعماله أيضًا كطريقة لنقل عملة تعموية إلى عملة أخرى. فمثلًا، عندما يُحرَق مبلغ X بتكوين في شبكة البتكوين، فيمكن لشبكة بديلة قابلة للتشغيل المتبادل أن تتحقق أن المعاملة قد أكدت وضبطت مبلغًا قدره Y من العملة الأصلية لهذا المستعمل، أي ما يعادل X  بتكوين.

منصات سلسلة الكتل

أدى النمو غير المسبوق والاهتمام في سلاسل الكتل إلى قيام العديد من الشركات والمؤسسات العامة بتطوير منصات سلاسل الكتل التي غالبًا ما تكون مفتوحة المصدر ومتاحة للجميع للمشاركة والاستعمال. تسمح هذه المنصات بتوفير نماذج أولية سريعة، وتطوير ونشر تطبيقات سلسلة كتل جديدة. تصمَّم كلُّ منصة سلسلة كتل بأهداف محددة.

فيما يلي تصنيف الأنظمة الأساسية المتوفرة على نطاق واسع في خمس فئات مختلفة:

  • منصات البيانات الوصفية القائمة على البتكوين - وهي مصمَّمة للاستفادة من سلسلة كتل البتكوين المعتمدة بالفعل. تسمح هذه المنصات بتخصيص ونقل الأصول المخصصة باستعمال سلسلة كتل البتكوين.
  • منصات سلسلة الكتل للتطبيقات المالية - والمعروفة أيضًا باسم منصات Finchain blockchain، هذه الفئة تستهدف التطبيقات داخل المجال المالي تحديدًا.
  • منصات العقود الذكية Smart contract platforms - تركز هذه المنصات أساسًا على التطبيقات التي تتطلب منطقًا معقدًا يتجاوز مجرد التعبير عن أرصدة الحسابات وتحويلات الرصيد، كما في حالة عمليات تحويل العملة التعموية.
  • Consortium/Enterprise platform – تستهدف هذه المنصات المؤسسات والاتحادات التي ترغب في الاستفادة من مزايا سلسلة الكتل، ولكن بطريقة أكثر تحكمًا. تَستعمل هذه المنصات عادة بروتوكول إجماع موزع، مع التخلص تمامًا من PoW والتنقيب.
  • منصات Sidechain - تمكِّن منصات Sidechain من الابتكار السريع دون تلويث سلسلة البتكوين الرئيسية، ومن بناء سلاسل بديلة تعمل بربط ثنائي الاتجاه two-way peg في سلسلة كتل بتكوين أو كسلسلة مثبتة.

الخاتمة

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

قد ترغب كذلك بقراءة
ملف العدد
نظام إثبات العمل (خوارزمية التوافق) في سلاسل الكتل الفنية البحتة
تطبيقات سلسلة الكتل لنقلة مجتمعية
البتكوين: نظام نقدي إلكتروني (نِدّ لنِدّ) لامركزي
سلسلة الكتل تحتضن الشبكات الاجتماعية