دليلك إلى فهم Tendermint
جدول المُحتويات
المقدمة
ما تحتاج لمعرفته حول Tendermint
Tendermint Core
أفكار ختامية
دليلك إلى فهم Tendermint
الصفحة الرئيسيةالمقالات
دليلك إلى فهم Tendermint

دليلك إلى فهم Tendermint

متوسط
تاريخ النشر Jan 8, 2021تاريخ التحديث Sep 1, 2022
7m

الموجز

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

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


المقدمة

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


ما تحتاج لمعرفته حول Tendermint

سيبدو Tendermint مألوفاً إذا كنت تعرف القليل عن سلاسل البلوكشين. سنقوم بتلخيص بعض المفاهيم الأساسية حولها قبل الخوض فيها أكثر.


التعرف على بنية سلسلة البلوكشين

Tendermint هو نوع من مجموعة سلاسل بلوكشين. وكذلك أشياء مثل البيتكوين و Ethereum. تذكر أن الأمر لا يتعلق فقط بقاعدة بيانات سلسلة البلوكشين نفسها، ولكن بشبكة من شخص لشخص من العُقد، وكيفية تفاعلهما، والأشياء الممتعة التي يمكنك القيام بها باستخدام المعاملات والعقود الذكية كذلك. الهدف هنا هو جعل الجميع يتفقون على حالة (مثل لقطة لقاعدة البيانات)، حتى لو كانوا لا يثقون في أي شخص آخر.
وفي الغالب، ابتكرت سلاسل البلوكشين الرئيسية اليوم الخلطة السرية التي تجعل هذا ممكناً. ومع ذلك، فهي تعتمد غالباً على بنية متجانسة: وهو مفهوم لهندسة البرمجيات يعني أن المكونات مترابطة ومعتمدة على بعضها البعض. فلا يمكنك ببساطة أن تأخذ قطعة منها وتضيفها إلى شيء آخر.
والبنية المتجانسة ليست أمراً رائعاً إذا كنت تبحث عن المرونة. في النوع المقابل من النموذج (أي استخدام بنية معيارية)، يمكنك تعديل المكونات الفردية دون القلق حيال كسر أي شيء. باستخدام هذه البنية المتجانسة، يجب عليك التأكد من أن كل مكون يظل متوافقاً عند ترقية مكون ما. 

الآن بعد أن فهمنا هذا الفرق، يمكننا التحدث أكثر قليلاً عن بروتوكول Tendermint.


تحمل الخطأ البيزنطي (BFT)

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


الطبقات الثلاث لسلسلة البلوكشين

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



Tendermint Core

أولاً، دعونا نُقدم توضيح سريع للمصطلحات. سنستخدم المصطلحين "Tendermint" و"Tendermint Core" بالتبادل هنا لأننا نركز فقط على التقنية. 

وTendermint هو اسم الشركة (التي أسسها المُطوِر الذي كتب الدليل الفني الأصلي، جاي كوان)، بينما Tendermint Core هو البرنامج الفعلي الذي تعمل عليه الشركة. وبشكل أكثر تحديداً، يحتوي البرنامج على مكونين أساسيين: محرك الإجماع الأساسي (Tendermint Core) وواجهة التطبيق (ABCI).

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

أولاً، آلية الإجماع المستخدمة هي دليل ربط الحصة (PoS). يتم تحديد عقدة عشوائية من مجموعة المدققين لكل فترة. ويجب أن تقترح هذه العقدة بعد ذلك الكتلة التالية (في ما يُسمى بنظام دورة روبن). وإذا كان المدققون الآخرون راضيين عنها، فستتم إضافة الكتلة الجديدة وتحديث السلسلة. ويتم الوصول إلى النتيجة النهائية على الفور – على عكس البيتكوين أو Ethereum، ليست هناك حاجة لانتظار تأكيدات للتأكد من أن معاملتك صحيحة.

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

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

وتكمن الروعة فيما يُسمى بواجهة سلسلة البلوكشين للتطبيق، أو ببساطة ABCI. يمكنك اعتبارها مثل دبابيس GPIO التي تراها في جهاز كمبيوتر رسبري باي Raspberry Pi. يمكنك ربط جميع أنواع مكونات الطرف الثالث بها، من LEDs لوضع أنظمة الرش للنباتات الخاصة بك. بطريقة مماثلة، فإن ABCI هو ما يحدد الحدود بين سلسلة البلوكشين والتطبيقات القائمة عليها.


ما الذي يميز Tendermint Core؟

يتيح فصل واجهة التطبيق وآلية الإجماع مزيداً من المرونة لمجموعة من التطبيقات اللامركزية لدمج أي لغات برمجة في منطق الأعمال الخاص بها.

للاطلاع على مثال ملموس لما يمكن القيام به، ما عليك سوى إلقاء نظرة على Ethermint: مشروع أخذ قاعدة بيانات Ethereum، وأزال آلية نموذج إثبات العمل، وبنى آلة Ethereum الافتراضية (EVM) على Tendermint.
وقد أتاح هذا بعض الأمور المثيرة للاهتمام. أول شيء أن مطوري Ethereum يمكنهم نقل عقودهم الذكية إلى المحرك الجديد بسهولة، أو كتابة عقود جديدة بلغة Solidity. علاوة على توفير وظائف Ethereum، تعمل Ethermint كدليل ربط الحصة في Ethereum، مما يمنحنا لمحة عما قد يبدو عليه تطبيق Casper في Ethereum 2.0.


التوافق التشغيلي لسلسلة البلوكشين

الوعد بـ "إنترنت سلاسل البلوكشين" هو ما يجذب الكثيرين إلى البروتوكولات القائمة على Tendermint. ويُعتبر التوافق التشغيلي إضافة طال انتظارها إلى مجال تداول العملات الرقمية، حيث يعني أن المئات من سلاسل البلوكشين الفردية ستصبح متوافقة مع بعضها البعض.
في الوقت الحالي، تم بذل الكثير من العمل في حزمة أدوات Cosmos لتطوير البرمجيات، وهي إطار عمل مفتوح المصدر يسمح لأي شخص بإنشاء سلسلة بلوكشين عامة أو خاصة للتطبيق. ويمكن بعد ذلك إضافة سلاسل البلوكشين هذه إلى شبكة Cosmos الأوسع، عبر ما يُسمى Cosmos Hub، حيث يمكنها التواصل مع السلاسل الأخرى.
تم إنشاء العديد من المشروعات الشهيرة باستخدام حزمة أدوات Cosmos لتطوير البرمجيات، مثل سلسلة Binance الذكية (BSC) وKAVA وBand Protocol وTerra وIRISnet.


أفكار ختامية

وبوصفه مُحرك سلسلة بلوكشين، جذب Tendermint انتباه العديد من المساهمين في مجال تداول العملات الرقمية، من المطورين حتى المستخدمين النهائيين. 

إذا استمر البرنامج في اكتساب الشعبية، يمكن أن يكون بمثابة حجر الأساس لإنترنت سلاسل البلوكشين. كما رأينا، تم إطلاق عدد قليل من المشروعات بالفعل باستخدام حزمة أدوات Cosmos لتطوير البرمجيات من أجل تحقيق هذه الرؤية.