
الحتمية هي الخاصية التي تضمن أنه عند توفر نفس المُدخلات ونفس حالة النظام، تنتج جميع العُقد نفس المخرجات وتحولات الحالة. يمكن تشبيهها بوصفة دقيقة: إذا كانت المكونات والخطوات متطابقة، يجب أن يكون الناتج النهائي دائمًا نفسه.
في سياق البلوكشين، تعني الحتمية أن كل معاملة، بمجرد إدراجها في كتلة وتنفيذها في بيئة متطابقة، ستنتج نفس نتيجة الحساب، وأرصدة الحسابات، وتغييرات التخزين. وبما أن كل عقدة قادرة على إعادة تنفيذ نفس مجموعة المعاملات بشكل مستقل والوصول إلى نفس النتيجة، يمكن للشبكة تحقيق الإجماع.
الحتمية تتيح للعُقد المختلفة التوصل إلى اتفاق حول نتائج الكتل دون الحاجة إلى الثقة المتبادلة، وهو أمر أساسي لاستخدام البلوكشين العام. بالنسبة للمستخدمين، يوفر ذلك تفاعلات متوقعة وتأكيدات معاملات موثوقة.
من الأمثلة الشائعة عمليات الإيداع على السلسلة في البورصات. فعند الإيداع في Gate، ينتظر النظام عدة "تأكيدات" — أي انتظار الشبكة حتى تصل إلى إجماع مستقر بشأن النتائج الحتمية لمجموعة من المعاملات، مما يقلل من مخاطر التراجع. أما في سياق التدقيق والتنظيم، فالحتمية تعني إمكانية التحقق المستقل من منطق العقود، مما يعزز الشفافية.
الحتمية ناتجة عن تصميم البلوكشين كآلة حالة — مزيج من "القواعد + البيانات". بناءً على البيانات الحالية (حالة السلسلة) ومجموعة المعاملات (المُدخلات)، تُنفذ العمليات وفق قواعد محددة مسبقًا لإنتاج بيانات جديدة (حالة جديدة).
ضمن كل كتلة، يكون ترتيب المعاملات ثابتًا. جميع العُقد تقرأ نفس الحالة السابقة وتنفذ المعاملات بنفس الترتيب ووفق نفس القواعد. بعد التنفيذ، ينتج جذر حالة عالمي جديد (بصمة تمثل جميع الحسابات والتخزين). إذا حصلت العُقد على نفس جذر الحالة، فهذا يعني أنها توصلت إلى نفس النتيجة.
تفرض هذه الآلية مبدأ "نفس المُدخل ينتج نفس المخرج" على السلسلة، مما يدعم الإجماع والنهائية لاحقًا.
تفرض Ethereum Virtual Machine (EVM) الحتمية عبر مجموعة تعليمات وقواعد واضحة: تنفيذ نفس الشيفرة الثنائية على نفس الحالة ينتج دائمًا نفس النتيجة وفق عمليات حساب وتخزين موحدة. ولا تدعم EVM العمليات العشرية العائمة، لتجنب الفروقات الدقيقة بين التطبيقات المختلفة.
يعمل Gas كحصة تنفيذ — أي حد وقود للحسابات. وتضمن قواعد تسعير الغاز الموحدة وقواعد نفاده أن جميع العُقد تدير الموارد بنفس الطريقة. أما متغيرات البيئة مثل الطوابع الزمنية فهي متاحة ولكن ضمن حدود؛ فلا يمكن لمنتجي الكتل التلاعب بها دون قيود، مما يقلل من العوامل غير الحتمية.
على المطورين أيضًا تثبيت إصدارات المُجمّع والاعتماديات — إذ قد تنتج المُجمّعات المختلفة شيفرة ثنائية متباينة، ما يؤدي إلى تنفيذ غير متسق عبر العُقد. كما يعزز توحيد صيغ الترميز (مثل ABI الموحد) وتجنب الاعتماد على الحالة خارج السلسلة من الحتمية.
عندما تتطلب العقود العشوائية (مثل اليانصيب أو الألعاب)، فإن استخدام الطوابع الزمنية أو تجزئة الكتل الأخيرة بشكل مباشر غير آمن، إذ يمكن لمنتجي الكتل التأثير على هذه القيم. والطريقة الأكثر أمانًا هي تطبيق عشوائية قابلة للتحقق مع الحفاظ على التنفيذ الحتمي العام.
إحدى الطرق هي آلية الالتزام والكشف:
طريقة أخرى تعتمد على الدوال العشوائية القابلة للتحقق (VRF). إذ تنتج VRF رقمًا عشوائيًا ودليلًا يمكن لأي شخص التحقق منه على السلسلة. واعتبارًا من 2024، تعتمد العديد من التطبيقات الكبرى على VRF لتوفير عشوائية قابلة للتحقق مع الحفاظ على حتمية العقود.
تحدد آلية الإجماع من ينتج الكتل وبأي ترتيب تُدرج المعاملات؛ وتضمن الحتمية أن تنفيذ هذا الترتيب على نفس الحالة ينتج دائمًا نفس النتائج. بالاقتران معًا، يضمنان تقدم الشبكة بشكل مستقر.
تشير النهائية إلى اللحظة التي يُعتبر فيها الناتج غير قابل للعكس. بعض الشبكات تعتمد النهائية الاحتمالية — حيث تقل احتمالية التراجع بسرعة مع زيادة التأكيدات؛ بينما تستخدم أخرى إجماعًا متسامحًا مع الأعطال البيزنطية لتحقيق نهائية قوية بسرعة. واعتبارًا من 2024، تجمع معظم شبكات البلوكشين الكبرى بين تنفيذ حتمي وتصميم إجماع مختار لتوفير سرعات وقوة نهائية متفاوتة.
يحدد ترتيب المعاملات تسلسل المُدخلات لآلة الحالة. حتى لو كانت كل معاملة حتمية، فإن تغيير ترتيبها يؤدي إلى نتائج مختلفة. لذا، يؤثر منتجو الكتل وقواعد التجميع بشكل كبير على سلوك العقود.
في التداول اللامركزي، يمكن أن يؤثر الترتيب على أسعار التداول والانزلاق — مما يؤدي إلى قيمة قابلة للاستخلاص (المعروفة باسم MEV). هذا لا يعني فشل الحتمية؛ بل هو "الحصول على نتائج مختلفة بشكل حتمي": بمجرد تحديد الترتيب، تكرر جميع العُقد تلك النتائج بشكل متطابق.
ولتقليل التأثيرات السلبية للترتيب، تعتمد بعض البروتوكولات المزادات الدفعية أو نوافذ المطابقة — حيث تُسعر جميع الأوامر ضمن إطار زمني واحد — لتقليل تأثير الطلب الفردي مع الحفاظ على التنفيذ الحتمي.
من المزالق الشائعة اعتبار الطوابع الزمنية أو تجزئة الكتل مصادر آمنة للعشوائية — إذ يمكن لمنتجي الكتل التلاعب بها ضمن حدود معينة. استخدام هذه القيم في اليانصيب أو الانتخابات يعرض النظام لخطر التلاعب.
هناك أيضًا خطر الخلط بين "النهائية الاحتمالية" و"عدم القابلية للعكس الفوري". فعند وجود تأكيدات غير كافية، قد تواجه السلاسل تراجعات قصيرة الأجل؛ لذا يجب على العمليات المتعلقة بالأموال (مثل الإيداعات أو التصفية) انتظار عدد كافٍ من التأكيدات. وتحدد البورصات مثل Gate عتبات التأكيد بدقة لتكون حاجزًا ضد هذه المخاطر.
كن حذرًا من التناقضات بين السلاسل والعملاء المتعددين: فقد توجد اختلافات في التنفيذ بين السلاسل أو إصدارات العملاء المختلفة، مما يؤدي إلى نتائج غير قابلة للتكرار عبر البيئات. تأكد دائمًا من إجراء اختبارات التوافق قبل النشر.
الحتمية تتيح أن "ينتج نفس المُدخل في نفس الحالة نفس المخرج" — وهو الضمان الأساسي لإمكانية التحقق من البلوكشين، وإمكانية التدقيق، والتعاون. وبالاقتران مع آليات الإجماع، تحدد ترتيب المعاملات وتضمن إعادة جميع العُقد نتائج التنفيذ بشكل متطابق؛ ولا تتعارض مع العشوائية، إذ تتيح تقنيات مثل الالتزام والكشف أو VRF عشوائية قابلة للتحقق ضمن أطر حتمية. وبالنسبة للمطورين، يعد تثبيت المُجمّعات، وتوحيد الترميز، وتجنب المُدخلات غير الحتمية، والاختبار عبر العُقد من المفاتيح لضمان الحتمية عمليًا؛ أما للمستخدمين والشركات، فإن فهم عدد التأكيدات وحدود النهائية يساعد على إدارة المخاطر في العمليات المتعلقة بالأموال.
عدم اليقين من نوع Knightian يشير إلى المخاطر غير القابلة للقياس، بينما تركز الحتمية على النتائج المتوقعة. في البلوكشين، تتطلب الحتمية أن تنتج المُدخلات المتطابقة دائمًا مخرجات متطابقة — ما يتعارض مباشرة مع عدم اليقين من نوع Knightian. من خلال التصميم الحتمي، تصبح الأحداث التي كانت غير متوقعة سابقًا قابلة للإدارة، مما يعزز ثقة المشاركين.
العقود الذكية تُنفذ بالتوازي من قبل آلاف العُقد على شبكات موزعة؛ ولو لم تكن النتائج حتمية، لما أمكن تحقيق الإجماع. الحتمية تضمن أن كل عقدة تُشغل نفس الشيفرة تصل إلى نفس النتيجة تمامًا — ما يصادق على صحة المعاملة. أي نتيجة غير حتمية ستؤدي إلى انقسام شبكة البلوكشين إلى سلاسل متفرعة، مما يهدد سلامة السجل.
يحقق البلوكشين الحتمية عبر تحديد قيم هذه المتغيرات مسبقًا. فعلى سبيل المثال، تستخدم جميع العُقد الطابع الزمني في رأس الكتلة بدلًا من وقت النظام المحلي؛ وتُنتج العشوائية عبر VRF (الدالة العشوائية القابلة للتحقق)، باستخدام خوارزميات حتمية. هذه القيم "العشوائية ظاهريًا" محددة بالكامل بمقدماتها — ما يضمن حساب جميع العُقد لنفس النتائج.
هذه من المزالق الشائعة في التطوير: قد ينجح الكود في الاختبارات خارج السلسلة لكنه يفشل عند التنفيذ على السلسلة بسبب مشكلات مثل دقة الأعداد العشرية، أو ترتيب الاستدعاءات، أو استهلاك الغاز — ما يؤدي إلى نتائج غير حتمية. وأفضل ممارسة هي الاختبار الشامل على شبكات الاختبار وتجنب العمليات المعتمدة على بيئة التنفيذ (مثل وقت النظام أو توليد الأرقام العشوائية)، مع استخدام متغيرات موحدة على البلوكشين.
هناك ارتباط غير مباشر. تجنب عدم اليقين يصف نفور الأفراد من عدم القدرة على التنبؤ؛ ويعالج التصميم الحتمي للبلوكشين هذه الحاجة النفسية. ويميل المستخدمون إلى اختيار الأنظمة ذات النتائج المتوقعة — ولهذا تبرز بورصات مثل Gate حتمية المعاملات: فهي تقلل قلق المستخدمين وتزيد من استعدادهم للمشاركة.


