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

مشاركة
Copied to clipboard!
الإستماع الى هذه المقالة
00:00 / 00:00

خوارزمية التعدين هي جزء أساسي في كل بلوكشين، دعونا نأخذ خوارزمية البيتكوين كمثال. يطلق عليها SHA-256 و هذا إختصار لـ "Secure hash algorithm 256 bits" و تأخذ أي نوع من المدخلات مثل نص أو أرقام أو حتى ملف كمبيوتر بأي طول. ويطلق على الناتج "هاش أو Hash" ويكون نفس الطول في كل مرة، 256bits في الـ machine code.

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

إنه أيضًا ما يسمى بوظيفة أحادية الاتجاه مما يعني أنه إذا كان لديك فقط الإخراج، لا يمكنك حساب مدخلاته. يمكنك فقط تخمين ماهية الإدخال واحتمالات التخمين الصحيحة هي 1 في 2^256  وهو شيء مستحيل إلى حد كبير، بمعنى آخر، إنه آمن.

الآن بعد أن عرفنا ما تفعله الخوارزمية دعنا نوضح كيف يعمل البلوكشين مع مثال بسيط للمعاملة.

هنا لدينا أليس وبوب و رصيدهم من عملة البيتكوين، لنفترض أن أليس مدينة لبوب بعدد 2 بيتكوين. 

لكي ترسل أليس 2 بيتكوين الى بوب، تقوم أليس ببث رسالة بالمعاملة التي ترغب في إجرائها لجميع عمال التعدين في الشبكة.

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

بمجرد أن يكون عمال التعدين على يقين من أن المعاملة صالحة،  يمكنهم وضعها في كتلة مع العديد من المعاملات الأخرى ومحاولة تعدين/حل هذه الكتلة، يتم ذلك عن طريق وضع الكتلة عبر خوارزمية SHA-256. يجب أن يبدأ الإخراج بقيمة معينة على الصفر من أجل اعتباره صالحًا. وتعتمد كمية الصفر المطلوبة على ما يسمى بـ "الصعوبة" التي تتغير بناءً على مدى قوة الحوسبة الموجودة على الشبكة.

لإنتاج ناتج الهاش مع عدد الأصفار المطلوبة،  يضيف عمال التعدين  ما يسمى "رقم nonce (النونس هو رقم يتكرر مرة واحدة فقط)" في الكتلة قبل تشغيله من خلال الخوارزمية. نظرا لأن أي تغيير طفيف في المدخلات يغير تمامًا المخرجات، يحاول عمال التعدين الحصول على أرقام Nonce  عشوائية حتى يجدوا ناتج هاش صالح.

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

كل عامل تعدين لديه نسخة خاصة به من البلوكشين على جهاز الكمبيوتر الخاص به و الجميع يثق في البلوكشين التي لديها أكثر الأعمال

إذا قام عامل تعدين بتغيير معاملة في كتلة سابقة  فسيتم تغيير ناتج هاش هذه المجموعة مما يؤدي إلى تغير جميع مخرجات الهاش الاخرى  نظرًا لارتباط الكتل بالهاشات. بعد ذلك سوف يضطر عامل التعدين إلى إعادة كل العمل السابق لكي يجعل أي شخص يقبل أنه من يملك البلوكشين الصحيح. لذا، إذا أراد عامل تعدين أن يقوم بخداع الشبكة فسوف يحتاج إلى أكثر من 50٪ من طاقة الحوسبة الشبكية وهو أمر بعيد الاحتمال. تُسمى هجمات الشبكة مثل هذه بهجمات الـ 51٪.

يطلق على نموذج جعل الحواسيب تقوم بالعمل لإنتاج الكتل إسم "إثبات العمل - Proof of Work أو PoW" وهناك نماذج أخرى مثل "إثبات الحصة - Proof of Stake أو PoS" لا تتطلب طاقة حوسبة كبيرة و تم إنشائها لجعلها تتطلب كمية طاقة قليلة  مع القدرة على التوسع إلى عدد أكبر من المستخدمين.

وهذه هي أساسيات عمل البلوكشين!



Loading