التحقق الرسمي في العقود الذكية

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

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

التحقق الرسمي في العقود الذكية

خلفية عن التحقق الرسمي

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

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

يمكن تقسيم اختبار البرنامج أو نظام الأجهزة إلى مرحلتين عامتين:

  1. التحقق من الصحة
  2. التحقق

التحقق من الصحة هو تحديد ما إذا كان المنتج يلبي احتياجات المستخدم.

التحقق هو اختبار ما إذا كان المنتج يتوافق مع المواصفات أم لا.

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

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

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

أ لمحة تاريخية قصيرة من عمليات استغلال العقود الذكية هو كل ما يتطلبه الأمر لفهم عواقب نقاط الضعف البسيطة في كود العقد.

لماذا استخدمه في العقود الذكية?

وفقا لآخر دراسة تم إجراؤها على ما يقرب من مليون عقد من عقود Ethereum الذكية ، تم تمييز 34200 منها على أنها ضعيفة ، في 10 ثوانٍ لكل عقد. تم الوصول إلى هذا الرقم المذهل من خلال تحليل نقاط الضعف في تتبع العقود الذكية بما في ذلك:

  • البحث عن العقود التي تغلق الأموال إلى أجل غير مسمى
  • العقود التي تسرّب الأموال بلا مبالاة للمستخدمين التعسفيين
  • العقود التي يمكن أن يقتلها أي شخص

إلى جانب التعقيد المنطقي العام والحداثة المرتبطة ببرمجة العقود الذكية للبلوك تشين ، فإن طبيعتها غير القابلة للتغيير – بمجرد التزامها بـ blockchain – تجعل الثغرات الأمنية أكثر ضررًا..

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

  1. النية التي أسيء فهمها
  2. ارتكاب خطأ عند تنفيذ هذا القصد

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

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

أدوات مثل مساعد إثبات Coq تم تطويره للمساعدة في تسهيل البراهين الآلية حول خصائص البرامج ويتم استخدامه حاليًا بواسطة العديد من العملات المشفرة الناشئة مع اللغات التي يستخدمونها المضمنة في Coq.

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

التطبيقات الحالية للتحقق الرسمي

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

زليقة

Zilliqa عبارة عن blockchain عالي الإنتاجية مصمم لاستضافة تطبيقات لامركزية قابلة للتطوير وآمنة (dapps). كان العديد من المطورين التقنيين وراء Zilliqa مؤلفي الدراسة السابقة التي كشفت عن آلاف نقاط الضعف في العقود الذكية.

زليقة

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

تيزوس

تمت كتابة Tezos باللغة OCaml ولغة عقدها الذكية هي Michelson ، استنادًا إلى OCaml. تم اختيار OCaml نظرًا لما تقدمه من عروض برمجية وظيفية من السرعة ، وبناء الجملة والدلالات الواضحة ، وقدرات تنفيذ البراهين الرسمية. تستخدم Tezos أيضًا مساعد Coq Proof لتسهيل التحقق الرسمي من العقود الذكية.

دليل Tezos

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

كاردانو

كُتبت كاردانو بلغة هاسكل ولغة العقد الذكية الخاصة بها هي بلوتوس ، والتي تستند إلى هاسكل.

دليل كاردانو

تم تصميم Cardano بطبقة حساب Cardano (CCL) تتكون من طبقتين:

  1. آلة افتراضية محددة رسميًا وإطار عمل لغة
  2. لغات محددة رسميًا تسهل التحقق من رمز العقد الذكي

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

إيثيريوم

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

دليل إيثريوم

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

خاتمة

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

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me