تخطي إلى المحتوى الرئيسي

شرح ورقة عمل Ethereum: منصة العقود الذكية

في أواخر عام 2013، نشر مبرمج يبلغ من العمر 19 سنة يدعى Vitalik Buterin وثيقة ستغير تماماً مشهد البلوكتشين. بعنوان "Ethereum: منصة العقود الذكية وتطبيقات اللامركزية من الجيل التالي"، اقترحت هذه الورقة بلوكتشين يمكنه فعل أكثر بكثير من مجرد تحويل الأموال. تصورت بلوكتشين عام الأغراض وقابل للبرمجة — كمبيوتر عالمي لامركزي قادر على تشغيل أي تطبيق يمكن تخيله.

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

السياق التاريخي

قيود Bitcoin

بحلول عام 2013، أثبت Bitcoin أن نظام نقل قيمة لامركزي وخالي من الثقة كان ممكناً. ومع ذلك، كانت لغة البرمجة النصية في Bitcoin محدودة بقصد. بينما يمكنها التعامل مع الشروط البسيطة (التوقيعات المتعددة، الأقفال الزمنية)، لم تتمكن من دعم التطبيقات المعقدة. كما كتب Buterin:

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

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

الحاجة إلى منصة عامة الأغراض

حدد Buterin الفرصة لمنصة واحدة يمكنها دعم أي تطبيق لامركزي. بدلاً من بناء بلوكتشين لكل حالة استخدام (بلوكتشين لتخزين الملفات، وآخر للهوية، وآخر لأسواق التنبؤ)، لماذا لا نبني بلوكتشين قابل للبرمجة واحد يمكنه فعل كل شيء؟

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

محاولات سابقة

حاولت عدة مشاريع توسيع قدرات البلوكتشين قبل Ethereum:

  • العملات الملونة: بيانات وصفية مرفقة بمعاملات Bitcoin لتمثيل أصول أخرى
  • الميتاكوينات: بروتوكولات تعمل على Bitcoin (Counterparty، Mastercoin/Omni)
  • Namecoin: نسخة من Bitcoin لتسجيل نطاقات لامركزي
  • Ripple: شبكة دفع رقمية (إجماع مركزي)

لكل منها قيود سعت تصميمات Ethereum للتغلب عليها.

المفاهيم الأساسية من الورقة

الحسابات وليس UTXOs

اتخذ Buterin خياراً تصميمياً أساسياً ميز Ethereum عن Bitcoin: نموذج قائم على الحسابات بدلاً من نموذج UTXO في Bitcoin.

في Ethereum، تتكون الحالة من حسابات، لكل منها:

  • Nonce: عداد يضمن معالجة كل معاملة مرة واحدة
  • رصيد Ether: مقدار ETH المحتفظ به
  • رمز العقد: بايتكود العقد الذكي (إن وجد)
  • التخزين: بيانات دائمة (متجر مفتاح-قيمة لحسابات العقود)

هناك نوعان من الحسابات:

  1. حسابات مملوكة خارجياً (EOAs): يتم التحكم فيها بواسطة مفاتيح خاصة، بدون رمز
  2. حسابات العقود: يتم التحكم فيها بواسطة رمزها، يتم تنشيطها عند استقبال رسالة

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

الرسائل والمعاملات

تميز الورقة بين المعاملات (الموقعة من قبل EOA) والرسائل (الاتصالات الداخلية بين العقود):

  • المعاملة يتم بدؤها من قبل مستخدم خارجي وتشمل المستقبل، قيمة ETH، البيانات، حد الغاز، وسعر الغاز
  • الرسالة هي كائن افتراضي ينتجه عقد يستدعي عقداً آخر — لا يتم تسلسلها أبداً وتوجد فقط أثناء التنفيذ

يتيح هذا التمييز عمليات معقدة متعددة الخطوات. معاملة مستخدم واحدة يمكنها أن تؤدي إلى سلسلة من الرسائل الداخلية بين العقود، مما يتيح بروتوكولات DeFi متطورة وتطبيقات قابلة للتكوين.

آلة Ethereum الافتراضية (EVM)

EVM هي قلب Ethereum — بيئة التشغيل التي تنفذ رمز العقود الذكية. صمم Buterin EVM بعدة خصائص رئيسية:

معمارية قائمة على المكدس: تستخدم EVM مكدساً من الأعداد الصحيحة بـ 256 بت. العمليات تدفع القيم على أو تنبثق من المكدس. هذا التصميم بسيط في التنفيذ والفهم.

التنفيذ الحتمي: نظراً للحالة ذاتها والمعاملة ذاتها، ستنتج EVM دائماً النتيجة ذاتها، بغض النظر عن العقدة التي تنفذها. هذا أمر ضروري للإجماع — يجب على جميع العقد الاتفاق على النتيجة.

قياس الغاز: كل عملية EVM تكلف مقدار غاز محدد. يتم دفع إجمالي الغاز المستهلك بواسطة المعاملة بـ ETH من قبل المرسل. هذه الآلية:

  • تمنع الحلقات اللانهائية (برنامج ينفد من الغاز يتم إيقافه)
  • تمنع هجمات الحرمان من الخدمة (يجب على المهاجمين الدفع مقابل الموارد التي يستهلكونها)
  • تخلق سوقاً للحسابات (يدفع المستخدمون أسعار غاز للحصول على أولويات معاملاتهم)

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

مجموعة Opcode

تصف الورقة مجموعة العمليات في EVM، والتي تشمل:

  • الحسابات: ADD, MUL, SUB, DIV, MOD, EXP
  • المقارنة: LT, GT, EQ, ISZERO
  • عمليات بت: AND, OR, XOR, NOT, BYTE
  • SHA3: تجزئة Keccak-256 (تستخدم Ethereum Keccak-256، والتي يشار إليها غالباً باسم SHA-3)
  • المكدس/الذاكرة/التخزين: PUSH, POP, MLOAD, MSTORE, SLOAD, SSTORE
  • تدفق التحكم: JUMP, JUMPI, STOP, RETURN
  • البيئة: ADDRESS, BALANCE, CALLER, CALLVALUE, CALLDATALOAD
  • معلومات الكتلة: BLOCKHASH, COINBASE, TIMESTAMP, NUMBER, DIFFICULTY
  • التسجيل: LOG0-LOG4 (لانبعاث الأحداث)
  • الاستدعاءات الخارجية: CALL, DELEGATECALL, CREATE

تم تصميم مجموعة التعليمات هذه لتكون بسيطة لكن كافية للتعبير عن أي حساب. تترجم لغات عالية المستوى مثل Solidity إلى هذه العمليات.

دالة انتقال الحالة

صاغ Buterin Ethereum رسمياً كـ نظام انتقال الحالة. الحالة العامة هي تعيين جميع الحسابات وأرصدتها وnonces وأكودها والتخزين. كل معاملة تحول الحالة وفقاً لدالة انتقال محددة جيداً:

STATE' = APPLY(STATE, TX)

دالة الانتقال:

  1. تتحقق من أن المعاملة صحيحة (توقيع صحيح، nonce صحيح)
  2. تحسب رسم الغاز وتخصمه من رصيد المرسل
  3. تهيئ عداد الغاز وتخصم الغاز لكل بايت من بيانات المعاملة
  4. تحول قيمة ETH المحددة من المرسل إلى المستقبل
  5. إذا كان المستقبل عقداً، تنفذ رمز العقد حتى الانتهاء أو استنزاف الغاز
  6. إذا فشل التنفيذ (نفاد الغاز، خطأ)، تلغي جميع التغييرات في الحالة باستثناء دفع الغاز
  7. تسترد أي غاز متبقٍ للمرسل وترسل رسوم الغاز المستهلكة إلى المُعدِّن/المدقق

هذا نموذج انتقال الحالة أنيق في عموميته — يمكن التعبير عن أي حساب كسلسلة من انتقالات الحالة، وآلية الغاز تضمن سلامة الموارد.

التطبيقات المتصورة في الورقة

أوضح Buterin عدة فئات من التطبيقات التي ستتيحها Ethereum. بشكل ملحوظ، تم تحقيق جميعها تقريباً:

أنظمة الرموز

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

توقعت الورقة ما أصبح معيار ERC-20 — الأساس لآلاف الرموز، والعروض الأولية للعملات، وبروتوكولات DeFi، والعملات المستقرة. يوصف العقد الرمزي البسيط بأنه تعيين حالة للأرصدة مع وظيفة نقل — تماماً كما يعمل ERC-20.

المشتقات المالية

وصف Buterin العقود التي تشير إلى بيانات خارجية (مثل موجزات الأسعار) لتسوية الأدوات المالية. تجسدت هذه الرؤية في نظام بيئي مشتقات DeFi — يوفر Synthetix و dYdX و GMX والآخرون التداول اللامركزي للمشتقات والخيارات والعقود الآجلة على Ethereum.

أنظمة الهوية والسمعة

ناقشت الورقة استخدام Ethereum للهوية ذات السيادة الذاتية — مستندات هوية يتحكم فيها المستخدم دون سلطة مركزية. حققت مشاريع مثل ENS (خدمة أسماء Ethereum)، وSoulbound Tokens، ومعايير الهوية اللامركزية (DID) هذه الرؤية جزئياً.

تخزين الملفات اللامركزي

اقترح Buterin استخدام العقود الذكية في Ethereum لتنسيق تخزين الملفات اللامركزي. بينما Ethereum نفسها غير مناسبة لتخزين الملفات الكبيرة (مكلفة جداً)، يمكنها تنسيق شبكات التخزين. استُلهمت مشاريع مثل IPFS و Filecoin و Arweave من هذا المفهوم.

المنظمات المستقلة اللامركزية (DAOs)

"المفهوم العام للـ 'منظمة مستقلة لامركزية' هو كيان افتراضي له مجموعة معينة من الأعضاء أو المساهمين الذين، ربما بأغلبية 67%، لهم الحق في إنفاق أموال الكيان وتعديل رمزه."

أصبحت DAOs نموذج حوكمة رئيسي في النظام البيئي Ethereum. من MakerDAO إلى حوكمة Uniswap إلى بروتوكولات إدارة الخزانة، تم اعتماد رؤية Buterin للحوكمة التنظيمية على السلسلة على نطاق واسع.

محافظ التوفير والتوقيعات المتعددة

وصفت الورقة العقود الذكية للتوفير الآمن مع حدود السحب، والترخيص متعدد الأطراف، والاسترجاع الاجتماعي. أبلغت هذه المفاهيم مباشرة عن تطوير محافظ العقود الذكية، ومحافظ التوقيعات المتعددة (مثل Safe/Gnosis Safe)، وحركة الاستخلاص من الحساب.

القرارات التصميمية والمقايضات

لماذا اكتمال تورينج؟

اختار Buterin بعناية جعل لغة Ethereum كاملة تورينج (قادرة على حساب أي دالة قابلة للحساب)، بخلاف Script محدود Bitcoin بقصد. كان هذا مثيراً للجدل — يدخل اكتمال تورينج خطر الحلقات اللانهائية وأسطح الهجوم المعقدة.

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

لماذا نموذج الحسابات؟

اختار Buterin الحسابات على UTXOs لعدة أسباب:

  1. توفير المساحة: الحسابات تخزن الحالة مرة واحدة، بينما UTXOs تكرر البيانات عبر مخرجات غير منفقة متعددة
  2. البساطة: أرصدة الحسابات أسهل في الفهم لمنطق العقد الذكي
  3. قابلية المبادلة: جميع ETH في حساب متطابق، بينما UTXOs لها سجلات فردية

المقابل هو تقليل التوازي (يجب طلب المعاملات التي تؤثر على نفس الحساب) وإدارة الحالة الأكثر تعقيداً.

لماذا لا تبني على Bitcoin؟

شرح Buterin لماذا كان توسيع Bitcoin غير كافٍ:

  1. برمجة نصية محدودة: Bitcoin Script تفتقر إلى الحلقات، والحالة المعقدة، والأنواع البيانية الغنية
  2. العمى القيمي: لا يمكن لنصوص Bitcoin التحكم في المبالغ الدقيقة
  3. عمى البلوكتشين: لا يمكن للنصوص الوصول إلى بيانات وصفية البلوكتشين (الطوابع الزمنية، أرقام الكتل)
  4. لا حالة: بعيداً عن الثنائي البسيط المنفق/غير المنفق، معاملات Bitcoin ليس لها حالة دائمة

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

ما أصابته الورقة

طلب العقود الذكية

التنبؤ الأكثر أساسياً — أن هناك طلباً هائلاً على تطبيقات البلوكتشين القابلة للبرمجة — ثبت أنه صحيح بشكل مذهل. نتج عن DeFi و NFTs و DAOs والألعاب والتطبيقات الخاصة مئات المليارات من الدولارات في النشاط الاقتصادي على Ethereum.

القابلية للتركيب

تجسدت رؤية الورقة للعقود التي تتفاعل مع العقود الأخرى ("money legos") في واحدة من أهم ميزات Ethereum. قابلية التركيب في DeFi — حيث بروتوكولات الإقراض والتبادلات ومُحسِّنات العائد تتفاعل بسلاسة — هي تحقيق مباشر لهذه الرؤية.

تأثيرات الشبكة

توقع Buterin أن منصة عامة الأغراض ستجذب المطورين، مما سيجذب المستخدمين، مما سيجذب المزيد من المطورين. هذا تأثير عجلة قيادة جعل Ethereum منصة العقود الذكية السائدة، مع أكبر مجتمع مطورين، وأكثر التطبيقات، وأكبر السيولة.

ما تغير منذ الورقة

آلية الإجماع

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

نهج التوسع

لم تتوقع الورقة بالكامل تحديات التوسع التي ستواجهها Ethereum. افترضت الرؤية الأصلية أن الإنتاجية على مستوى الطبقة الأساسية ستكون كافية، لكن انفجار نشاط DeFi و NFT في 2020-2021 أثبت الحاجة إلى توسع الطبقة 2. تحول خريطة طريق Ethereum إلى نهج مركزي على rollups، حيث يتم تحسين الطبقة الأساسية لتوفر البيانات بينما تتولى الطبقة 2 التنفيذ.

MEV (الحد الأقصى للقيمة القابلة للاستخراج)

لم تتوقع الورقة MEV — القيمة التي يمكن لمنتجي الكتل استخراجها بإعادة ترتيب أو تضمين أو استثناء المعاملات. أصبح MEV منطقة بحث مهمة وأدى إلى تطوير آليات حماية MEV (Flashbots، PBS) التي أصبحت الآن جزءاً من أساس البنية التحتية لـ Ethereum.

آلية سعر الغاز

وصفت الورقة الأصلية مزاداً بسيطاً بسعر أول للغاز. استبدل EIP-1559 هذا بآلية أكثر تطوراً تتميز برسم أساسي محروق ونصيحة، مما يحسن قابلية التنبؤ برسوم التحويل وينشئ ضغطاً انكماشياً على عرض ETH.

قراءة الأصل

تتوفر ورقة عمل Ethereum على ethereum.org/en/whitepaper/. فهي أطول وأكثر تقنية من ورقة Bitcoin، لكنها تبقى في متناول القراء الذين لديهم معرفة أساسية بالبرمجة وعلم التشفير. نشر Vitalik أيضاً العديد من منشورات المدونة والمقالات، وورقة تقنية أكثر حداثة "yellowpaper" (بقلم Gavin Wood) التي تضع مواصفات EVM رسمياً.

أداة SafeSeed

فهم اشتقاق المفاتيح في Ethereum ضروري لإدارة ETH الخاص بك بأمان. استخدم أداة SafeSeed لاشتقاق المفاتيح لاستكشاف كيفية اشتقاق عبارة بذرة BIP-39 واحدة لعناوين Ethereum مختلفة من خلال مسار BIP-44 (m/44'/60'/0'/0/x). عبارة البذرة الواحدة الخاصة بك تأمن جميع حسابات Ethereum الخاصة بك.

الأسئلة الشائعة

من كتب ورقة عمل Ethereum؟

تمت كتابة ورقة عمل Ethereum بواسطة Vitalik Buterin في أواخر عام 2013، عندما كان يبلغ من العمر 19 سنة. بينما كان Vitalik هو المؤلف الأساسي، تطلبت تطوير Ethereum جهود عدد من المؤسسين المشاركين: Gavin Wood (الذي كتب "الورقة الصفراء" التقنية التي تضع رسمياً مواصفات EVM)، Charles Hoskinson (الذي أسس لاحقاً Cardano)، Joseph Lubin (الذي أسس ConsenSys)، وآخرين.

متى تم نشر ورقة عمل Ethereum؟

تم تداول الورقة لأول مرة في أواخر عام 2013 وأوائل عام 2014. أقيمت Ethereum crowdsale (ICO) في يوليو-أغسطس 2014، حيث جمعت ما يقرب من 18 مليون دولار. تم إطلاق شبكة Ethereum الرئيسية في 30 يوليو 2015.

ما المشكلة التي تحلها ورقة عمل Ethereum؟

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