مع ارتفاع قيمة الأصول في السلسلة الكتلية بسرعة، يتم إطلاق سلسلة من تطبيقات الاقتصاد التشفيري المختلفة من قبل المشاريع المختلفة. في هذا السياق، يصبح الوقاية من الثغرات والتهديدات المحتملة أكثر أهمية من أي وقت مضى.
بيتكوين كانت في الأصل مصممة لتحل محل البنوك، ولكن تقنية البلوكتشين أظهرت قدرتها على استبدال جميع الوسطاء. خلال هذه العملية، قدمت إمكانيات جديدة تمامًا للمال الرقمي، مثل العملات البرمجية التي لا يمكن تحقيقها بالأوراق النقدية. هذا المال الرقمي يدفع النمو اللامركزي من خلال السماح بتنفيذ العقود تلقائيًا وبطريقة شفافة وغير تدخلية، وبالتالي يمكن استبدال المحامين والعقود في المعاملات المالية. ومع ذلك، كيف يعمل العقد الذكي بالضبط؟ هل يمكننا حقًا الثقة في هذا النظام الذي لا يعتمد على الثقة؟
سيستكشف هذا المقال التحقق الرسمي للعقود الذكية ويحلل مزاياه وعيوبه وتأثيره على البيئة التشفيرية، خاصةً تطبيقات إيثيريوم.
نيك سابو (Nick Szabo)، عالم الحاسوب وعالم الكريبتوغرافيا الأمريكي، وغالبا ما يُعتقد أنه شخصية الشخص الغامض ساتوشي ناكاموتو. كمؤسس لبروتوكول العقود الذكية، قدم سابو لأول مرة مفهوم 'العقود الذكية' في عام 1994. حدد سابو العقود الذكية كصفقات رقمية تُستخدم لتنفيذ بروتوكولات الشروط تلقائيا. كانت نيته الأولية تحسين وسائل المعاملات الإلكترونية مثل أنظمة نقاط البيع، وتوسيع قدرتها إلى المجال الرقمي.
تخيل ساب البروتوكول في المستقبل سيكون مثل ماكينة البيع التلقائية ، متطور وموثوق وغير قابل للتلاعب. على الرغم من أن الظروف التقنية في ذلك الوقت لم تكن قادرة تمامًا على تحقيق رؤيته ، إلا أن فكرته أرسست أساسًا لثورة صناعة البلوكتشين في وقت لاحق. في عام 2015 ، أتاح إطلاق العقد الذكي الحقيقي لإيثريوم (https://www.coindesk.com/markets/2015/07/30/ethereum-launches-long-awaited-decentralized-app-network/) التطبيق الفعلي ، وأصبحت نظرية ساب أيضًا تقنية رئيسية في تطبيقات اللامركزية.
رؤيته هي تمكين العقود من إدارة العلاقة بين الطرفين بشكل دقيق وآلي، وتقليل الحاجة إلى التدخل البشري والمراقبة. هذا النهج يوفر وسيلة أكثر أمانًا وكفاءة لإدارة البروتوكول، مما يمهد الطريق لتطور العقد الذكي وجعله أداة مهمة في نظام البلوكشين الإيكولوجي. لا تزال الرؤى المبكرة لسابو تؤثر حتى الآن على تطور التداول الرقمي والعقد الذكي.
التحقق الرسمي هو عملية صارمة للتحقق مما إذا كان النظام (مثل العقد الذكي) يتوافق مع القواعد أو المواصفات المحددة. وببساطة، فإنه يتحقق مما إذا كان النظام يعمل بما يتوقع، ويضمن تلبية الشروط اللازمة، وتنفيذ وظائفه المحددة دون أخطاء.
لتحقيق ذلك ، تصف تقنية التحقق أولا السلوك المتوقع للنظام من خلال نموذج رسمي ، ثم تستخدم لغة مواصفات لتحديد الشروط المحددة التي يجب أن يفي بها العقد. مع تعمق المقالة ، سنرى المزيد من الأمثلة الواقعية. التحقق الرسمي تقارن التكنولوجيا رياضيا التنفيذ الفعلي للعقد بمواصفاته لضمان دقته. بمجرد أن يفي العقد بهذه المواصفات ، يعتبر "صحيحا من الناحية الوظيفية" أو "مصمما بشكل صحيح" ، مما يؤكد موثوقيته وأمنه في سياق سلسلة كتلة الحكم.
أنواع المواصفات المكتوبة للعقد الذكي
المصدر: [مقياس من أي وقت مضى] (https://everscale.network/)
المواصفات الرسمية تحقق تشغيل البرنامج بشكل صحيح من خلال الاستدلال الرياضي. يمكن وصف هذه المواصفات من خلال السلوك الشامل (على مستوى عال) أو تفاصيل تشغيل العقد الداخلية (على مستوى منخفض). من خلال تحديد سلوك العقد رياضيًا، تضمن المواصفات الرسمية عمل العقد كما هو متوقع.
مواصفات الطبقة العليا
المواصفات العليا ، المعروفة أيضًا باسم المواصفات الموجهة نحو النموذج ، تصف الحالة العامة للعقد الذكي ، وتعتبرها آلة حالة محدودة (FSM) ، وتقوم بتحويلها بين الحالات المختلفة باستخدام عمليات محددة. يستخدم التسلسل الزمني المنطقي في كثير من الأحيان لتحديد قواعد هذه التحولات ، ويوضح بالتفصيل كيفية تغير حالة العقد مع مرور الوقت والشروط التي يجب تلبيتها.
تشدد اللوائح العليا بشكل أساسي على جانبين: الأمان والنشاط. يمكن أن يساهم الأمان في تجنب وقوع حوادث غير متوقعة، مثل عدم كفاية رصيد الحساب لدى المرسل لإجراء المعاملات. بينما يضمن النشاط استمرارية تشغيل العقد بشكل طبيعي، مثل الحفاظ على كمية كافية من السيولة، وضمان قدرة المستخدمين على سحب الأموال في أي وقت. تضمن هاتان الجانبان معًا سلامة وموثوقية العقد الذكي، وحماية أصول المستخدمين وتجربتهم التفاعلية.
المواصفات المنخفضة
يشار أيضًا إلى المواصفات المنخفضة باسم المواصفات الموجهة نحو الخصائص ، وهي تركز على تحديد ما إذا كان سلوكه صحيحًا من خلال تحليل عملية التنفيذ الداخلية للعقد. على عكس المواصفات العليا التي تعتبر العقد كآلة حالة محدودة ، تعتبر المواصفات المنخفضة نظامًا للدوال الرياضية وتحليل ترتيب تنفيذ الدوال (المعروف بالمسار) وهذه المسارات قد تؤدي إلى تغيير حالة العقد.
تقنية التحقق الرسمي للعقد الذكي
المصدر: [مقياس من أي وقت مضى] (https://news.everscale.network/smart-contracts-paying-rent-on-the-everscale-blockchain-acbd6ce64ac5)
فحص النموذج
فحص النموذج هو طريقة للتحقق باستخدام الخوارزمية ما إذا كان النموذج الذكي العقدي يتوافق مع المعايير المحددة. يتم تمثيل العقد الذكي عادةً على أنه نظام تحويل حالة ، وتعرف خصائصه بواسطة منطق التوقيت [الاقتراحي] (https://www.baeldung.com/cs/propositional-logic). تعتمد هذه الطريقة على إنشاء نموذج رياضي واستخدام المعادلات المنطقية لوصف سلوكه ، ثم تسمح الخوارزمية بالتحقق مما إذا كان هذا النموذج يتوافق مع المتطلبات.
إثبات النظرية
بالمقارنة مع التحقق من النموذج، فإن إثبات النظرية هو نوع من الأساليب الرياضية المستخدمة في التحقق من صحة البرامج (بما في ذلك العقود الذكية). يقوم هذا الأسلوب بتحويل نموذج العقد والمواصفات إلى صيغ منطقية للتحقق من مكافأتها المنطقية، أي أنتجمين مقدمة حقيقية، ومقدمة أخرى أيضا. من خلال تصور هذه العلاقة كإثبات، يمكن لأدوات إثبات النظرية الآلية التحقق من صحة نموذج العقد ومواصفاته.
على عكس الفحص النموذجي المقتصر على الأنظمة ذات الحالة المحدودة، يمكن لإثبات النظرية تحليل الأنظمة ذات الحالة غير المحدودة، ولكن غالبًا ما يتطلب التوجيه اليدوي لحل المشاكل المنطقية المعقدة. لذلك، يكون إثبات النظرية غالبًا أكثر تكلفة ومجهدًا من الفحص النموذجي الكامل التلقائي.
تنفيذ الرموز
التنفيذ الرمزي هو طريقة تحليل قوية للعقود الذكية ، حيث يتم تنفيذ الوظائف باستخدام قيم رمزية بدلاً من الإدخالات المحددة. تحويل مسار التنفيذ للعقد إلى معادلات رياضية (تسمى بالمقدمات المسارية) باستخدام محلل SMT لتحديد ما إذا كانت هذه المقدمات صحيحة ، أي ما إذا كان هناك إدخالات تلبي الشروط.
على سبيل المثال، إذا حدث التراجع في وظيفة العقد عندما يكون القيمة بين 5 و 10، يمكن للتنفيذ الرمزي أن يجد بسرعة القيم التي تتسبب في حدوث هذا الشرط من خلال تقييم الشرط X > 5 و X < 10. هذا الأسلوب أكثر فعالية من الاختبار التقليدي، ولديه معدل أقل للإبلاغ عن الأخطاء، ويمكنه إنشاء قيم محددة يمكن أن تتسبب في حدوث الأخطاء مباشرة، وهو أداة قوية لضمان موثوقية العقود الذكية.
العقود الذكية هي برامج تشغيل آلي تعمل داخل كتلة السلسلة، وتقوم بتنفيذ العمليات المقترنة تلقائيًا عند تحقق الشروط المحددة. يمكن أن تكون بسيطة مثل بروتوكولات أو معقدة مثل البرامج، وتستطيع إدارة مئات الملايين أو حتى مليارات الدولارات كأصول.
العقود الذكية ليست فقط قادرة على تحول جذري في مجالات الاقتراع السياسي وإدارة الموردين والرعاية الصحية والعقارات، إنما يركز هذا المقال على تطبيقها في مجال الأصول الرقمية. يمكن لتصميم العقود الذكية أن يتيح للأطراف الطويلة التعاون بشكل شفاف وآمن دون الحاجة إلى القلق بشأن مخاطر التلاعب، مما يوفر إطارًا شفافًا وآمنًا ويعزز الكفاءة والابتكار. ومع ذلك، يجب علينا أيضًا أن ندرك وجود ثغرات أمنية وتحديات لا زالت تواجه العقود الذكية.
العقد الذكي的安全漏洞
العقد الذكي الأمنية الثغرات في رمز 漏洞 يمكن أن يؤدي إلى نتائج كارثية، مثل فقدان جميع الأصول في العقد. الأحداث الأخيرة هي مثال حي على ذلك.
في عام 2021، تم سرقة 01928374656574839201 في AMMUranium Finance بسبب خطأ إملائي في العقد الذكي من 50 مليون دولار أمريكي。
في نفس العام 2021 ، قدمت Compound Finance عن طريق الخطأ مكافأة غير مكتسبة بقيمة 80 مليون دولار من الروابط بسبب خطأ في الحرف.
في عام 2022، تم اختراق Wormhole Bridge بسبب الثغرات في العقود الذكية وتم سرقة 320 مليون دولار أمريكي من الأصول الرقمية.
هذه الأمثلة توضح أنه يجب التأكد من دقة كود العقد الذكي قبل نشره. العقد الذكي مفتوح المصدر، وبمجرد نشره، يمكن للهاكر بسهولة استغلال الثغرات المكتشفة. بالإضافة إلى ذلك، فإن عدم قابلية تعديل العقد الذكي يحدد أن الثغرات الأمنية عادة ما لا يمكن إصلاحها بمجرد نشر الكود. لذا، إذا لم يكن التطوير دقيقًا بما فيه الكفاية، فإنها ستبقى دائمًا في مواجهة المخاطر.
يمكن اعتبار العقد الذكي "بروتوكولا محفورا في الحجر"، حيث لا يمكن تعديله بمجرد إنشائه. تعمل هذه العقود على دفاتر الحسابات غير القابلة للتلاعب في سلسلة الكتل، وتنفذ البنود تلقائيًا بدون وسيط، مما يعزز تسريع المعاملات وإسقاط التكاليف. تعزز هذه الخصائص الثابتة ليس فقط الأمان، ولكنها أيضا إدارة غير مركزية، مما يقلل بشكل كبير من مخاطر الغش والفساد.
为什么العقد الذكي的验证如此重要?
من خلال الاستدلال الرياضي، التحقق الرسمي يضمن أن العقد الذكي لا يحتوي على ثغرات أو أخطاء أو سلوك غير متوقع. يعزز عملية تنفيذ العقد بصرامة ثقة الناس في العقد، حيث تم التحقق بالكامل من وظائفه وخصائصه.
نماذج النجاح الناجحة للتحقق من العقد الذكي تبرز دوره الهام في تجنب الخسائر المالية الكبيرة.
يونيسواب
على سبيل المثال ، أجرى AMM المشهور Uniswap التحقق الرسمي أثناء تطوير العقد الذكي الخاص به V1 واكتشف وأصلح الأخطاء التي قد تؤدي إلى خسارة الأموال مصدر.
بالانسر
وبالمثل، اكتشف AMM Balancer V2 آخر من خلال التحقق الرسمي خطأ في حساب التكاليف المتعلق بالقروض السريعة، مما يجنب المخاطر المحتملة للسرقة. يمكنك الاطلاع على المزيد من التفاصيل في هذه المقالة (https://www.certik.com/resources/blog/little-pains-great-gains-balancer-defi-contract-was-drained).
القمر الآمن
تم التعرف على علة [صغيرة] (https://lossless.io/safemoon-exploit-a-critical-bug-in-smart-contract-allows-token-manipulation/) في SafeMoon V1 بعد النشر تسمح لمالك بالتخلي عن الملكية في ظروف معينة واستعادة السيطرة مرة أخرى، وتم تجاهل هذا التفاصيل بسبب تعقيد الكود من قبل معظم عمليات التدقيق البشرية. يمكن للتحقق الرسمي التقاط المشاكل التي قد تغفل عنها عمليات التدقيق البشرية من خلال تحليل توازي قيم المتغيرات المحددة.
كيف يتعاون التحقق الرسمي مع التدقيق اليدوي؟
التحقق الرسمي هو طريقة آلية ونظامية للتحقق مما إذا كانت منطق العقد الذكي وسلوكه يتوافقان مع وظائفه المتوقعة. يمكن لهذه الطريقة تبسيط عملية اكتشاف الأخطاء وإصلاحها، وخاصة في المسائل المعقدة التي قد يتجاهلها المراجعون البشريون.
بينما يقوم التدقيق البشري بفحص شامل لشيفرة العقد الذكية وتصميمها ونشرها من قبل خبراء. يستخدم المدققون خبرتهم في اكتشاف الثغرات الأمنية المحتملة وتقييم الحالة الأمنية الشاملة للعقد. كما يمكنهم التحقق من دقة عملية التحقق الرسمي واكتشاف الثغرات التي قد تغفل عنها الأدوات التلقائية. بالجمع بين التحقق الرسمي والتدقيق البشري، يمكن توفير تقييم أمان شامل وزيادة احتمال اكتشاف الثغرات وإصلاحها، بالإضافة إلى الاستفادة من الخبرات السابقة والتحليل التلقائي لبناء خطوط دفاع قوية.
العقود الذكية، على الرغم من عدم كمالها، إلا أن فوائدها تفوق بشكل ملحوظ على عيوبها. تبسيطها للمعاملات المعقدة يوفر الوقت والتكلفة ويزيد من شفافية سير العمل ويقلل من الخلافات. وبالإضافة إلى ذلك، يعتمد العقد الذكي على تشغيل الكود، ويقلل من الأخطاء البشرية، وتضمنه التشفير يوفر أيضًا أمانًا عاليًا. ومع ذلك، يفتقر العقد الذكي إلى المرونة ويصعب التعامل مع الحالات الغير متوقعة. وعلاوة على ذلك، يتطلب إعداد العقد الذكي مهارات برمجية متخصصة، والتي تشكل عائقًا لبعض الأشخاص. على الرغم من وجود التحديات، فإن العقود الذكية تدفع بتغيير عدة صناعات.
مزايا العقد الذكي
تشغيل آلي، زيادة الكفاءة، توفير الوقت والمال.
زيادة الشفافية وتقليل النزاعات، حيث يمكن لجميع الأطراف الوصول إلى نفس المعلومات.
تقليل الأخطاء لأنها تعتمد على الأكواد وتقضي على الأخطاء البشرية.
تعزيز الأمان من خلال تقنية التشفير، ومن الصعب التلاعب بها.
العقد الذكي的缺点
يفتقر إلى المرونة وصعوبة التعامل مع الحالات الطارئة.
تحتاج إلى مهارات برمجية محترفة واعتماد واسع على عتبة التقنية.
العمل: يسمح Act للمستخدمين بتعريف تحديثات التخزين والشروط الأولية والشروط اللاحقة ولازمة للعقود. توفر مجموعة أدواتها واجهة تحقق الصحة بعد التحقق من الخواص المختلفة باستخدام Coq أو SMT Solver أو hevm.
Scribble: يمكن لـ Scribble تحويل تعليقات الشفرة التي تم كتابتها بلغة معينة إلى تأكيدات للمواصفات.
[وثائق المستخدم] (https://docs.scribble.codes/)
Dafny: Dafny هي لغة برمجة مصممة خصيصًا للتحقق ، مع المساعدة من التعليقات المتقدمة للمساعدة في الاستدلال والتحقق من صحة الشفرة.
(https://github.com/dafny-lang/dafny)[GitHub]
أداة للتحقق من صحة العقد
Certora Prover: Certora Prover هو أداة التحقق الرسمي الآلي المخصصة لفحص صحة أكواد العقود الذكية. يستخدم لغة التحقق Certora (CVL) لإنشاء مواصفات العقد ويستخدم تحليل الثوابت وتقنيات حل المشكلات الثابتة لاكتشاف انتهاكات الخصائص المحتملة.
Solidity SMTChecker: هذا هو فحص النماذج المضمن في Solidity ، والذي يستخدم تقنية SMT (نظرية الرضا المقرونة) وحلول Horn لضمان أن شفرة المصدر للعقد متوافقة مع المواصفات المحددة أثناء الترجمة ، والكشف عما إذا كانت الخصائص الأمنية تنتهك.
(https://github.com/ethereum/solidity)[GitHub]
Solc-verify: إن solc-verify هو الإصدار المحسن من مترجم Solidity، والذي يمكنه التحقق التلقائي لشفرة Solidity من خلال التعليقات والتحقق الرسمي للبرامج المتعددة الأجزاء.
(https://github.com/SRI-CSL/solidity)[GitHub]
KEVM: KEVM هو تمثيل موحد لآلة إثيريوم الافتراضية (EVM) التي تم إنشاؤها من خلال إطار K. يمكنه تنفيذ واستخدام منطق الوصول للتحقق من الخصائص المحددة.
إيزابيل: إيزابيل / HOL هو مساعد البرهان الذي يساعد المستخدمين على التعبير عن الصيغ الرياضية بلغة صياغة وتوفير أدوات لإثبات هذه الصيغ. يستخدم بشكل رئيسي في إثباتات الرياضيات الشكلية، خاصة في التحقق من صحة أجهزة الكمبيوتر والبرمجيات ولغات البرمجة.
لضمان أمان العقود الذكية، فإن الجمع بين التحقق الرسمي والتدقيق البشري أمر بالغ الأهمية. يمكن لهذا الجمع أن يقيم الأمان الخاص بالعقود بشكل شامل. على الرغم من أن التحقق الرسمي يستهلك الموارد، إلا أنه يعد إجراءً مستحقًا للإستثمار للعقود عالية المخاطر أو التي تنطوي على كميات كبيرة من الأموال. العقود الذكية ليست مجرد مفهوم شائع، بل لقد لعبت دورًا هامًا في الأعمال التجارية العالمية. رغم وجود بعض التحديات، فإن العقود الذكية تتمتع بمزايا فريدة في زيادة الكفاءة وتقليل الأخطاء ورفع مستوى الأمان. فهي ستبسط عمليات الأعمال وتعزز الثقة في المعاملات الرقمية. وسيحتل الشركات التي تعتمد حاليًا هذه التقنية موقعًا متقدمًا في بيئة العملات المشفرة المستقبلية التي تؤكد على الشفافية والموثوقية.
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
一文读懂العقد الذكي的التحقق الرسمي
الإحالة
مع ارتفاع قيمة الأصول في السلسلة الكتلية بسرعة، يتم إطلاق سلسلة من تطبيقات الاقتصاد التشفيري المختلفة من قبل المشاريع المختلفة. في هذا السياق، يصبح الوقاية من الثغرات والتهديدات المحتملة أكثر أهمية من أي وقت مضى.
بيتكوين كانت في الأصل مصممة لتحل محل البنوك، ولكن تقنية البلوكتشين أظهرت قدرتها على استبدال جميع الوسطاء. خلال هذه العملية، قدمت إمكانيات جديدة تمامًا للمال الرقمي، مثل العملات البرمجية التي لا يمكن تحقيقها بالأوراق النقدية. هذا المال الرقمي يدفع النمو اللامركزي من خلال السماح بتنفيذ العقود تلقائيًا وبطريقة شفافة وغير تدخلية، وبالتالي يمكن استبدال المحامين والعقود في المعاملات المالية. ومع ذلك، كيف يعمل العقد الذكي بالضبط؟ هل يمكننا حقًا الثقة في هذا النظام الذي لا يعتمد على الثقة؟
سيستكشف هذا المقال التحقق الرسمي للعقود الذكية ويحلل مزاياه وعيوبه وتأثيره على البيئة التشفيرية، خاصةً تطبيقات إيثيريوم.
العقد الذكي发展简史
نيك سابو (Nick Szabo)، عالم الحاسوب وعالم الكريبتوغرافيا الأمريكي، وغالبا ما يُعتقد أنه شخصية الشخص الغامض ساتوشي ناكاموتو. كمؤسس لبروتوكول العقود الذكية، قدم سابو لأول مرة مفهوم 'العقود الذكية' في عام 1994. حدد سابو العقود الذكية كصفقات رقمية تُستخدم لتنفيذ بروتوكولات الشروط تلقائيا. كانت نيته الأولية تحسين وسائل المعاملات الإلكترونية مثل أنظمة نقاط البيع، وتوسيع قدرتها إلى المجال الرقمي.
تخيل ساب البروتوكول في المستقبل سيكون مثل ماكينة البيع التلقائية ، متطور وموثوق وغير قابل للتلاعب. على الرغم من أن الظروف التقنية في ذلك الوقت لم تكن قادرة تمامًا على تحقيق رؤيته ، إلا أن فكرته أرسست أساسًا لثورة صناعة البلوكتشين في وقت لاحق. في عام 2015 ، أتاح إطلاق العقد الذكي الحقيقي لإيثريوم (https://www.coindesk.com/markets/2015/07/30/ethereum-launches-long-awaited-decentralized-app-network/) التطبيق الفعلي ، وأصبحت نظرية ساب أيضًا تقنية رئيسية في تطبيقات اللامركزية.
رؤيته هي تمكين العقود من إدارة العلاقة بين الطرفين بشكل دقيق وآلي، وتقليل الحاجة إلى التدخل البشري والمراقبة. هذا النهج يوفر وسيلة أكثر أمانًا وكفاءة لإدارة البروتوكول، مما يمهد الطريق لتطور العقد الذكي وجعله أداة مهمة في نظام البلوكشين الإيكولوجي. لا تزال الرؤى المبكرة لسابو تؤثر حتى الآن على تطور التداول الرقمي والعقد الذكي.
ما هوالتحقق الرسمي؟
التحقق الرسمي هو عملية صارمة للتحقق مما إذا كان النظام (مثل العقد الذكي) يتوافق مع القواعد أو المواصفات المحددة. وببساطة، فإنه يتحقق مما إذا كان النظام يعمل بما يتوقع، ويضمن تلبية الشروط اللازمة، وتنفيذ وظائفه المحددة دون أخطاء.
لتحقيق ذلك ، تصف تقنية التحقق أولا السلوك المتوقع للنظام من خلال نموذج رسمي ، ثم تستخدم لغة مواصفات لتحديد الشروط المحددة التي يجب أن يفي بها العقد. مع تعمق المقالة ، سنرى المزيد من الأمثلة الواقعية. التحقق الرسمي تقارن التكنولوجيا رياضيا التنفيذ الفعلي للعقد بمواصفاته لضمان دقته. بمجرد أن يفي العقد بهذه المواصفات ، يعتبر "صحيحا من الناحية الوظيفية" أو "مصمما بشكل صحيح" ، مما يؤكد موثوقيته وأمنه في سياق سلسلة كتلة الحكم.
أنواع المواصفات المكتوبة للعقد الذكي
المواصفات الرسمية تحقق تشغيل البرنامج بشكل صحيح من خلال الاستدلال الرياضي. يمكن وصف هذه المواصفات من خلال السلوك الشامل (على مستوى عال) أو تفاصيل تشغيل العقد الداخلية (على مستوى منخفض). من خلال تحديد سلوك العقد رياضيًا، تضمن المواصفات الرسمية عمل العقد كما هو متوقع.
مواصفات الطبقة العليا
المواصفات العليا ، المعروفة أيضًا باسم المواصفات الموجهة نحو النموذج ، تصف الحالة العامة للعقد الذكي ، وتعتبرها آلة حالة محدودة (FSM) ، وتقوم بتحويلها بين الحالات المختلفة باستخدام عمليات محددة. يستخدم التسلسل الزمني المنطقي في كثير من الأحيان لتحديد قواعد هذه التحولات ، ويوضح بالتفصيل كيفية تغير حالة العقد مع مرور الوقت والشروط التي يجب تلبيتها.
تشدد اللوائح العليا بشكل أساسي على جانبين: الأمان والنشاط. يمكن أن يساهم الأمان في تجنب وقوع حوادث غير متوقعة، مثل عدم كفاية رصيد الحساب لدى المرسل لإجراء المعاملات. بينما يضمن النشاط استمرارية تشغيل العقد بشكل طبيعي، مثل الحفاظ على كمية كافية من السيولة، وضمان قدرة المستخدمين على سحب الأموال في أي وقت. تضمن هاتان الجانبان معًا سلامة وموثوقية العقد الذكي، وحماية أصول المستخدمين وتجربتهم التفاعلية.
المواصفات المنخفضة
يشار أيضًا إلى المواصفات المنخفضة باسم المواصفات الموجهة نحو الخصائص ، وهي تركز على تحديد ما إذا كان سلوكه صحيحًا من خلال تحليل عملية التنفيذ الداخلية للعقد. على عكس المواصفات العليا التي تعتبر العقد كآلة حالة محدودة ، تعتبر المواصفات المنخفضة نظامًا للدوال الرياضية وتحليل ترتيب تنفيذ الدوال (المعروف بالمسار) وهذه المسارات قد تؤدي إلى تغيير حالة العقد.
تقنية التحقق الرسمي للعقد الذكي
فحص النموذج
فحص النموذج هو طريقة للتحقق باستخدام الخوارزمية ما إذا كان النموذج الذكي العقدي يتوافق مع المعايير المحددة. يتم تمثيل العقد الذكي عادةً على أنه نظام تحويل حالة ، وتعرف خصائصه بواسطة منطق التوقيت [الاقتراحي] (https://www.baeldung.com/cs/propositional-logic). تعتمد هذه الطريقة على إنشاء نموذج رياضي واستخدام المعادلات المنطقية لوصف سلوكه ، ثم تسمح الخوارزمية بالتحقق مما إذا كان هذا النموذج يتوافق مع المتطلبات.
إثبات النظرية
بالمقارنة مع التحقق من النموذج، فإن إثبات النظرية هو نوع من الأساليب الرياضية المستخدمة في التحقق من صحة البرامج (بما في ذلك العقود الذكية). يقوم هذا الأسلوب بتحويل نموذج العقد والمواصفات إلى صيغ منطقية للتحقق من مكافأتها المنطقية، أي أنتجمين مقدمة حقيقية، ومقدمة أخرى أيضا. من خلال تصور هذه العلاقة كإثبات، يمكن لأدوات إثبات النظرية الآلية التحقق من صحة نموذج العقد ومواصفاته.
على عكس الفحص النموذجي المقتصر على الأنظمة ذات الحالة المحدودة، يمكن لإثبات النظرية تحليل الأنظمة ذات الحالة غير المحدودة، ولكن غالبًا ما يتطلب التوجيه اليدوي لحل المشاكل المنطقية المعقدة. لذلك، يكون إثبات النظرية غالبًا أكثر تكلفة ومجهدًا من الفحص النموذجي الكامل التلقائي.
تنفيذ الرموز
التنفيذ الرمزي هو طريقة تحليل قوية للعقود الذكية ، حيث يتم تنفيذ الوظائف باستخدام قيم رمزية بدلاً من الإدخالات المحددة. تحويل مسار التنفيذ للعقد إلى معادلات رياضية (تسمى بالمقدمات المسارية) باستخدام محلل SMT لتحديد ما إذا كانت هذه المقدمات صحيحة ، أي ما إذا كان هناك إدخالات تلبي الشروط.
على سبيل المثال، إذا حدث التراجع في وظيفة العقد عندما يكون القيمة بين 5 و 10، يمكن للتنفيذ الرمزي أن يجد بسرعة القيم التي تتسبب في حدوث هذا الشرط من خلال تقييم الشرط X > 5 و X < 10. هذا الأسلوب أكثر فعالية من الاختبار التقليدي، ولديه معدل أقل للإبلاغ عن الأخطاء، ويمكنه إنشاء قيم محددة يمكن أن تتسبب في حدوث الأخطاء مباشرة، وهو أداة قوية لضمان موثوقية العقود الذكية.
什么是العقد الذكي?
العقود الذكية هي برامج تشغيل آلي تعمل داخل كتلة السلسلة، وتقوم بتنفيذ العمليات المقترنة تلقائيًا عند تحقق الشروط المحددة. يمكن أن تكون بسيطة مثل بروتوكولات أو معقدة مثل البرامج، وتستطيع إدارة مئات الملايين أو حتى مليارات الدولارات كأصول.
العقود الذكية ليست فقط قادرة على تحول جذري في مجالات الاقتراع السياسي وإدارة الموردين والرعاية الصحية والعقارات، إنما يركز هذا المقال على تطبيقها في مجال الأصول الرقمية. يمكن لتصميم العقود الذكية أن يتيح للأطراف الطويلة التعاون بشكل شفاف وآمن دون الحاجة إلى القلق بشأن مخاطر التلاعب، مما يوفر إطارًا شفافًا وآمنًا ويعزز الكفاءة والابتكار. ومع ذلك، يجب علينا أيضًا أن ندرك وجود ثغرات أمنية وتحديات لا زالت تواجه العقود الذكية.
العقد الذكي的安全漏洞
العقد الذكي الأمنية الثغرات في رمز 漏洞 يمكن أن يؤدي إلى نتائج كارثية، مثل فقدان جميع الأصول في العقد. الأحداث الأخيرة هي مثال حي على ذلك.
هذه الأمثلة توضح أنه يجب التأكد من دقة كود العقد الذكي قبل نشره. العقد الذكي مفتوح المصدر، وبمجرد نشره، يمكن للهاكر بسهولة استغلال الثغرات المكتشفة. بالإضافة إلى ذلك، فإن عدم قابلية تعديل العقد الذكي يحدد أن الثغرات الأمنية عادة ما لا يمكن إصلاحها بمجرد نشر الكود. لذا، إذا لم يكن التطوير دقيقًا بما فيه الكفاية، فإنها ستبقى دائمًا في مواجهة المخاطر.
كيف يتم التحقق من العقد الذكي؟
يتضمن هذا العملية الخطوات التالية:
العقد الذكي الرئيسية
يمكن اعتبار العقد الذكي "بروتوكولا محفورا في الحجر"، حيث لا يمكن تعديله بمجرد إنشائه. تعمل هذه العقود على دفاتر الحسابات غير القابلة للتلاعب في سلسلة الكتل، وتنفذ البنود تلقائيًا بدون وسيط، مما يعزز تسريع المعاملات وإسقاط التكاليف. تعزز هذه الخصائص الثابتة ليس فقط الأمان، ولكنها أيضا إدارة غير مركزية، مما يقلل بشكل كبير من مخاطر الغش والفساد.
为什么العقد الذكي的验证如此重要?
من خلال الاستدلال الرياضي، التحقق الرسمي يضمن أن العقد الذكي لا يحتوي على ثغرات أو أخطاء أو سلوك غير متوقع. يعزز عملية تنفيذ العقد بصرامة ثقة الناس في العقد، حيث تم التحقق بالكامل من وظائفه وخصائصه.
نماذج النجاح الناجحة للتحقق من العقد الذكي تبرز دوره الهام في تجنب الخسائر المالية الكبيرة.
يونيسواب
على سبيل المثال ، أجرى AMM المشهور Uniswap التحقق الرسمي أثناء تطوير العقد الذكي الخاص به V1 واكتشف وأصلح الأخطاء التي قد تؤدي إلى خسارة الأموال مصدر.
بالانسر
وبالمثل، اكتشف AMM Balancer V2 آخر من خلال التحقق الرسمي خطأ في حساب التكاليف المتعلق بالقروض السريعة، مما يجنب المخاطر المحتملة للسرقة. يمكنك الاطلاع على المزيد من التفاصيل في هذه المقالة (https://www.certik.com/resources/blog/little-pains-great-gains-balancer-defi-contract-was-drained).
القمر الآمن
تم التعرف على علة [صغيرة] (https://lossless.io/safemoon-exploit-a-critical-bug-in-smart-contract-allows-token-manipulation/) في SafeMoon V1 بعد النشر تسمح لمالك بالتخلي عن الملكية في ظروف معينة واستعادة السيطرة مرة أخرى، وتم تجاهل هذا التفاصيل بسبب تعقيد الكود من قبل معظم عمليات التدقيق البشرية. يمكن للتحقق الرسمي التقاط المشاكل التي قد تغفل عنها عمليات التدقيق البشرية من خلال تحليل توازي قيم المتغيرات المحددة.
كيف يتعاون التحقق الرسمي مع التدقيق اليدوي؟
التحقق الرسمي هو طريقة آلية ونظامية للتحقق مما إذا كانت منطق العقد الذكي وسلوكه يتوافقان مع وظائفه المتوقعة. يمكن لهذه الطريقة تبسيط عملية اكتشاف الأخطاء وإصلاحها، وخاصة في المسائل المعقدة التي قد يتجاهلها المراجعون البشريون.
بينما يقوم التدقيق البشري بفحص شامل لشيفرة العقد الذكية وتصميمها ونشرها من قبل خبراء. يستخدم المدققون خبرتهم في اكتشاف الثغرات الأمنية المحتملة وتقييم الحالة الأمنية الشاملة للعقد. كما يمكنهم التحقق من دقة عملية التحقق الرسمي واكتشاف الثغرات التي قد تغفل عنها الأدوات التلقائية. بالجمع بين التحقق الرسمي والتدقيق البشري، يمكن توفير تقييم أمان شامل وزيادة احتمال اكتشاف الثغرات وإصلاحها، بالإضافة إلى الاستفادة من الخبرات السابقة والتحليل التلقائي لبناء خطوط دفاع قوية.
العقود الذكية的优缺点
العقود الذكية، على الرغم من عدم كمالها، إلا أن فوائدها تفوق بشكل ملحوظ على عيوبها. تبسيطها للمعاملات المعقدة يوفر الوقت والتكلفة ويزيد من شفافية سير العمل ويقلل من الخلافات. وبالإضافة إلى ذلك، يعتمد العقد الذكي على تشغيل الكود، ويقلل من الأخطاء البشرية، وتضمنه التشفير يوفر أيضًا أمانًا عاليًا. ومع ذلك، يفتقر العقد الذكي إلى المرونة ويصعب التعامل مع الحالات الغير متوقعة. وعلاوة على ذلك، يتطلب إعداد العقد الذكي مهارات برمجية متخصصة، والتي تشكل عائقًا لبعض الأشخاص. على الرغم من وجود التحديات، فإن العقود الذكية تدفع بتغيير عدة صناعات.
مزايا العقد الذكي
العقد الذكي的缺点
أداة التحقق الرسمي للعقد الذكي ETH坊
لغة تستخدم لكتابة المواصفات الرسمية
(https://github.com/ethereum/act)[GitHub]
استخدام الوثائق
[وثائق المستخدم] (https://docs.scribble.codes/)
(https://github.com/dafny-lang/dafny)[GitHub]
أداة للتحقق من صحة العقد
موقع الويب الرسمي
[وثائق المستخدم] (https://docs.certora.com/en/latest/index.html)
(https://github.com/ethereum/solidity)[GitHub]
(https://github.com/SRI-CSL/solidity)[GitHub]
(https://github.com/runtimeverification/evm-semantics)[GitHub]
[وثائق المستخدم] (https://jellopaper.org/)
إطار أدوات لإثبات النظريات
(https://github.com/isabelle-prover)[GitHub]
[وثائق المستخدم] (https://isabelle.in.tum.de/documentation.html)
(https://github.com/coq/coq)[GitHub]
[وثائق المستخدم] (https://coq.github.io/doc/v8.13/refman/index.html)
أداة كشف الثغرات القائمة على التنفيذ الرمزي
[وثائق المستخدم] (https://github.com/trailofbits/manticore/wiki)
(https://github.com/dapphub/dapptools/tree/master/src/hevm)[GitHub]
(https://github.com/ConsenSys/mythril-classic)[GitHub]
[وثائق المستخدم] (https://mythril-classic.readthedocs.io/en/develop/)
الخلاصة
لضمان أمان العقود الذكية، فإن الجمع بين التحقق الرسمي والتدقيق البشري أمر بالغ الأهمية. يمكن لهذا الجمع أن يقيم الأمان الخاص بالعقود بشكل شامل. على الرغم من أن التحقق الرسمي يستهلك الموارد، إلا أنه يعد إجراءً مستحقًا للإستثمار للعقود عالية المخاطر أو التي تنطوي على كميات كبيرة من الأموال. العقود الذكية ليست مجرد مفهوم شائع، بل لقد لعبت دورًا هامًا في الأعمال التجارية العالمية. رغم وجود بعض التحديات، فإن العقود الذكية تتمتع بمزايا فريدة في زيادة الكفاءة وتقليل الأخطاء ورفع مستوى الأمان. فهي ستبسط عمليات الأعمال وتعزز الثقة في المعاملات الرقمية. وسيحتل الشركات التي تعتمد حاليًا هذه التقنية موقعًا متقدمًا في بيئة العملات المشفرة المستقبلية التي تؤكد على الشفافية والموثوقية.