Cryptology Academy · درس

إثبات العمل: التعدين وضبط الصعوبة

نفّذ مُعدّن PoW وافهم البحث عن nonce وصعوبة الهدف

الدرس 3 من 413 خطوة

إثبات العمل: التعدين وضبط الصعوبة درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

ما إثبات العمل؟

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

تحدي التعدين

إثبات العمل PoW في Bitcoin: اعثر على قيمة nonce بحيث تكون SHA256d(block_header) < target. والهدف هو عدد مكوّن من 256 بت. ويعني الهدف الأصغر ضرورة وجود عدد أكبر من الأصفار البادئة في ناتج التجزئة، ما يجعل قيم nonce الصالحة أندر وأصعب في العثور عليها.

عرض توضيحي لإثبات العمل باستخدام Python

import hashlib def mine(data, difficulty): target = "0"*difficulty nonce = 0 while True: h = hashlib.sha256(f"{data}{nonce}".encode()).hexdigest() if h.startswith(target): return nonce, h nonce += 1 nonce, h = mine("block data", 4) print(nonce, h) # hash starts with "0000"

هدف الصعوبة

تحتوي ترويسة كتلة Bitcoin على حقل "bits" الذي يرمّز الهدف الحالي. الهدف = coefficient * 256^(exponent-3). مثال: bits=0x1703a30c ← الهدف = 0x03a30c * 2^(8*(0x17-3))، وهو عدد مكوّن من 256 بتًا ويتطلب نحو 72 بتًا صفريًا في البداية.

تعديل الصعوبة

يعدّل Bitcoin الصعوبة كل 2016 كتلة (نحو أسبوعين). تعديل الهدف: new_target = old_target * (actual_time / 2016 * 10 minutes). إذا جاءت الكتل أسرع من متوسط 10 دقائق، ينخفض الهدف (فتزداد الصعوبة). وإذا جاءت أبطأ، يرتفع الهدف (فتنخفض الصعوبة). ويحافظ ذلك على زمن كتلة يبلغ نحو 10 دقائق.

معدل التجزئة والأمان

يقيس معدل تجزئة الشبكة (H/s) إجمالي قدرة التعدين. وكلما ارتفع معدل التجزئة، انخفض احتمال العثور على قيمة nonce صالحة عشوائيًا خلال وحدة زمنية معينة. ولإعادة كتابة k من الكتل، يحتاج المهاجم إلى أكثر من 50% من معدل تجزئة الشبكة، والمحافظة عليه لمدة تتناسب مع k*10 دقائق.

هجوم 51%

مع امتلاك أكثر من 50% من معدل التجزئة، يستطيع المهاجم: (1) تعدين تفرع سري، (2) تضمين المعاملات أو استبعادها، (3) تنفيذ إنفاق مزدوج من خلال نشر سلسلة أطول بعد تأكيد دفعة. لكنه لا يستطيع: سرقة عملات الآخرين، أو إنشاء عملات من العدم، أو عكس المعاملات العميقة في السلسلة.

تعدين ASIC والمركزية

تهيمن ASICs (الدوائر المتكاملة الخاصة بالتطبيقات) على تعدين SHA256d في Bitcoin — وهي شرائح محسّنة لوظيفة تجزئة واحدة. وتتميز ASICs بكفاءة أعلى من وحدات CPU بمقدار 10^6 مرة. ويؤدي ذلك إلى تركّز التعدين في مراكز بيانات كبيرة، ما يثير مخاوف بشأن المركزية.

إثبات العمل الصعب من ناحية الذاكرة

استخدم Ethereum خوارزمية Ethash (المهملة الآن)، وهي خوارزمية إثبات عمل صعبة من ناحية الذاكرة وتتطلب مجموعة بيانات DAG كبيرة. وتقاوم الصعوبة من ناحية الذاكرة ASICs، إذ يصعب تحسين عرض نطاق الذاكرة بتكلفة منخفضة. ويستخدم Monero خوارزمية RandomX (مُحسّنة لوحدات CPU ومقاومة لـ ASICs)، بينما يستخدم Zcash خوارزمية Equihash (الصعبة من ناحية الذاكرة).

التعدين الأناني

استراتيجية التعدين الأناني: احتفظ بكتلة عُثر عليها، ثم عدّن كتلة ثانية، وبعد ذلك أطلق الكتلتين في الوقت نفسه. وإذا حدث ذلك في التوقيت المناسب، يهدر المعدّنون الصادقون عملهم على الكتلة المهجورة. ويتطلب الأمر نحو 33% من معدل التجزئة لتحقيق الربحية في المتوسط، وليس 51%.

بديل إثبات الحصة

يستبدل إثبات الحصة (PoS، المستخدم في Ethereum بعد عملية الدمج) عمل التجزئة بعملة مشفّرة مودَعة كحصة. ويُختار المدقّقون لاقتراح الكتل بما يتناسب مع حصصهم. ويستخدم PoS طاقة أقل بنسبة 99.95% من PoW. والمقابل هو افتراضات ثقة واقتصاديات هجوم مختلفة.

تحقق سريع

ما الذي يحاول تعديل الصعوبة في Bitcoin الحفاظ عليه؟

مراجعة

يتطلب إثبات العمل PoW العثور على قيمة nonce بحيث تكون SHA256d(header) < target. وتُعدّل الصعوبة كل 2016 كتلة. ويتيح امتلاك 51% من معدل التجزئة تنفيذ هجمات الإنفاق المزدوج. وتهيمن ASICs على تعدين Bitcoin، بينما تقاوم الدوال الصعبة من ناحية الذاكرة ASICs. التالي: Bitcoin Script وتوقيعات UTXO.

البدء مجانًا

تعلم Cryptology Academy مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
67
الدروس
261

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

هل درس «إثبات العمل: التعدين وضبط الصعوبة» مجاني؟

نعم — نص درس «إثبات العمل: التعدين وضبط الصعوبة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

ماذا ستتعلم في «إثبات العمل: التعدين وضبط الصعوبة»؟

نفّذ مُعدّن PoW وافهم البحث عن nonce وصعوبة الهدف تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟

لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «إثبات العمل: التعدين وضبط الصعوبة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟

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

جميع الدروس في هذه الدورة

  1. سلاسل التجزئة وربط الكتل
  2. أشجار Merkle: سلامة المعاملات على نطاق واسع
  3. إثبات العمل: التعدين وضبط الصعوبة
  4. Bitcoin Script والتحقق من توقيعات UTXO
← العودة إلى Cryptology Academy