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

أساسيات سلسلة الكتل (Blockchain 101): عرض توضيحي مرئي

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

Date published: 13 نوفمبر 2016

عرض توضيحي مرئي من أندرس براونوورث لكيفية عمل تقنية سلسلة الكتل، يتضمن جولة تفصيلية تغطي عملية التجزئة باستخدام SHA-256، والكتل، والتعدين، وسلاسل الكتل، ودفاتر الأستاذ الموزعة، والرموز المميزة، والمزيد.

هذا النص هو نسخة يسهل الوصول إليها من النص الأصلي للفيديو (opens in a new tab) الذي نشره أندرس براونوورث. تم تعديله قليلاً لتسهيل القراءة.

تجزئة SHA-256 (0:01)

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

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

إذن هذه هي تجزئة الاسم "أندرس"، بأحرف صغيرة — تبدأ بـ 19ea. إذا قمت بحذف ذلك وكتابة "أندرس" مرة أخرى، يمكنك أن ترى أنها تبدأ بـ 19ea — نفس التجزئة بالضبط. بهذا المعنى، إنها بصمة رقمية لهذه البيانات. أياً كانت البيانات الموجودة هنا، في كل مرة تكتب فيها نفس البيانات بالضبط، ستحصل على نفس التجزئة بالضبط.

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

كتلة (2:10)

ما سأفعله هو توسيع فكرة التجزئة هذه إلى شيء سنطلق عليه اسم كتلة. الكتلة تشبه التجزئة تماماً، ولكن تم تقسيم قسم البيانات إلى ثلاثة أقسام: قسم يسمى "الكتلة" — مجرد رقم، هذه هي الكتلة رقم 1 — و"رقم فريد"، وهو مجرد رقم آخر، ثم بعض البيانات تماماً كما كان لدينا من قبل.

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

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

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

لقد توقف عند 59,396 — ويصادف أن هذا الرقم ينتج تجزئة تبدأ بأربعة أصفار. إنه يفي بتعريفي لماهية الكتلة الموقعة.

سلسلة الكتل (5:16)

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

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

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

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

سلسلة الكتل الموزعة (9:18)

إذن كيف سأعرف ما إذا كان قد تم إعادة تعدين سلسلة الكتل الخاصة بي؟ الآن لدينا سلسلة كتل موزعة. تبدو تماماً مثل سلسلة الكتل السابقة، ولكن هذا هو النظير أ (Peer A). إذا نزلت إلى هنا، يمكنك رؤية النظير ب (Peer B)، ولديه نسخة مطابقة من سلسلة الكتل. هناك أيضاً النظير ج (Peer C) — يمكن أن يستمر هذا إلى الأبد. هناك العديد من النظراء على الإنترنت، وجميعهم لديهم نسخة كاملة من سلسلة الكتل.

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

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

يمكن أن تحتوي سلاسل الكتل على 400,000 أو 500,000 كتلة بسهولة بالغة. بدلاً من التحقق منها جميعاً، كل ما عليك فعله حقاً هو إلقاء نظرة على تجزئة أحدث كتلة، ويمكنك معرفة ما إذا كان أي شيء في الماضي قد تم تغييره.

الرموز المميزة (12:17)

هذا هو الأمر برمته — لا يوجد شيء أكثر من ذلك. لكنه نوعاً ما ليس مفيداً حقاً لأنه ليس لدينا أي شيء في منطقة البيانات يعني أي شيء. ما نريده حقاً هو رمز مميز.

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

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

شيء واحد أود ذكره: نحن لا ندرج "دارسي لديه مائة دولار وهو يعطي 25 لبينغلي". نحن نتذكر فقط حركات الأموال، وليس أرصدة الحسابات المصرفية. هذا يطرح السؤال — هل يمتلك دارسي $25؟

معاملة كوين بيس (Coinbase) (14:34)

لدينا مشكلة في هذا الإصدار من سلسلة الكتل: نحن لا نعرف في الواقع ما إذا كان دارسي يمتلك $25. لذا دعونا نلقي نظرة على معاملة كوين بيس (Coinbase). نضيف معاملة كوين بيس إلى كتلنا — تقول إننا سنخترع مائة دولار من العدم ونعطيها لأندرس. لا توجد معاملات أخرى في هذه الكتلة لأنه لم يكن لدى أي شخص أي أموال قبل ذلك.

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

إذا جمعت كل هذه المبالغ فلن تتجاوز المائة. إنها تتبع قاعدة أساسية للعملة: لا يمكنك خلق المال من العدم، وتوزيعه يتم التحكم فيه.

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

الختام (16:30)

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

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

هل كانت هذه الصفحة مفيدة؟