بسیاری از مردم بر این اصل معتقد هستند که ساختار شبکه های بلاک چین موجود باید تغییر کند زیرا این الگوریتم ها بسیار قدیمی و ناامن هستند. یکی از مواردی که منجر به تغییر قابل توجهی در مکانیسم بلاک چین می شود، تغییر روش هایی است که گره ها برای رسیدن به توافق یا الگوریتم های اجماع استفاده می کنند. در این مقاله می خواهیم در مورد زیرساخت یا پروتکلی به نام الگوریتم تندرمینت (Tendermint) صحبت کنیم. برای درک بهتر اینکه الگوریتم تندرمینت چیست و چگونه کار می کند تا انتهای مطلب با ما همراه شوید.
الگوریتم تندرمینت در ارز دیجیتال چیست؟
الگوریتم تندرمینت (Tendermint Consensus Algorithm) یک الگوریتم اجماع برای ارزهای دیجیتال است که برای حل مسئله امنیت شبکه و تضمین انجام صحیح تراکنش ها بین کاربران استفاده میشود. در این الگوریتم، یک گروه از نودهای شبکه به عنوان اعضای کاندید برای تولید بلاک انتخاب میشوند. سپس یکی از این نودها به عنوان نودهای پایه انتخاب میشود که مسئول تولید بلاک بعدی است. سایر نودها نیز برای تأیید صحت بلاک تولید شده توسط نود پایه، اقدام به انجام محاسبات میکنند. اگر اکثریت از نودها از صحت بلاک مطمئن شوند، بلاک در شبکه تأیید شده و به تاریخچه بلاکهای قبلی اضافه میشود.
در الگوریتم تندرمینت، از کریپتوگرافی برای تضمین امنیت و حریم خصوصی تراکنشها استفاده میشود. همچنین این الگوریتم از تکنولوژی بلاک چین استفاده میکند که تمامی تراکنشها و تغییرات در شبکه را ثبت و ذخیره میکند. استفاده از الگوریتم تندرمینت در ارزهای دیجیتال، باعث افزایش امنیت و شفافیت در شبکههای بلاک چین میشود و باعث ایجاد یک بستر قابل اعتماد برای انجام تراکنشهای مالی و غیرمالی میشود.
هدف از الگوریتم تندرمینت چیست؟
Tendermint از توسعه دهندگان می خواهد که روی لایه برنامه تمرکز کنند و برنامه های غیرمتمرکز بسازند. این پلتفرمی را فراهم می کند که جدا از شبکه و لایه های اجماع بلاک چین است، بنابراین آنها روی دو لایه دیگر به طور همزمان کار نمی کنند.
روش کار با الگوریتم تندرمینت چگونه است؟
Tendermint از یک ساختار ماژولار استفاده می کند که دارای اجزای نرم افزاری مستقل برخلاف ساختار یکپارچه است. این ویژگی امکان تغییر بخشی از برنامه را بدون ایجاد تغییرات قابل توجه در کل سیستم ممکن می کند. این راه حل با توجه به الگوریتم تحمل خطا بیزانس به دست آمده است. یک الگوریتم اثبات سهام BFT با استفاده از یک مدل نیمه همزمان بر مشکل خطای بیزانسی غلبه میکند. این بدان معنی است که اعتباردهنده ها مجبور نیستند، در یک زمان معین، یعنی به طور همزمان اجرا شوند. اعتبارسنجی به طور مرتب انجام می شود و در صورت بروز خطا همان قسمت اصلاح می شود.
الگوریتم تندرمینت (Tendermint) برای کار بر مفروضات طراحی متکی است. این پروتکل از یک ماشین حالت ساده به شرح زیر پیروی می کند. ماشین حالت اصطلاحی از علم کامپیوتر است که طبق آن یک ماشین می تواند چندین حالت داشته باشد. توجه داشته باشید که این دستگاه در هر زمان تنها می تواند یک حالت داشته باشد. این مفهوم در بلاک چین به این معنی است که وقتی یک گره از یک حالت قبلی پیروی می کند و یک فرآیند را اجرا می کند، آخرین مرحله را به همین ترتیب تکمیل می کند.
جهت کسب اطلاعاتی در زمینه آموزش ارز دیجیتال، بر روی لینک کلیک کنید.
این پروتکل توسط اعتبارسنجی ها پیاده سازی می شود. وظایف آنها شامل پیشنهاد و رأی گیری در مورد بلاک های جدید است. هر بلاک پیشنهادی برای رای گیری در صف قرار می گیرد. اگر در زمان رای گیری به شبکه اضافه نشود، پروتکل به دور بعدی می رود. گره بعدی باید یک بلاک برای آن عدد (ارتفاع) پیشنهاد کند. برای افزودن موفقیت آمیز یک بلاک به زنجیره، دو دور رای گیری طول می کشد. این دو مرحله پیش رأی و پیش تعهد نامیده می شوند. یک بلاک زمانی به شبکه اضافه میشود که بیش از دو سوم اعتبارسنجیها آن را از قبل انجام دهند.
برای آشنایی با شاخص آلفا در دیفای بر روی لینک کلیک کنید.
هنگامی که بیش از دو سوم اعتبارسنجی ها به یک بلاک رای می دهند، تیم Tendermint آن را پولکا می نامد. هر اقدام مقدماتی باید توسط یک پولکا در همان سطح تعیین شود. در برخی موارد، اعتبارسنجیها ممکن است نتوانند در این فرآیند شرکت کنند. علت می تواند یک شبکه آفلاین یا کند باشد. پروتکل Tendermint اجازه می دهد تا این گره نادیده گرفته شود. از آنجایی که Tendermint یک الگوریتم اجماع نیمه همزمان است، گرهها میتوانند منتظر بمانند تا یک بلاک کامل پیشنهادی را قبل از رفتن به مرحله بعدی دریافت کنند.
Tendermint با فرض اینکه کمتر از یک سوم اعتباردهنده ها بازیگران بدی هستند یا در بهترین حالت، به شکل خطای بیزانسی، امنیت شبکه را تضمین می کند. به عنوان مثال، الگوریتم Tendermint به گره ها اجازه نمی دهد تا بلاک های دیگر و مخالف را در یک ارتفاع اعمال کنند. این پروتکل از روش قفل کردن استفاده می کند. هنگامی که یک اعتبارسنجی یک بلاک را از پیش تعیین می کند، آن بلاک را قفل می کند. پس از ممنوعیت، آنها باید برای همان بلاکی که برای آن ممنوع شده اند، پیش رای دهند. فقط در صورتی که اعتباردهنده مورد نظر ما از حالت بلاک خارج شود و بتواند بلاک جدیدی را که در دوره پولکا بعدی برای آن بلاک وجود دارد، از قبل تعیین کند.
کدام یک از پروژه ها از تندرمینت استفاده می کنند؟
برخی از پروژه ها از الگوریتم Tendermint و کیت توسعه Cosmos در سیستم خود استفاده می کنند، برخی دیگر نمونه هایی هستند که در اکوسیستم کازماس پیاده سازی شده اند. این پروژه ها شامل شبکه هایی مانند Terra، Oasis، Regen Network، IRISnet و Binance Dex است. همانطور که گفته شد، برخی از پروژه ها نمونه ای از مدل شبکه اصلی اکوسیستم کازماس هستند. یکی از معروف ترین این پروژه ها اتریوم است. این شبکه اترمینت نام دارد.
فناوری استفاده شده در این تبدیل Hard Spoon است. مکانیسم اجماع PoW از اتریوم حذف شده است و دارندگان اتر ارز دیجیتال فوتون را برای پرداخت هزینه های شبکه در Cosmos دریافت خواهند کرد. توسعه دهندگان اتریوم به راحتی می توانند قراردادهای هوشمند خود را به موتور جدید انتقال دهند. این مکانیزم میتواند به کاربران یک دید کلی از پیادهسازی Casper در اتریوم ۲ بدهد.
الگوریتم تندرمینت و اجزای آن
تندرمینت را می توان نرم افزاری دانست که به طور ایمن و پیوسته اجرا می شود و همان برنامه را روی کامپیوترهای مختلف اجرا می کند. منظور از ایمن بودن، حالتی است که اگر یک سوم ماشینها کار نکنند، تندرمینت به کار خود ادامه میدهد. تداوم نیز به معنای حالتی است که در آن ماشین ها یک موقعیت و معامله را می بینند و محاسبه می کنند.
تندرمینت از دو بخش اصلی تشکیل شده است. یکی قسمت یا هسته مرکزی تندرمینت، موتور اجماع و پروتکل شبکه همتا به همتا و دیگری رابط کاربری تندرمینت است که به آن رابط برنامه بلاک چین می گویند. در ادامه به جای رابط برنامه بلاک چین از مخفف ABCI استفاده می کنیم.
ممکن است چندین سوکت ارتباطی بین ABCI و یک برنامه وجود داشته باشد. هسته تندرمینت سه مسیر ارتباطی از ABCI به برنامه ایجاد می کند. یکی برای تایید تراکنش ها پس از انتشار در ممپول، دیگری برای موتور اجماع و بلاک های اجرایی پیشنهادی و دیگری برای پرس و جوها و اطلاعات از وضعیت برنامه است.
هسته تندرمینت
از آنجایی که مکانیسم اجماع مورد استفاده گواه اثبات سهام است، گره ها در مرحله اول به طور تصادفی انتخاب می شوند. این انتخاب بر اساس Round Robin است، به این معنی که همه گره ها دارای نوبت هستند. هر چه استیکینگ یک گره بیشتر باشد، شانس انتخاب شدن آن بیشتر است.
گره انتخاب شده باید یک بلاک را پیشنهاد کند. در صورت موافقت سایر گرهها، بلاک بلافاصله به زنجیره اضافه میشود و برخلاف سایر شبکهها، نیازی به منتظر ماندن برای اعتبارسنجی تراکنش نیست. هسته تندرمینت اطمینان حاصل می کند که تراکنش ها در یک نظم خاص در همه دستگاه ها قرار می گیرند. این بخش یک موتور اجماع BFT بلاک چین و شبکه همتا به همتا است. به طور خلاصه، هسته تندرمینت مسئول به اشتراک گذاری بلاک ها و تراکنش ها بین گره ها و ایجاد نظم متعارف و غیرقابل تغییر تراکنش ها در بلاک چین است.
برای آشنایی با بلاک یتیم بر روی لینک کلیک کنید.
رابط ABCI
با استفاده از ساختار مدولار، تندرمینت لایه برنامه را از لایه های اجماع و شبکه جدا کرده است. بنابراین کسانی که قصد ساخت اپلیکیشن را دارند می توانند بدون در نظر گرفتن لایه های دیگر اپلیکیشن خود را راه اندازی کنند. این ممکن است برای کاربران نهایی یا کاربران معمولی هیجان انگیز نباشد، اما برای توسعه دهندگانی که می توانند برنامه های کاربردی خود را بدون نیاز به راه اندازی کل شبکه ایجاد کنند، بسیار مهم است. یکی دیگر از تمایزهای Tendermint این است که توسعه دهندگان می توانند از هر زبان برنامه نویسی برای انجام تراکنش ها و ایجاد برنامه ها و اتصال به هسته Tendermint و در نهایت بلاک چین از طریق رابط کاربری ABCI استفاده کنند.
برای آشنایی با پروژه های برتر بلاک چین وی چین بر روی لینک کلیک کنید.
رابط ABCI از سه نوع اصلی پیام تشکیل شده است که از هسته به لایه برنامه (لایه برنامه) ارسال می شود.
پیام DeliverTX: هر تراکنش در بلاک چین با این پیام مشخص می شود. برنامه باید هر تراکنش دریافتی را با یک پیام DeliverTX تأیید کند، سپس هر تراکنش تأیید شده باید وضعیت برنامه را بروز کند. این کار، به عنوان مثال، با بروزرسانی پایگاه داده UTXO یا ذخیره مقادیر کلیدی انجام می شود.
پیام CheckT: این پیام مشابه پیام قبلی است اما فقط برای تایید تراکنش ها استفاده می شود. هسته ممپول تندرمینت ابتدا اعتبار تراکنش ها را با یک پیام CheckTX بررسی می کند و در صورت صحت آنها را به همتایان خود ارسال می کند.
Commit: این پیام برای محاسبه رمزگذاری در برنامه وضعیت فعلی و اضافه کردن آن در بلاک هدر بعدی استفاده می شود. یکی از مزایای این ویژگی این است که توسعه مشتریان سبک تر و ایمن تر را آسان تر می کند؛ زیرا اثبات هش مرکل را می توان با بررسی بلاک هش و محدودیت امضا تأیید کرد.
مزایا و معایب الگوریتم تندرمینت (Tendermint) چیست؟
برای آشنایی با پروژه کلایتون در ارز دیجیتال بر روی لینک کلیک کنید.
مزایای تندرمینت
- توان عملیاتی بالا (معاملات به سرعت تایید می شوند)
- مقیاس پذیری افقی (با استفاده از سیستم منطقه بندی)
- پشتیبانی از تمامی زبان های برنامه نویسی
- صرفه جویی در منابع محاسباتی در مقایسه با PoW
معایب تندرمینت
- انگیزه پایین افراد با سپرده کم
- انسداد طولانی سرمایه
نظر بدهید