مقدمة

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

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

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

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

على الرغم من أن بروتوكول Bitcoin يدعم العقود الذكية منذ سنوات عديدة، إلا أنها أصبحت شائعة بفضل منشئ ومؤسس Ethereum المشارك Vitalik Buterin. ومع ذلك، تجدر الإشارة إلى أن كل بلوك تشين قد تقدم طريقة مختلفة لتنفيذ العقود الذكية.

يركز هذا المقال على العقود الذكية التي تعمل على آلة Ethereum الافتراضية (EVM)، وهي جزء أساسي من بلوك تشين Ethereum.


فكيف تعمل إذًا؟

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

على شبكة Ethereum، يتم تحميل العقود الذكية لتنفيذ وإدارة عمليات بلوك تشين التي تحدث عندما يتفاعل المستخدمون (العناوين) مع بعضهم البعض. أي عنوان ليس عقدًا ذكيًا يُسمّى حسابًا خارجيًا يمتلكه مستخدم (EOA). وبالتالي، يتم التحكم في العقود الذكية بواسطة كود برمجي، بينما يتم التحكم في حسابات EOA بواسطة المستخدمين.

بشكل أساسي، تتكون عقود Ethereum الذكية من كود العقد ومفتاحين عموميين. المفتاح العام الأول هو الذي يقدمه منشئ العقد. أما المفتاح الآخر فيمثل العقد نفسه، ويعمل كمعرّف رقمي فريد لكل عقد ذكي.

يتم تنفيذ (نشر) العقد الذكي عبر معاملة على بلوك تشين. لا يمكن تفعيله إلا عندما يتم استدعاؤه من خلال EOA (أو من خلال عقود ذكية أخرى). ومع ذلك، فإن المُحرّك الأول دائمًا يكون ناتجًا عن EOA (مستخدم).


الخصائص الرئيسية

غالبًا ما يتمتع العقد الذكي لـ Ethereum بالخصائص التالية:

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

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

مستقل/ذاتي التنفيذ. يمكن للعقود الذكية أتمتة جميع أنواع المهام، وتعمل كبرنامج ذاتي التنفيذ. ومع ذلك، ففي معظم الحالات، إذا لم يتم تشغيل عقد ذكي، فسيظل «في وضع السكون» ولن يقوم بأي إجراء.

غير قابل للتعديل (immutable). لا يمكن تعديل العقود الذكية بعد نشرها. ولا يمكن «حذفها» إلا إذا تم تنفيذ وظيفة معينة مسبقًا. وبذلك يمكننا القول إن العقود الذكية قد توفر كودًا غير قابل للمساس.

قابل للتخصيص. قبل نشرها، يمكن ترميز العقود الذكية بطرق مختلفة. لذا يمكن استخدامها لإنشاء العديد من أنواع التطبيقات اللامركزية (DApps). ويعود ذلك إلى أن Ethereum هي بلوك تشين كاملة تورنغ (Turing-complete).

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

الشفافية. وبما أن العقود الذكية مبنية على بلوك تشين عامة، فإن كودها المصدر ليس فقط غير قابل للتغيير، بل يمكن رؤيته من قبل الجميع.


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

من المستحيل إضافة وظائف جديدة إلى عقد ذكي على Ethereum بعد نشره. ومع ذلك، إذا قام منشئه بإدراج دالة تُسمى SELFDESTRUCT ضمن الكود، فيمكنه «حذف» العقد الذكي في المستقبل واستبداله بعقد جديد. أما إذا لم تكن الدالة مضمّنة مسبقًا في الكود، فلن يكون بالإمكان حذف العقد.

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

في مثال مبسّط، لِنفترض أن العقد الذكي يُقسَّم إلى عدة عقود صغيرة. يتم تصميم بعضها ليكون غير قابل للتغيير، بينما يتم تفعيل «حذف» في البعض الآخر. وهذا يعني أنه يمكن حذف جزء من الكود (العقود الذكية) واستبداله، بينما تبقى الميزات الأخرى سليمة.


المزايا وحالات الاستخدام

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

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

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

بعبارة أخرى، يمكن تصميم العقود الذكية لمجموعة كبيرة ومتنوعة من حالات الاستخدام. ومن بين الأمثلة: إنشاء الأصول المُرمّزة (tokenized)، وأنظمة التصويت، ومحافظ العملات المشفرة، والبورصات اللامركزية، والألعاب، والتطبيقات المحمولة. ويمكن أيضًا نشرها مع حلول بلوك تشين أخرى تتناول مجالات الرعاية الصحية، والمؤسسات الخيرية، وسلسلة الإمداد/اللوجستيات، والحوكمة، والتمويل اللامركزي (DeFi).


ERC-20

الرموز (tokens) التي تُصدر على بلوك تشين Ethereum تتبع معيارًا معروفًا باسم ERC-20. يصف المعيار الوظائف الأساسية لجميع الرموز القائمة على Ethereum. لذلك غالبًا ما تُسمى هذه الأصول الرقمية tokens ERC-20 وتمثل جزءًا كبيرًا من العملات المشفرة الموجودة.

قامت العديد من الشركات الناشئة والشركات في مجال بلوك تشين بنشر عقود ذكية لإصدار رموزها الرقمية على شبكة Ethereum. بعد الإصدار، قامت أغلب هذه الشركات بتوزيع رموز ERC-20 الخاصة بها عبر عروض العملات الأولية (ICO). وفي معظم الحالات، مكّن استخدام العقود الذكية من تبادل الأموال وتوزيع الرموز بشكل موثوق وفعّال.


الحدود

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

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

قد يكون كونها غير قابلة للتغيير أمرًا رائعًا في بعض الحالات، وسيئًا جدًا في حالات أخرى. فعلى سبيل المثال، عندما تم اختراق منظمة مستقلة لامركزية تُسمى «DAO» في عام 2016، تم سرقة ملايين من الإيثرات (ETH) بسبب عيوب في كود عقودها الذكية.

وبما أن عقدها الذكي كان غير قابل للتغيير، لم يتمكن المطورون من إصلاح الكود. وقد أدى ذلك في النهاية إلى فورك (hard fork)، مما أدى إلى ظهور سلسلة Ethereum ثانية. باختصار، إحدى السلاسل «ألغت» الاختراق وأعادت الأموال إلى أصحابها الشرعيين (وهو جزء من بلوك تشين Ethereum الحالية). أما السلسلة الأخرى فقد قررت عدم التدخل مع الاختراق، قائلة إن ما يحدث على بلوك تشين لا ينبغي أن يتغير أبدًا (ومنذ ذلك الحين تُسمى هذه السلسلة Ethereum Classic).

من المهم ملاحظة أن المشكلة لا تنبع من بلوك تشين Ethereum نفسها. بل إن سببها كان تنفيذًا سيئًا للعقد الذكي.

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

على سبيل المثال، تتطلب العديد من العقود أن يكون كلا الطرفين مُعرَّفَين بشكل صحيح وأن يكون عمرهما أكثر من 18 عامًا. قد تهدد الخصوصية/الاسم المستعار (pseudonymity) التي توفرها تقنية بلوك تشين، إلى جانب غياب الوسطاء، هذه المتطلبات. ورغم وجود حلول محتملة لهذه المشكلة، فإن قابلية العقود الذكية للتطبيق قانونيًا تُعد تحديًا حقيقيًا، خاصة عند التعامل مع شبكات موزعة بلا حدود.


الانتقادات

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

تُعد العقود الذكية بالتأكيد تقنية مثيرة للاهتمام. لكن حقيقة أنها موزعة، وحتمية (deterministic)، وشفافة، وغير قابلة للتغيير إلى حد ما، قد تجعلها أقل جاذبية في بعض الحالات.

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

مقارنةً بالعقود الذكية، فإن الخوادم المركزية أسهل وأقل تكلفة في الصيانة، كما تميل إلى تحقيق كفاءة أعلى من حيث السرعة وتواصل ما بين الشبكات (التوافقية/interopérabilité).


لِلخِتام

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

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