This article has been translated from English to Arabic.

كيف يعمل تعدين البيتكوين؟

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

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

إذا كنت لا تزال معي، دعنا نلقي نظرة فاحصة على الكتلة المرشحة...

تماماً كما يمكن تقسيم الكتلة المرشحة إلى جزأين أساسيين برأس وجسم، يمكن تقسيم الكتلة المرشحة إلى جزأين

  1. رأس المكوِّن ( المنطقة الصفراء)
  2. جسم المكوِّن ( المنطقة الرمادية)
    Block Header and Body

إذا نظرنا عن كثب إلى الكتلة المرشحة عن قرب، فهي في الواقع لا تحتوي فقط على معاملات.

Candidate Block Anatomy

عندما يقوم المُعدِّن بإنشاء كتلة مرشحة، فإنها تتضمن"رأس الكتلة" (المنطقةالصفراء).

أما "جسم الكتلة" (المنطقة الرمادية) فيحتوي على المعاملات.

بصرف النظر عن الكتلة المرشحة التي تحتوي على مجموعة من المعاملات، فإنها تحتوي أيضًا على بعض البيانات الوصفية التي توفر "ملخصًا" للكتلة.

البيانات الوصفية هي مجرد بيانات توفر معلومات حول بيانات أخرى. في هذه الحالة، توفر البيانات الوصفية معلومات حول الكتلة نفسها. تُعرف هذه المعلومات باسم "رأس الكتلة".

داخل رأس الكتلة، هناك عدة أجزاء من البيانات.

لغرض هذا الدرس، سأقوم بتبسيط ما يوجد داخل رأس الكتلة.

الطابع الزمني

أول جزء من البيانات داخل رأس المكوِّن هو"الطابع الزمني".

يشير الطابع الزمني إلى وقت إنشاء الكتلة.

Timestamp

تجزئة المكوِّن السابق

الجزء التالي من البيانات يسمى "الكتلة السابقة" أو بشكل أكثر تحديدًا"تجزئة الكتلةالسابقة".

تجزئة الكتلة السابقة هي تجزئة الكتلة للكتلة السابقة في سلسلة الكتل.

Previous Block Hash

لفهم ما يعنيه هذا، نحتاج إلى إلقاء نظرة على الملف.

Look inside blockchain

الآن بعد أن نظرنا داخل الملف، يمكننا أن نرى أن البيانات منظمة بطريقة معينة.

Look inside the file and see blockchainstructure

دعونا نتصور هذا على أنه سلسلة الكتل.

يجب أن تُضاف الكتلة المرشحة التي أنشأها المُعدِّن فوق الكتلة الأحدث.

Block must bee added on top of the most recent block

لنفترض أن الكتلة الأحدث هي الكتلة الملونة باللون الأزرق.

Most recent block in blockchain

بما أن تجزئة الكتلة للكت لة الملونة بالأزرق هي أحدث كتلة في الملف ("سلسلة الكتل")، إذن هذه هي الكتلة التي يريد المُعدِّن أن يبني فوقها.

فكّر في تجزئة الكتلة على أنها مثل رقم معرّف مخصص لل كتلة.

لذا فإن ما سيفعله المُعدِّن هو إضافة هذا ك"تجزئة الكتلة السابقة"في رأس الكتلة للكتلة المرشحة الخاصة به.

Block hash added as Previous Block Hash of Candidate Block

تجزئة "ملخص المعاملة"

الجزء التالي من البيانات هو ما سأطلق عليه تجزئة "ملخص المعاملة".

كما يوحي الاسم، فإنه يوفر "ملخصًا" لجميع المعاملات في الكتلة معبراً عنه كسلسلة من الأحرف.

بدون الخوض في التفاصيل، ما يحدث هو أن جميع المعاملات في الكتلة (مظللة باللون الأحمر) يتم وضعها في دالة تجزئة وتجزئتها بترتيب معين وينتهي بك الأمر بتجزئة واحدة.

Merkle Root

هذا التجزئة هو ما يُستخدم كتجزئة "ملخص المعاملات".Merkle Root Example

ما يوفره هذا التجزئة هو"بصمة"فريدة من نوعها استنادًا إلى جميع المعاملات المضمنة في الكتلة.

وهذا يساعد على ضمان عدم التلاعب بالمعاملات .

تُعرف تجزئة "ملخص المعاملات" هذه في الواقع باسم"جذرMerkleRoot".🤓

تذكر أن تغييرًا واحدًا صغيرًا في البيانات سيغير التجزئة تمامًا. هذا يعني أنه إذا حاول شخص ما تغيير أي معاملة في الكتلة في المستقبل، فسيتسبب ذلك في تغيير تجزئة "ملخص المعاملة" وستكون مختلفة تمامًا عن القيمة الأصلية الموجودة في رأس الكتلة.Merkle Root as Fingerprint

بشكل أساسي، سيؤدي تغيير المعاملة إلى إنشاء "بصمة" مختلفة تمامًا ولن تتطابق مع "البصمة" الأصلية.

هذا التغيير سيجعل الجميع يعرف على الفور أن المعاملة (المعاملات) قد تم التلاعب بها.

تجزئة الكتلة

حتى الآن، يحتوي رأس الكتلة على ثلاثة أجزاء من البيانات:

  1. الطابع الزمني
  2. تجزئة الكتلة السابقة
  3. تجزئة "ملخص المعاملة"

الخطوة التالية هي وضع بيانات رأس الكتلة هذه في دالة تجزئة.

سينتج عن ذلك رقم عشوائي يسمى"تجزئة الكتلة".

(على الرغم من أن الاسم الأكثر دقة سيكون "تجزئة رأس الكتلة" لأنه تجزئة رأس الكتلة فقط، وليس الكتلة بأكملها).

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

Run block header through hash function
لماذا يقوم المُعدِّن بذلك؟

لكي يتمكن المُعَدِّن من إضافة كتلته إلى سلسلة الكتل، يجب أن يجد تجزئة الكتلة التي تفي بمتطلبات معينة.

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

وبشكل أكثر تحديدًا، يجب أن تكون تجزئة الكتلة رقمًا يبدأ بعدد معين من الأصفار.

كم عدد الأصفار بالضبط؟

الأمر يختلف. يحدد برنامج نظام البيتكوين الحد الأدنى لعدد الأصفار التي يجب أن تبدأ بها تجزئة الكتلة.

في الأصل، كان الشرط في البداية هو عدد قليل من الأصفار فقط، ولكن مع انضمام المزيد والمزيد من المُعدِّنين، بدأ برنامج البيتكوين في طلب عدد أكبر من الأصفار.

Bitcoin mining process without nonce

يجب على المُعَدِّن توليد مخرجات ("تجزئة الكتلة") تفي بعتبة المخرجات التي حددها برنامج البيتكوين.

هذه "العتبة" تحدد فقط عدد الأصفار التي يجب أن تبدأ بها تجزئة الكتلة.

إنها مثل رقصة "النسيان".

Bitcoin mining is like a limbo dance

كلما انخفضت العتبة، زادت الأصفار المطلوبة.

وكلما زاد عدد الأصفار المطلوبة، زادت صعوبة العثور على تجزئة كتلة "صحيحة".

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

إنالعثور على قيمة تبدأ بثلاثة أصفار مثل"000123..." أصعب بكثير منمحاولة العثور على قيمة بستة أصفار مثل"000000123..."

إليك مثالاً حديثاً على تجزئة كتلة صحيحة فعلية:

0000000000000000000586b367c292dfd274bf2e67575cf8b4d00735fc1df6ff

لاحظ عدد الأصفار التي تبدأ بها.

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

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

ماذا يحدث إذا لم تبدأ تجزئة الكتلة بالعدد المطلوب من الأصفار؟

عندها لا يمكن إضافة الكتلة إلى الملف ("سلسلة الكتل").

لحسن الحظ، يمكن أن يكون لدى المُعدِّن محاولات متعددة.

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

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

توفر البيتكوين طريقة!

النونسي

في رأس الكتلة، يوجد حقل إضافي يسمى"nonce" (المربع الأزرقالفاتح)

Block header contains a nonce

هناك جزء خاص من رأس البلوك يمكن للمُعدِّنين ملؤه برقم عشوائي.

المُعدِّن حر في وضع أي رقم يريده.

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

باستخدام nonce، يمكن للمُعدِّن التلاعب بمخرجات دالة التجزئة "لتخمين" المخرجات المطلوبة.

نظرًا لأنه لا يمكن تغيير الأجزاء الأخرى من البيانات في رأس الكتلة، فإن الجزء الوحيد من البيانات الذي يمكن تغييره هو nonce.

لذا، إذا فشلت محاولة التجزئة الأولى لرأس البلوك هادر، يقوم المُعدِّن بتغيير قيمة nonce.

يمكنك التفكير في هذه العملية كما لو كنت TRYING العثور على تركيبة قفل مركب.

Combination Lock

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

عليك التخمين مرارًا وتكرارًا حتى يحالفك الحظ!

ومثلما أنه من السهل والسريع للغاية التحقق من أن تركيبة الق فل هي الصحيحة (إما أن تفتح القفل أو لا تفتحه)، فمن السهل والسريع للغاية بالنسبة للمُعدِّن، وللعُقد الأخرى بعده، التحقق من أن الرقم nonce هو بالفعل الرقم الصحيح.

يتنافس المُعدِّن أيضًا مع المُعدِّنين الآخرين. يُمنح المُعدِّن الأول الذي يعثر على nonce الذي ينتج عنه تجزئة كتلة صحيحة الحق في إضافة كتلته إلى سلسلة الكتل ويُكافأ على ذلك.

على سبيل المثال، لنفترض أن تجزئة الكتلة يجب أن تبدأ بأربعة أصفار على الأقل.

تتمثل الطريقة الوحيدة للعثور على تجزئة كتلة بالعدد المطلوب من الأصفار الأولية في اختيار قيمة nonce عشوائيًا وت شغيل رأس الكتلة من خلال دالة التجزئة.

في هذا السيناريو، يبدأ المُعدِّن ب "0" لقيمة nonce (المربع الأزرق الفاتح).

Nonce is 0

إذا فشل ذلك في الحصول على النتيجة المطلوبة، فكل ما يمكن أن يفعله المُعدِّن هو TRY مرة أخرى باستخدام قيمة nonce مختلفة.

يقوم المُعدِّن بتغيير الرقم nonce، ثم يبدأ من جديد حتى يتمكن من العثور على تجزئة كتلة مع الحد الأدنى المطلوب من الأصفار على الأقل. في هذه الحالة، أربعة أصفار.

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

لذلك كانت المحاولة الأولى للمُعدِّن هي استخدام الرقم "0" في nonce. ثم يقوم بعد ذلك بتشغيل رأس البلوك من خلال دالة التجزئة ويرى ما إذا كانت تجزئة البلوك تبدأ بأربعة أصفار.

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

إذا كانت المخرجات غير صالحة، يستمر المُعدِّن في المحاولة بقيم nonce مختلفة.

نظرًا لأن القيمة "0" لم تنجح، يمكن للمُعدِّن تغيير قيمة nonce إلى "1" (المربع الأزرق الفاتح)ثمتشغيل رأس الكتلة من خلال دالة التجزئة مرة أخرى.

Nonce changed to 1

كما ترى، يبدأ تجزئة البلوك بدون أصفار، لذا لا يعمل هذا أيضًا.

نظرًا لأن قيمة "1" لم تنجح، يمكن للمُعدِّن تغيير قيمة Nonce إلى "2" (المربع الأزرق الفاتح)ثمتشغيل رأس الكتلة من خلال دالة التجزئة مرة أخرى.

Nonce changed to 2

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

إنها نتيجة تجزئة كتلة ناجحة! 🎉

كما ترى، لا يمكن التنبؤ بالرقم nonce الذي سينتج تجزئة الكتلة بالعدد الصحيح من الأصفار، لذلك يتعين على المُعدِّن TRY أرقام nonces مختلفة للعثور على القيمة الصحيحة.

يمكن للمُعدِّنين التعدين لفترات طويلة من الوقت دون ضمان أنهم سيجدون nonce الصحيح. معظمهم لن يجدوا أبدًا!

يتم استخدام nonce كعداد، حيث يتم زيادة قيمته باستمرار حتى يعثر على تجزئة الكتلة الصحيحة أو يعثر عليها مُعدِّن آخر.

إنها مثل لعبة تخمين الأرقام!

أنت ببساطة تحاول العثور على تجزئة تبدأ بعدد معين من الأصفار عن طريق تغيير قيمة nonce.

يقوم المُعدِّنون بذلك مرارًا وتكرارًا....على أمل أن النتيجة ستنتج تجزئة كتلة تفي بالمعايير.

وكلما زادت قوة أجهزة الكمبيوتر الخاصة بهم، زادت "التخمينات" التي يمكنهم القيام بها.

تُعرف عملية "التخمين" هذه باسم التعدين.

يُكافأ المُعدِّن "الفائز" بعدد محدد من البيتكوين (بالإضافة إلى رسوم المعاملات) يُسمى "مكافأة الكتلة".

يفوز مُعدِّن واحد بمكافأة الكتلة كل 10 دقائق تقريبًا .

مكافأة الكتلة

نظرًا لأن المُعدِّنين ينفقون الكثير من الوقت والطاقة "لتخمين" الرقم nonce الصحيح وتأكيد المعاملات على بلوكشين البيتكوين، فإن برنامج البيتكوين يكافئهم على جهودهم ب

  1. عملة بيتكوين منشأة حديثاً عندما يؤكد المُعَدِّن المعاملات، يتم تجميعها في كتلة وإضافتها إلى سلسلة بلوكشين البيتكوين. مقابل كل كتلة جديدة تتم إضافتها إلى سلسلة الكتل، يتم دفع عملات بيتكوين جديدة إلى المُعَدِّن. يُعرف هذا باسم إعانة الكتلة. يعتمد المبلغ المحدد من عملات البيتكوين على جدول الإصدار الذي يحدده البروتوكول في وقت إنشاء الكتلة. واعتبارًا من 20 أبريل 2024، يبلغ الإصدار الجديد 3.125 بيتكوين لكل كتلة، بعد حدث التنصيف الأخير. ومن المقرر أن يحدث التنصيف التالي في حوالي 2 أبريل 2028، حيث ستنخفض مكافأة الكتلة إلى 1.5625 بيتكوين لكل كتلة.
  2. رسوم المعاملات. عندما يتعامل الأشخاص بعملة البيتكوين، فإنهم يدفعون رسومًا إلى المُعدِّنين لتحفيزهم أكثر على تأكيد معاملاتهم. عندما يؤكد المُعدِّن حزمة من المعاملات، فإنه يجمع أيضًا جميع الرسوم من كل معاملة على حدة.

التعدين عملية رتيبة ومتكررة:

Bitcoin Mining Process

خذ رأس كتلة مع رمز nonce، وقم بتجزئته، وانظر ما إذا كان التجزئة يبدأ بعدد معين من الأصفار، وإذا لم يكن كذلك، كرر العملية باستخدام رمز nonce مختلف.

أشعر بالنعاس لمجرد التفكير في ذلك. 😴

لذا عندما تقرأ أو تسمع أن التعدين ينطوي على "حل مسائل رياضية معقدة"، فأنت تعرف الآن أن هذا ليس وصفًا صحيحًا.

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

يشير "معدّل التجزئة" إلى "قوة التخمين" لحاسوب التعدين. كلما زاد عدد التجزئات التي يمكنك تخمينها في الثانية، ارتفع معدل التجزئة الخاص بك. على سبيل المثال، 1 تريليون (1,000,000,000,000) تخمين في الثانية الواحدة يساوي معدل تجزئة 1 تيراهاش (TH/s).

فقط لأن العملية بسيطة، فهذا لا يعني أنها سهلة. لهذا السبب يُطلق عليها "التعدين". أنت TRY "التنقيب" عن الرقم الصحيح الذي يتطلب الكثير من الجهد، على غرار التعدين الفعلي في العالم الحقيقي.

والآن بعد أن يعثر المُعدِّن على رقم nonce ليتمكن من توليد تجزئة كتلة تفي بالمتطلبات (تبدأ بأربعة أصفار على الأقل)، تتم إضافة الكتلة إلى نسخة المُعدِّن من الملف ("سلسلة الكتل").

هل تتذكر كيف كانت الكتلة الزرقاء هي أحدث كتلة في سلسلة الكتل الخاصة بالمُعدِّن؟ لم تعد كذلك.

نظرًا لأن المُعَدِّن كان قادرًا على تخمين nonce الصحيح، فقد تمكن من إضافة كتلته إلى سلسلة الكتل (الملونة باللون الأخضر).

Block added to blockchain

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

Miner's blockchain updated

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

ستتحقق العقد من ذلك وتتحقق منه وتتأكد من أن رأس الكتلة ينتج تجزئة كتلة تفي بالمعايير. في هذه الحالة، يجب أن تبدأ تجزئة الكتلة بأربعة أصفار.Bitcoin miner propogates new block

ستقوم هذه العقد بتحديث ملفها ("سلسلة الكتل") عن طريق إضافة الكتلة إلى الملف.

سيتم تحديث ملفهم وسيكون الآن نفس إصدار ملف المُعدِّن الفائز (الملف الأخضر).

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

سيتم طرد أي معاملات متضاربة .

وبفضل عملية التعدين، ستنتقل المعاملة الأرجوانية فقط إلى سلسلة الكتل.Blockchain synced across network

ثم ستقوم هذه العُقد بتمرير الكتلة إلى عُقد أخرى.Nodes will pass on the block to other nodes.

بمجرد أن يتم قبول الكتلة الجديدة من قِبل غالبية المُعدِّنين، يبدأ جميع المُعدِّنين من جديد ويُنشئون كتلة جديدة مرشحة وتكرر عملية التعدين نفسها.

تعمل عملية التعدين كآلية فرز للمعاملات عبر شبكة من أجهزة الكمبيوتر، حيث يكون للكتل "المُعدَّنة" القول الفصل فيما ينتمي إلى سلسلة الكتل.

سيتم الآن استخدام تجزئة الكتلة من هذه الكتلة التي تم إنشاؤها حديثًا من قِبل المُعدِّنين "تجزئة الكتلة السابقة" في الكتل المرشحة.

Newly created block will now be used by miners

تعمل تجزئة الكتلة بمثابة"السلسلة".

يجب على المُعدِّنين الآن تضمين تجزئة الكتلة السابقة في الكتلة الجديدة التي يقومون بإنشائها.

Miner include new block hash in new block

على سبيل المثال، هذا يعني أنه لتعدين الكتلة 101، يحتاج المُعدِّنون إلى معرفة تجزئة الكتلة 100.

حتى يتم تعدين الكتلة 101 ، لا يمكن تعدين الكتلة 102.

وهذا يجبر المُعدِّنين على التركيز على الكتلة 101 والتي بدورها تتضمن تجزئة الكتلة 100. لا يمكن لأي عامل تعدين أن يتخطى إلى الأمام.

ولكن بدلًا من أن يكون لكل كتلة "رقم كتلة" تشير كل كتلة إلى الكتلة السابقة من خلال تجزئة بوك الخاصة بها .

وهذا يعني أن كل كتلة مرتبطة ببعضها البعض وهذا ما ينشئ"سلسلة من الكتل"المعروفة باسم سلسلة الكتل.

لا ترتبط "سلسلة الكتل" هذه ببعضها البعض ليس عن طريق أرقام الكتل، ولكن عن طريق تجزئة الكتل .

لماذا لا يمكنك الغش في البيتكوين

لنفترض أن الجميع يعمل على الكتلة 101.

لكن أحد المُعدِّنين يريد تغيير معاملة في الكتلة 80.

سيتعين عليه إجراء تغييراته وإعادة إجراء جميع العمليات الحسابية للكتل 80-100 وأيضًا إجراء الكتلة 101.

هذه 21 كتلة من الحوسبة المكلفة!

ليس ذلك فحسب، بل سيتعين على المُعَدِّن أن يقوم بكل ذلك قبل أن ينهي المُعَدِّنون الآخرون على شبكة البيتكوين الكتلة الحالية (الكتلة 101) التي يعملون عليها. هذا مستحيل في الأساس.

من الصعب جدًا الإفلات من التلاعب بأي معاملات تشكل بالفعل جزءًا من سلسلة الكتل.

هذا هو المقصود عندما توصف سلاسل الكتل بأنها غير قابلة للتغيير.

إثبات العمل (PoW)

غالبًا ما يُشار إلى عملية التعدين باسم"إثبات العمل"أو PoW.

تُعرف PoW باسم"آلية الإجماع" التي تستخدمها البيتكوين لجعل جميع العقد تتفق على النسخة "الرسمية" من بلوكشين البيتكوين. وهي الطريقة التي تستطيع من خلالها البيتكوين الوصول إلى توافق في الآراء دون الحاجة إلى حل النزاعات أو التدخل من سلطة مركزية.

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

يتم استخدام عملية "تخمين nonce" ثم تشغيل رأس الكتلة من خلال دالة التجزئة كطريقة لإثبات أنك قد قمت بالقدر المطلوب من "العمل" على كتلتك.

يُسمح لأول مُعدِّن يُنتج تجزئة صالحة بإضافة كتلة جديدة إلى سلسلة الكتل ويحصل على مكافأة من عملات البيتكوين.

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

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

يتم إجراء تعديلات الصعوبة بناءً على السرعة التي ينشئ بها المُعدِّنون كتلاً جديدة.

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

إن تعديل الصعوبة مهم لأنه يضمن عدم قدرة المُعدِّنين على تعدين الكثير من المعروض من البيتكوين بسرعة كبيرة.

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

أي شخص لديه قوة حوسبة كافية لمهاجمة الشبكة من الأفضل له أن يقوم بالتعدين بأمانة ويكسب مكافأة الكتلة (عملات بيتكوين جديدة بالإضافة إلى رسوم المعاملات).

هل أنت مهتم بمعرفة المزيد عن الجوانب التقنية للبيتكوين؟ يوفر موقع learnmeabitoin.com دليلًا رائعًا سهل المتابعة لمساعدة الأشخاص على فهم كيفية عمل البيتكوين.

ملخص

تهانينا! أنت تعرف الآن كيف يعمل "التعدين" في البيتكوين!

  • يبحث المُعدِّنون عن تجزئة مقبولة ستكون "تجزئة الكتلة" عن طريق اختيار nonce، وتشغيل دالة التجزئة، والتحقق من المخرجات.
  • إذا كانت التجزئة لا تحتوي على المقدار الصحيح من الأصفار البادئة، يقوم المُعدِّنون بتغيير nonce، وتشغيل دالة التجزئة، والتحقق مرة أخرى.
  • عندما يحالف الحظ أحد المُعدِّنين في النهاية في العثور على رمز nonce يعمل، و"يفوز"، يتم إرسال الكتلة إلى العُقد الأخرى (بما في ذلك المُعدِّنين الآخرين) في شبكة البيتكوين، حيث يمكن لكل منهم تشغيل دالة التجزئة باستخدام رمز nonce الخاص بالمُعدِّن الفائز والتحقق من أنه يعمل.
  • إذا تم قبول الحل من قبل غالبية العقد، تتم إضافة الكتلة إلى سلسلة الكتل ويحصل المُعدِّن الفائز على مكافأة الكتلة.
  • يقوم جميع المُعدِّنين بـ "إعادة تعيين" والبدء في العمل على كتلة مرشحة جديدة، باستخدام تجزئة الكتلة التي تم تعدينها مؤخرًا كمرجع في رأس الكتلة (باسم "رأس الكتلة السابق").
  • تُعرَف هذه العملية التي يحاول فيها المُعدِّنون "تخمين" أو العثور على nonce الصحيح باسم "إثبات العمل" (PoW).

والآن بعد أن تعرفنا على المُعَدِّنين والتعدين، دعونا نحدِّث خريطتنا لنظام البيتكوين:

Bitcoin as a System (Mining Added)