Tendermint چیست?

Tendermint یک پروتکل سطح پایین است که از دو قطعه اصلی تشکیل شده است: یک موتور اجماع بلاکچین و یک رابط برنامه عمومی. Tendermint Core ، موتور اجماع بلاکچین ، شبکه همتا به همتا را تسهیل می کند و توافق اثبات سهام (PoS) را فراهم می کند. از طرف دیگر ، Application BlockChain Interface (ABCI) به عنوان ابزاری برای اتصال بلاکچینها به پروتکل هسته Tendermint عمل می کند..

هدف از Tendermint این است که a موتور بلاکچین. این به معنای ابزاری است که توسعه دهندگان می توانند با استفاده از آن از رمزنگاری فنی ناسازگار و پرش استفاده کرده و به بلاکچین و توسعه برنامه های بالاتر بپردازند.

هسته نعناع

Tendermint Core یک بسته نرم افزاری منبع باز بسته بندی شده است که از دو قسمت اصلی ساخته شده است. عمدتا ، یک موتور اجماع بلاکچین تحمل گسل بیزانس. در مرحله دوم ، یک پروتکل شبکه P2P.

اجماع عمومی

پخته شده در الگوریتم اجماع Tendermint مفهوم اساسی تحمل گسل بیزانس (BFT) است. برای درک BFT ، لازم است یک نمای کلی از آنچه که حل می کند داشته باشید: مسئله ژنرال های بیزانس.

مدت ها پیش تعدادی از ژنرال ها و ارتش های آنها در تلاش بودند تا به یک شهر حمله کنند. برای شکست دادن شهر ، همه ژنرال ها به حمله همزمان نیاز دارند – مشارکت کمتر از این به معنای از دست دادن ژنرال ها است. مسئله این است که هیچ یک از ژنرال ها به طور قابل اعتماد نمی توانند زمان حمله به شهر را بدانند. همه آنها در هر طرف شهر خلوت بودند و ارتباط بین آنها غیرممکن بود. پیام ها می توانند از بین بروند ، خراب شوند یا جعل شوند.

Tendermint Whitepaper توسط Jae Kwon

مقاله سفید Tendermint توسط Jae Kwon

چالشی که با این ژنرال ها روبرو است وقتی افراد یا پیام های بیشتری وارد کار می شوند به صورت تصاعدی افزایش می یابد. Tendermint’s BFT Proof-of-Stake به صد معتبر اجازه می دهد تا به سرعت و با اطمینان کتابهای خود را در برابر یکدیگر تأیید کنند. به عبارت دیگر ، همه اعتبارسنج ها می دانند چه موقع باید به شهر حمله کنند.

یک الگوریتم BFT Proof-of-Stake با استفاده از یک مدل شبکه تا حدودی همزمان ، بر مسئله کلیات بیزانس غلبه می کند. اساساً ، این بدان معناست که ژنرالهای اطراف شهر – یا اعتبارسنجی که در یک بلوک رأی می دهند – نیازی به اقدام در یک زمان از پیش تعیین شده ندارند. بلوک ها بر اساس یک برنامه یا اندازه از پیش تعیین شده رای داده نمی شوند.

Tendermint با واگذاری اولین پیشنهاد تصدیقی برای تأیید کنندگان به طور تصادفی به این مهم دست می یابد. پس از پیشنهاد بلوک ها ، اعتبارسنج ها در یک روند تعیین کننده چند دور رای می گیرند. به این معنی که مرحله اول کاملاً بی تفاوت است و مرحله دوم از یک دستور تجویز شده پیروی می کند.

با Tendermint ، اعتبار سنج ها بر اساس یک قالب دور گردی وزن تعیین شده چرخانده می شوند. اعتبارسنج هر چه سهم بیشتری داشته باشد ، دفعات بیشتری نیز ممکن است به عنوان رهبر انتخاب شوند. در حال حاضر ، محدودیت پروتکل در صد اعتبار سنج وجود دارد ، اما در صورت لزوم می توان تعداد اعتبار سنج ها را افزایش داد.

رابط Blockchain برنامه ها

در بالای هسته Tendermint قرار دارد ، رابط برنامه BlockChain (ABCI) است. ABCI یک سازگار با تحمل خطای بیزانس است که به هر زبانی نوشته شده است. می توانید برنامه های بلاکچین خود را که به زبان C ++ ، Python ، Solidity یا هر زبان دیگر نوشته شده اند ، روی موتور بلاک چین پیش ساخته BFT تکرار کنید.

ABCI مترجم ، لفافه و سوکت بین برنامه های blockchain و موتور blockchain Tendermint است که روی آن نشسته اند.

مقابله با یکپارچه ها

لایه گذاری ABCI در بالای هسته Tendermint یک گام اساسی در جهت کاهش موانع دسترسی در اطراف توسعه با زنجیره بلوک است..

اکثر سیستم های بلاکچین دارای معماری یکپارچه هستند و اغلب زبانهایی را که می توان بالای آنها نوشت ، محدود می کنند. به عنوان مثال ، ماشین مجازی اتریوم تورینگ کامل bytecode شما را به زبانهایی محدود می کند که با بایت کد سازگار هستند. در حال حاضر ، این فقط مار و جامدادی است.

در مقابل ، ABCI اجازه می دهد تا هر زبان برنامه نویسی در بالا قرار گیرد و همچنان با موتور اصلی Tendermint Core کاملاً سازگار باشد. توسعه دهندگان نیازی به پیروی از یکپارچه واحد زنجیره بلوکی که انتخاب می کنند ، ندارند. در عوض ، آنها می توانند بر روی تدارکات برنامه تمرکز کنند و تقریباً بلاکچین agnostic باقی بمانند.

اکوسیستم Tendermint و Cosmos

اکوسیستم Cosmos شامل Tendermint

آینده Tendermint در کیهان است

سازندگان پروژه منبع باز Tendermint پروژه بسیار بزرگتری به نام Cosmos را اجرا کرده اند. شبکه های Cosmos که با استفاده از اینترنت بلاک چین ساخته شده اند ، با هم برنامه های مبتنی بر Tendermint را ایجاد می کنند.

یک قسمت جالب از Cosmos این است که برای کار در اکوسیستم های Cosmos ، نیازی نیست که در ابتدا برنامه ها در بالای Tendermint ساخته شوند. Cosmos از replicator برنامه Tendermint استفاده می کند قاشق سخت بلاکچین های موجود بر روی هسته Tendermint. Tendermint نه تنها زمینه تولید برنامه های بلاکچین مدولار شده بلکه ماشین شبیه سازی بلاکچین نیز هست..

فقط برای توضیح بیشتر ، در اینجا نحوه توصیف Jae Kwon ، بنیانگذار Tendermint ، یک قاشق سخت است.

“قاشق سخت: یک زنجیره جدید که وضعیت را از یک زنجیره موجود در نظر می گیرد. نه برای رقابت ، بلکه برای دسترسی گسترده. ” – جه کوون

چند پروژه برجسته که به سختی می توانند به Cosmos بروند ، OmiseGo ، 0x و FOAM هستند. رمز هر پروژه سپس در بالای Tendermint وجود خواهد داشت و سپس به شبکه بلاک چین Cosmos پیوند می یابد.

نتیجه

Tendermint Core و ABCI با هم Tendermint را تشکیل می دهند – یک موتور بلاکچین منبع باز برای توسعه دهندگان هر زبان برنامه نویسی برای ساخت. توسعه دهندگان شیفت های Tendermint از رمزنگاری سطح پایین و روی لایه کاربرد تمرکز می کنند.

تشبیه آنچه Tendermint با بلاکچین است ، مقایسه آن با بوم هنرمند است. شما می توانید تعداد بی شماری از ایده ها را روی بوم بیان کنید ، با این حال یک هنرمند مدرن به ندرت نیاز به فکر ساخت و توسعه ایده های خود دارد. Tendermint ، مانند یک بوم ، بنیادی است که می توانید روی آن برنامه های بی پایان بلاکچین اختراع کنید.