العقد الذكي: كيف يعمل الكود ذاتي التنفيذ على البلوكتشين

العقد الذكي: كيف يعمل الكود ذاتي التنفيذ على البلوكتشين

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

أين يقيم العقد الذكي؟

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

نشر العقد الذكي يعني وضع كوده على البلوكتشين عبر معاملة تحمل هذا الكود. وبعد النشر، يصبح للعقد عنوان يمكن إرسال المعاملات إليه.

كيف تعمل العقود الذكية؟

يعمل العقد الذكي عندما تستدعي معاملة أو عقد آخر إحدى دوالِّه. واستدعاء الدالة يعني طلب تشغيلها من العقد. والدالة هي جزء مُسمّى من كود العقد. وتحدد المعاملة المرسَلة إلى عنوان العقد اسم الدالة وتزوّدها بمدخلاتها، وهي البيانات التي تحتاجها الدالة.

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

الحساب هو قيد على البلوكتشين له عنوان ورصيد. والرصيد هو كمية العملة الأصلية للبلوكتشين التي يملكها الحساب. والعملة الأصلية هي الوحدة الأصلية لبلوكتشين معيّن، مثل BTC على بيتكوين.

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

يأتي استدعاء العقد الذكي من حساب مستخدم أو من عقد آخر. في هذا المقال، تصف عبارة "ذاتي التنفيذ" عقدًا ينفّذ كوده تعليماته بمجرد استدعائه. وهي لا تعني أن العقد يبدأ التشغيل من تلقاء نفسه، لأن حساب العقد لا يمكنه إرسال رسائل إلا استجابةً لاستلام معاملة.

يوضح مثال افتراضي عملية استدعاء واحدة. وتختلف العقود الحقيقية فيما تحتفظ به وفي طريقة كتابة دوالّها. في هذا المثال، يحتفظ العقد بعدد من الوحدات لكل عنوان من عنوانين. والوحدة هي عدد يحتفظ به العقد. العنوان A يملك 100 وحدة، والعنوان B يملك 20 وحدة.

  1. يرسل حساب مستخدم معاملة تستدعي دالة transfer في العقد، طالبة نقل 30 وحدة من العنوان A إلى العنوان B.
  2. تقوم العُقَد بتشغيل كود العقد.
  3. يتحقق الكود من أن العنوان A يملك 30 وحدة على الأقل.
  4. يخفّض الكود رصيد العنوان A إلى 70 وحدة ويرفع رصيد العنوان B إلى 50 وحدة.
  5. يُسجَّل التغيير على البلوكتشين. ويظل مجموع ما يملكه العنوانان 120 وحدة، قبل الاستدعاء وبعده.

بماذا يحتفظ العقد الذكي وماذا يمكنه أن يفعل؟

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

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

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

ما الذي يحدد سلوك العقد الذكي، وهل يمكن أن يتغيّر؟

الكود المخزَّن عند عنوان العقد الذكي هو ما يحدد ما يفعله العقد. فالعقد الذكي ينفّذ ما يقوله كوده بالضبط، وقد يختلف ذلك عمّا قصده مؤلفه. والكود الموجود عند عنوان العقد الذكي لا يتغيّر بعد نشر العقد، لكن يمكن تصميم العقد بحيث يُستبدَل السلوك الذي يعمل به.

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

ما هو نظير العقد الذكي في بيتكوين؟

بيتكوين، وهي شبكة عملات مشفرة عملتها BTC، لها نظير يتمثل في السكريبتات (scripts). والسكريبت هو قاعدة، مكتوبة بلغة السكريبت الخاصة ببيتكوين، يجب تحقيقها قبل أن يتمكن مبلغ من BTC من الانتقال. وحتى أكتوبر 2026، تصف وثائق بيتكوين لغة السكريبت الخاصة بها بأنها محدودة عن قصد. أما BTCFi، وهو اختصار لعبارة التمويل الأصيل في بيتكوين، فهو مصطلح تستخدمه جهات متعددة لوصف النشاط المالي المبني حول BTC، بما في ذلك العقود الذكية وتصاميم أخرى.

ما هي مراجعة كود العقد الذكي؟

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

ما هي حدود العقد الذكي؟

بدون أوراكل (oracle)، لا يعمل العقد الذكي إلا بالبيانات الموجودة على البلوكتشين الذي يعمل عليه. والأوراكل هو خدمة ترسل بيانات خارجية إلى العقد. والبيانات الخارجية هي بيانات غير مخزَّنة على بلوكتشين العقد، مثل تاريخ خارجي أو نتيجة خارجية.

وقد يبقى خطأ في كود عقد ذكي منشور قائمًا ما لم يكن العقد مصمَّمًا بحيث يمكن استبدال سلوكه.

27 نوفمبر 2025

أخبار GoMining

قد تكون مهتمًا بـ