سلسلة الكتل (blockchain) دفتر سجلات مشترك تُبقيه حواسيب كثيرة متزامناً، دون مالك واحد. يشرح هذا المقال كيف تُبنى، ولماذا يصعب جداً تغيير تاريخها، وما هو العقد الذكي، بكلمات بسيطة وأمثلة حقيقية.
يمكنك مشاهدة الفكرة وهي تعمل أثناء القراءة. افتح صفحة إيثريوم الحية أو صفحة بيتكوين الحية وسترى كتلاً جديدة تظهر الواحدة تلو الأخرى.
الفكرة الأساسية: دفتر سجلات يحتفظ به كثيرون
تخيل دفتراً يسرد كل دفعة جرت على شبكة. ثم تخيل أن آلاف الأشخاص يحتفظ كل منهم بنسخة مطابقة، وأن صفحات جديدة لا تُضاف إلا عندما يتفق معظمهم. هذا جوهر سلسلة الكتل.
السجل عام. يستطيع أي شخص قراءته وفحصه. ولا يحتاج أحد إلى الوثوق بمصرف أو شركة لمسك الدفاتر، لأن قواعد الشبكة والنسخ التي يحتفظ بها مشاركون كثيرون تؤدي هذه المهمة.
الكتل: صفحات المعاملات
المعاملة (transaction) تعليمة واحدة، مثل «أرسل 20 USDC من أليس إلى بوب». وتُجمَّع المعاملات في مجموعات تسمى كتلاً (blocks). والكتلة مثل صفحة واحدة في دفتر السجلات.
لكل كتلة ارتفاع (block height)، وهو موضعها في السلسلة. للكتلة الأولى الارتفاع 0، وللتالية 1، وهكذا. وتُنتَج الكتل بإيقاع منتظم يعتمد على الشبكة:
- تنتج بيتكوين كتلة كل 10 دقائق تقريباً.
- تنتج إيثريوم كتلة كل 12 ثانية.
- تنتج Solana فترة (slot) جديدة كل 400 ميلي ثانية تقريباً.
في ChainMonitor تُعرض كل كتلة مربعاً يخبرك بمدى امتلائها وبالرسوم التي دفعتها. انقر على مربع لترى المعاملات بداخله. ويشرح دليل قراءة معاملة ما ستجده هناك.
التجزئات المتسلسلة: لماذا السلسلة سلسلة
التجزئة (hash) بصمة قصيرة لبيانات ما. تحوّل دالة التجزئة أي مدخل إلى سلسلة أحرف ثابتة الطول. المدخل نفسه يعطي دائماً التجزئة نفسها. وإذا غيّرت حرفاً واحداً من المدخل بدت التجزئة مختلفة تماماً. ولا يمكنك الرجوع من التجزئة إلى البيانات.
تحتوي كل كتلة على تجزئة الكتلة التي قبلها. وهذا الرابط هو ما يجعلها سلسلة.
- تحتوي الكتلة 100 على معاملاتها وتجزئة الكتلة 99.
- تحتوي الكتلة 101 على معاملاتها وتجزئة الكتلة 100.
- تحتوي الكتلة 102 على تجزئة الكتلة 101، وهكذا.
إذا غيّر أحد معاملة واحدة في الكتلة 100، فستتغير تجزئة الكتلة 100. عندئذ تشير الكتلة 101 إلى تجزئة لم تعد تطابق. وسيظهر عدم التطابق فوراً، وتنكسر كل كتلة بعدها أيضاً.
العقد: من يحتفظون بالنسخ
العقدة (node) حاسوب يشغّل برمجيات الشبكة ويخزّن سلسلة الكتل ويتحقق من القواعد. وعندما تصل كتلة جديدة، تتحقق منها كل عقدة باستقلال. فإذا خرقت كتلة قاعدة، مثلاً بإنفاق عملات غير موجودة، رفضتها العقد الأمينة.
تساعد بعض العقد أيضاً في إنتاج الكتل. وأخرى تقرأ وتتحقق فقط. وعندما تستخدم محفظة، فهي تتحدث عادةً إلى عقدة عبر نقطة نهاية RPC، وهي عنوان ويب يجيب عن أسئلة مثل «ما رصيدي؟». ويمكنك مقارنة نقاط النهاية العامة في صفحة سلامة RPC.
الإجماع: كيف يتفق الجميع
مع آلاف النسخ، تحتاج الشبكة إلى طريقة للاتفاق على الكتلة التالية. وتسمى عملية الاتفاق هذه الإجماع (consensus). وهناك نوعان رئيسيان.
إثبات العمل
في إثبات العمل (proof of work) أو PoW، يتنافس مشاركون يسمون المعدِّنين على حل لغز صعب. لا يمكن حل اللغز إلا بتجربة عدد هائل من التخمينات، وهذا يكلّف كهرباء ووقت حاسوب. ويضيف الفائز الكتلة التالية ويتلقى مكافأة. وتستخدم بيتكوين إثبات العمل.
الغش مكلف. فلإعادة كتابة التاريخ، يجب على المهاجم إعادة العمل للكتلة القديمة وكل الكتل بعدها، وفعل ذلك أسرع من بقية الشبكة مجتمعة.
إثبات الحصة
في إثبات الحصة (proof of stake) أو PoS، يقفل مشاركون يسمون المدقِّقين (validators) عملات وديعةً، تسمى حصة (stake). وتختار الشبكة مدقِّقين لاقتراح الكتل والموافقة عليها. ويكسب المدقِّقون الذين يتبعون القواعد مكافآت. ويمكن للذين يخرقونها خسارة جزء من حصتهم. وتستخدم إيثريوم وSolana إثبات الحصة.
الغش مكلف هنا أيضاً، لكن التكلفة هي الوديعة بدلاً من الكهرباء.
لماذا لا يستطيع أحد تعديل التاريخ بصمت
ثلاثة أمور تعمل معاً:
- روابط التجزئة. تغيير كتلة قديمة يكسر كل كتلة لاحقة.
- نسخ كثيرة. يحتاج المعدِّل إلى تغيير أغلبية النسخ لا نسخة واحدة.
- التكلفة. في إثبات العمل يحتاج المهاجم إلى قدرة حاسوبية هائلة. وفي إثبات الحصة يحتاج إلى حصة ضخمة يمكن إتلافها.
هذا لا يعني أن النظام سحري. بل يعني أن التاريخ يصعب تغييره أكثر كلما أُضيفت كتل فوقه. ولهذا تنتظر منصات التداول والتطبيقات عدة تأكيدات (confirmations) قبل أن تعدّ الدفعة نهائية. راجع النهائية والتأكيدات للتفاصيل.
طريقتان لحفظ الأرصدة: الحسابات ومخرجات UTXO
تتتبع الشبكات «من يملك ماذا» بإحدى طريقتين.
نموذج الحسابات. تعمل إيثريوم وArbitrum وBase وOptimism وPolygon وSolana مثل دفتر مصرفي. لكل عنوان رصيد، وتطرح المعاملة من رصيد وتضيف إلى آخر.
نموذج UTXO. تعمل بيتكوين أقرب إلى النقد. وUTXO (مخرج معاملة غير منفق) قطعة شبيهة بالعملة يمكن إنفاقها مرة واحدة فقط. تستخدم الدفعة UTXO واحدة أو أكثر مدخلات وتنشئ أخرى جديدة مخرجات، تتضمن عادةً «باقياً» يعود إلى المرسل. ورصيدك في بيتكوين هو مجموع مخرجات UTXO التي تستطيع إنفاقها.
لا يتفوق أي من النموذجين في كل شيء. هما تصميمان مختلفان بمقايضات مختلفة.
ما هو العقد الذكي؟
العقد الذكي (smart contract) برنامج صغير مخزَّن على سلسلة كتل. يعمل تماماً كما كُتب عندما يرسل إليه أحد معاملة. ويستطيع الاحتفاظ برموز واتباع قواعد وإرسال النتائج إلى عقود أخرى. ولا يستطيع أحد تغيير شيفرة عقد منشور ما لم تسمح الشيفرة نفسها بالترقيات.
أمثلة: عقد يبدّل رمزاً برمز آخر، أو عقد يقرض المال مقابل ضمان، أو العقد الذي يعرّف رمز USDC. وتشغّل إيثريوم والسلاسل المبنية عليها العقود باستخدام EVM (آلة إيثريوم الافتراضية). ولدى Solana نظام عقود خاص بها، تعمل فيه البرامج على تصميم مختلف. أما بيتكوين فتدعم سكربتات بسيطة فقط.
يكلّف تشغيل عقد رسماً يسمى الغاز (gas). راجع الغاز والرسوم لمعرفة كيف يُحسب.
العقد الذكي جيد بقدر شيفرته. فخطأ في عقد قد يُضيّع الأموال، ولا يمكن التراجع عن معاملة بمجرد أن تصبح نهائية.
إلى أين تذهب بعد ذلك
لترى كيف ترتبط الشبكات المختلفة ببعضها، اقرأ شرح الطبقة الأولى والثانية والثالثة. ولتتعلم كيف تحتفظ بأموالك بنفسك، اقرأ المحافظ والمفاتيح. وللتعريفات القصيرة استخدم المسرد.
الأسئلة الشائعة
هل سلسلة الكتل هي نفسها بيتكوين؟
لا. بيتكوين سلسلة كتل واحدة وأولى ما استُخدم على نطاق واسع. وسلسلة الكتل هي التقنية الأساسية. وإيثريوم وSolana وكثير غيرهما سلاسل كتل منفصلة بقواعدها الخاصة.
هل يمكن اختراق سلسلة كتل أو تغييرها؟
إعادة كتابة كتل قديمة في شبكة كبيرة مكلفة للغاية ولم تحدث في أكبر الشبكات. ومعظم الخسائر تأتي من أماكن أخرى: مفاتيح مسروقة، أو احتيال، أو أخطاء في العقود الذكية والتطبيقات المبنية فوقها.
من يتحكم في سلسلة كتل؟
لا يتحكم مالك واحد في سلسلة كتل عامة. تضع القواعد البرمجيات التي تشغّلها العقد، وتتطلب التغييرات اتفاقاً واسعاً بين المطورين والمدقِّقين أو المعدِّنين والمستخدمين. وهذا أبطأ من قرار شركة عن قصد.
ما الفرق بين الكتلة والمعاملة؟
المعاملة إجراء واحد، مثل دفعة. والكتلة حزمة من معاملات كثيرة تُضاف معاً إلى السلسلة.
لماذا تكلّف معاملات سلسلة الكتل رسماً؟
تدفع الرسوم لمن يشغّلون الشبكة وتمنع الرسائل المزعجة. ولأن مساحة الكتل محدودة، تحدد الرسوم أيضاً من تدخل معاملاته أولاً عندما تزدحم الشبكة.