This article has been translated from English to Arabic.

تجيب Bitcoin على السؤال "أيمعاملة يجب الاحتفاظ بها؟

الطريقة التي تجيب بها البيتكوين على هذا السؤال رائعة.

وإليك الطريقة...

تشارك كل عقدة على شبكة البيتكوين المعلومات حول المعاملات الجديدة.

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

يقوم كل جهاز كمبيوتر يقوم بتشغيل برنامج البيتكوين بإنشاء منطقة تخزين مؤقتة للمعاملات تسمى"تجمع الذاكرة". يُعرف أيضًا باسم"mempool" اختصارًا.

كل عقدة بيتكوين لديها "ميمبول الذاكرة" الخاص بها، حيث تقوم بتخزين قائمة انتظار المعاملات التي قامت بفحصها وتعتبرها صالحة.Bitcoin Node's Memory Pool

بشكل عام، مجمّع الذاكرة هو عبارة عن قائمة انتظار منظمة حيث يتم تخزين المعاملات وفرزها قبل إضافتها إلى كتلة تم إنشاؤها حديثًا.

  • يحتفظ مجمّع الذاكرة بالمعاملات"الحديثة" أو غير المؤكدة (المخزنة كمعاملات فردية).
  • تحتفظ سلسلة الكتل بالمعاملات"المؤرشفة" أو المؤكدة (يتم تجميعها في "كتل").

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

في شبكة البيتكوين، تحتوي جميع العقد الكاملة على مجمّع ذاكرة.

All Bitcoin nodes have a memory pool

لنفترض أنك بدأت معاملة على هذا الجانب من الشبكة(معاملة أرجوانية).

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

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

Both transactions are stored in memory pool

لذا ستنتشر كلتا المعاملتين عبر الشبكة.

سيرفض هذا الكمبيوتر المعاملة الحمراء لأنه تلقى بالفعل المعاملة البنفسجية.

Transaction is rejected from mempool

لذا الآن كلا المعاملتين على الشبكة.

ولكن لم تتم كتابتهما إلى الملف بعد، لذلك لم يتم تحديث الملف بعد.

Both transactions are waiting in mempool

ما سيحدث بعد ذلك هو أن جميع هذه الحواسيب ستعمل وتحاول نقل معاملاتها من تجمع ذاكرتها إلى الملف.

سوف يتنافسون ليكونوا أول من يحصل على معاملات مخزن ذاكرتهم المضافة إلى أعلى الملف.Bitcoin mining nodes compete

لنفترض أن هذا الكمبيوتر (باللون الأصفر) هو أول من يتمكن من القيام بذلك.

Bitcoin node first to add transaction to blockchain

يضيف معاملته من تجمع الذاكرة إلى الملف:

Bitcoin nodes adds transaction to blockchain

وعندما ينتهي من ذلك....

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

Bitcoin node shares blockchain copy

وسيقومون بتحديث نسخهم.

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

Bitcoin node kicks out conflicting transaction

ماذا يحدث للمعاملة الحمراء المتضاربة في تجمع ذاكرتها؟

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

ستقوم هذه العقدة بعد ذلك بتمرير الملف المحدّث.

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

All Bitcoin nodes kick out conflicting transaction

جميع أجهزة الكمبيوتر الآن لديها الملف المحدث.

إذن هذه هي الطريقة التي تحل بها مشكلة وجود معاملتين متعارضتين على الشبكة.

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

في هذا المثال، سيحصل الشخص الأرجواني على البيتكوين...Bitcoin transaction is successful

ولكن عندما يحاول الشخص المشبوه إنفاق نفس عملة البيتكوين مع المتأنق الأحمر ، لن ينجح الأمر.Bitcoin transaction fails

هذه العملية من العقد التي تتنافس فيها العُقد لمحاولة الحصول على معاملاتها من تجمع ذاكرتها إلى الملف ("سلسلة الكتل") تسمى التعدين.