ما هو Tendermint

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

تم تصميم Tendermint بشكل أساسي كآلية إجماع أكثر كفاءة وأمانًا لبروتوكول إثبات عمل Bitcoin ، وقد تطورت على مدار فترة وجودها وهي الآن محرك الإجماع الأساسي لشبكة Cosmos.

ما هو Tendermint

خلفية Tendermint

Tendermint هو مشروع مفتوح المصدر اقترحه Jae Kwon في عام 2014 في أكاديمية النشر هذا قديم الآن ولكنه قراءة رائعة إذا كان لديك الوقت. إنه يعالج مشكلة النسخ الآمن والمتسق في أجهزة الحالة التي يصعب تحقيقها بطبيعتها.

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

التسامح البيزنطي العملي

قراءة: ما هو إجماع ناكاموتو?

نتيجة لذلك ، تم تحسين المفهوم الأولي لـ Tendermint على مر السنين لتسهيل استخدامه كمحرك إجماع blockchain للأغراض العامة مع واجهة تطبيق خاصة. حاليًا ، Tendermint هو محرك البنية التحتية لشبكة Cosmos – وهي عبارة عن نظام أساسي لإطار عمل متعدد السلاسل – يُعرف عمومًا باسم “Internet of Blockchains”.

بشكل عام ، تتمتع Tendermint ببعض القدرات الفريدة والتكنولوجيا المثيرة للاهتمام. فكيف يعمل?

كيف يعمل?

Tendermint هو محرك blockchain للأغراض العامة يمكنه استضافة حالات تطبيق تعسفية ويتكون بشكل أساسي من مكونين رئيسيين:

  1. Tendermint Core – محرك إجماع Tendermint BFT
  2. واجهة BlockChain للتطبيق (ABCI) – تتيح نسخ BFT للتطبيقات المكتوبة بأي لغة برمجة

يعمل Tendermint كملف إثبات الحصة البروتوكول الذي هو BFT. تم تصميمها كأداة للتوصيل والتشغيل ، فهي سهلة الاستخدام ومصممة للتشغيل البيني الفعال. يمكن تنفيذه بفعالية كآلية إجماع لأي شبكة blockchain. يفصل ABCI آلية الإجماع عن طبقة P2P لحالة التطبيق ويتيح واجهة نظيفة بين منطق التطبيق ومحرك الإجماع.

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

نواة Tendermint

يضمن محرك الإجماع الأساسي لبرنامج Tendermint العام ، Tendermint Core أن الأجهزة الموجودة في الشبكة الموزعة تسجل ترتيب المعاملات بنفس الطريقة. نظرًا لأن Tendermint هي آلية إجماع لـ BFT ، فإنها تضع نفس الافتراضات مثل أنظمة BFT الأخرى ، وتحديداً أنه لا يمكن أن يكون أكثر من ⅓ من العقد في الشبكة بيزنطية في أي حالة معينة.

وبالمثل ، فإنه يستخدم آلية التصويت على أساس الجولة مثل آليات BFT الأخرى. لوضع المفهوم في السياق بشكل أفضل ، يوجد أدناه قائمة بآليات BFT المماثلة لاختيار العقدة الرائدة في كل جولة:

  • يستخدم BFT العملي تنسيق نمط round-robin لاختيار العقدة الرائدة لكل جولة.
  • يستخدم إثبات الوقت المنقضي مؤقتًا عشوائيًا داخل SGX لعملية اختيار القائد.
  • يستخدم Bitcoin إجماع ناكاموتو ، حيث يتم حل إثبات عمل اللغز الحسابي بتنسيق يشبه اليانصيب لتحديد قائد كل جولة (التعدين).

يستخدم Tendermint إصدارًا محسنًا مصممًا لتوسيع نطاق آلاف المعاملات في الثانية والسماح بوظيفة التوصيل والتشغيل السهلة. يمكننا تقسيم الجولة في Tendermint BFT إلى 3 مراحل:

  • اقتراح الحظر
  • التصويت المسبق
  • ما قبل ارتكاب

المشاركون في البروتوكول هم المدققون. يقترح المدققون الكتل في الشبكة ويصوتون عليها بناءً على حصتهم الإجمالية في الجولة. لذلك ، يعتمد افتراض ⅓ BFT على “وزن” كل مدقق – يتم تحديده من خلال حصتهم المرتبطة – بدلاً من من إجمالي العقد المشاركة.

يحتفظ المدققون بعقدة العميل الكامل مع نسخة من blockchain ويستخدمون المفاتيح العامة كمعرفات لهم. ال اقتراح كتلة المرحلة هي عندما يقترح المدقق كتلة جديدة في جولة.

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

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

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

Tendermint هو في الغالب غير متزامن (أو متزامن بشكل ضعيف) لذلك قد يستغرق الأمر عدة جولات قبل أن يتم تنفيذ الكتلة. تكون عملية الاقتراح متزامنة جزئيًا بينما تكون عملية التصويت غير متزامنة. وفقًا لـ Tendermint:

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

نظرًا لتصميمه ، يضمن Tendermint عدم انتهاك السلامة أبدًا ، لذلك لن تتشعب Tendermint blockchain أبدًا. ومع ذلك ، يمكن للشبكة أن تتوقف بسبب اشتراط أن يكون للغالبية العظمى من المدققين وقت تشغيل بنسبة 100٪.

بشكل عام ، تضحي آلية الإجماع بدرجة من الحيوية من أجل سلامة الإجماع والنهاية الفورية.

واجهة BlockChain للتطبيق (ABCI)

يعد ABCI مكونًا مهمًا لمرونة Tendermint ويسمح بتكرار BFT للتطبيقات ليتم كتابتها بأي لغة برمجة.

يصف Tendermint الدافع وراء ABCI على أنه تصميم مكدس مترابط لمنصات العملة المشفرة الحالية مثل Bitcoin و Ethereum. تؤدي التصميمات المتجانسة إلى تعقيدات صيانة البروتوكول وتحد من قدرة لغات البرمجة الأخرى على التفاعل مع blockchain. على سبيل المثال ، يدعم Ethereum آلة افتراضية برمجية ثنائية Turing كاملة ، لكن لغات البرمجة تقتصر على تلك التي يمكن تجميعها وصولاً إلى الرمز الثانوي مثل Solidity و Vyper.

التنفيذ الأساسي لـ ABCI هو بروتوكول Tendermint Socket Protocol (TSP) وهو كيفية تواصل Tendermint Core مع التطبيق. بينما يكون Tendermint Core مسؤولاً عن الحفاظ على الترتيب الأساسي للمعاملات والتحقق منه في كتل blockchain ، يتحقق ABCI من صحة التوقيعات المشفرة ، ويحافظ على قاعدة بيانات المعاملات ، ويسمح للعملاء بالاستعلام عن قاعدة بيانات المعاملات.

يستخدم ABCI ثلاثة أنواع أساسية من الرسائل:

  • DeliverTX
  • CheckTX
  • ارتكب

ال DeliverTX ترافق الرسالة كل معاملة في blockchain ويمكنها فقط تحديث حالة التطبيق بعد التحقق من صحتها.

ال CheckTX الرسالة للتحقق من صحة المعاملات وتم التحقق منها لأول مرة بواسطة مجموعة mempool التابعة لـ Tendermint Core. يتم نشر المعاملات الصالحة فقط عبر الشبكة.

ال ارتكب تحسب الرسالة التزامًا بحالة التطبيق الحالية ، مما يتيح التحقق من إثباتات Merkle مقابل تجزئة الكتلة التي تم توقيعها بواسطة النصاب.

ABCI موجه نحو الاتصال ، ويحافظ Tendermint Core على ثلاثة اتصالات ABCI بالتطبيق.

  • اتصال Mempool
  • اتصال توافقي
  • اتصال الاستعلام

ال اتصال Mempool يستخدم رسالة CheckTX وهو للتحقق مما إذا كان يجب ترحيل المعاملات قبل الالتزام بها.

ال اتصال توافقي ينفذ المعاملات التي تم ارتكابها.

ال اتصال الاستعلام يسمح للعملاء بالاستعلام عن حالة التطبيق.

يعد ABCI مكونًا ديناميكيًا لبرنامج Tendermint وهو جزء لا يتجزأ من قدرة إطار العمل متعدد السلاسل لشبكة Cosmos ، والتي تعمل كمحرك أساسي لـ blockchain.

ائتمان الصورة – توثيق Tendermint

تندرمينت & شبكة كوزموس

شبكة كوزموس هو إطار عمل blockchain متعدد السلاسل يركز على معالجة القضايا الرئيسية المتعلقة بقابلية التوسع وقابلية التشغيل البيني لأنظمة blockchain.

إمكانية التشغيل البيني لـ Blockchain

قراءة: التشغيل البيني لـ Blockchain: المشكلات & حلول المستقبل

يتم تشغيله بواسطة محرك Tendermint الكلاسيكي BFT blockchain ويعمل كهيكل أوسع للكتل المتسلسلة المستقلة للتوصيل والعمل ضمن بيئة قياسية للاتصالات. تسمح الشبكة لكل من البلوكشين العامة والخاصة بالتواصل وتبادل القيمة مع بعضها البعض وتعزز قابلية التشغيل البيني من خلال دليل Tendermint لآلية إجماع الأسهم.

علاوة على ذلك ، فإن ABCI الخاص بـ Tendermint يمكّن المطورين من بناء سلاسل سلاسل متنوّعة بسهولة كجزء من النظام البيئي ، باستخدام أي لغة برمجة. ال كوزموس SDK هو إطار عمل ABCI مكتوب بلغة برمجة Go ، و غسول شبيبة هو إطار عمل ABCI مكتوب بلغة JavaScript.

هناك إثارة كبيرة تحيط بالأطر متعددة السلاسل مثل Cosmos و Polkadot. يمكنك العثور على مزيد من المعلومات والموارد حول Cosmos وتكاملها مع Tendermint في توثيق.

استنتاج

يمثل Tendermint تقدمًا آخر في البحث والتطوير في التسامح البيزنطي للخطأ في الشبكات الموزعة ، وخاصة أنظمة blockchain. تعد هذه الأنواع من الابتكارات ضرورية لتطوير شبكات blockchain أكثر قابلية للتطوير والتشغيل البيني مثل Cosmos.

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

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me