الگوریتم اجماع تندرمینت چیست؟
تندرمینت (Tendermint) یک الگوریتم اجماع در بلاکچین است که در سال 2014 توسط طراح نرمافزار بلاکچین جائه کوان و بیوفیزیکدان اینترنت ایثن بوچمن خلق شد. این الگوریتم برای حل خطای بیزانسی (BFT) توسعه یافته و با استفاده از الگوریتم مدل اثبات سهام (PoS) اطمینان میدهد تراکنشها بهصورت امن، سریع و با ترتیب یکسان در تمام گرهها ثبت شوند.
الگوریتم اجماع تندرمینت از دو مولفه اصلی به نامهای Tendermint Core و ABCI تشکیل شده است. بهطور کلی Tendermint Core وظیفه اجماع و هماهنگی در شبکه بلاکچین را برعهده دارد و میتواند با بلاکچینهای درون و خارج از شبکه ارتباط برقرار کند. اما ABCI اتصال لایه اجماع به لایه منطق کاربردی را ممکن میکند و به توسعهدهندگان اجازه میدهد با هر زبان برنامهنویسی، بلاکچین جدید بسازند.
تحمل خطای بیزانس چیست؟
همانطور که پیشتر به آن اشاره کردیم الگوریتم اجماع تندرمینت برای حل مشکل خطای بیزانس راهاندازی شده با در نظر داشتن این موضوع اکنون ممکن است این سوال برایتان ایجاد شود که خطای بیزانس چیست؟
خطای بیزانس (BFT) وضعیتی در سیستمهای توزیعشده است که برخی گرهها به دلیل خطای نرمافزاری، خرابی سختافزاری یا رفتار مخرب، اطلاعات نادرست یا متناقض ارسال میکنند. این اصلاح ابتدا از فرضیهای به نام مشکل ژنرالهای بیزانسی الگو گرفته شده است. در حقیقت ژنرال بیزانسی یک ارتش بزرگ است که در یک مکان مشخص قرار دارند. این ارتش باید بهصورت گروهی تصمیماتی بگیرند و به اجماع برسند.
بهطور کلی اگر ارتش بیزانسی بهصورت دسته جمعی تصمیم بگیرند احتمال موفقیت آنها بیشتر میشود. اما اگر ارتباط آنها خوب نباشد یا خیانتی در ارتش رخ دهد، باعث میشود تمامی ژنرالها بهصورت انفرادی تصمیم خود را اجرا کنند که این ناهماهنگی در میان ارتش منجر به مشکلاتی میشود که همان خطای بیزانس نام دارد. اما خطای بیزانس چه ارتباطی با فناوری بلاکچین دارد؟
نظریه BFT چندین سال قدمت دارد و فناوری بلاکچین تنها یک اصطلاح در فضای مدرنتر است. در شبکههای بلاکچین و پایگاههای داده توزیعشده، خطای بیزانس اهمیت ویژهای دارد، زیرا گرهها ممکن است به دلیل خطای نرمافزاری، خرابی سختافزاری یا حملات سایبری رفتار غیرمنتظرهای داشته باشند. الگوریتمهای مبتنی بر BFT تضمین میکنند که حتی اگر تا یک سوم از گرهها خراب یا مخرب باشند، شبکه همچنان میتواند به اجماع صحیح برسد. به بیان ساده، تحمل خطای بیزانسی تضمین میکند که یک سیستم غیرمتمرکز در برابر دروغگویی یا خطا مقاوم باقی بماند و دادههای آن همواره معتبر و قابل اعتماد باشند.
الگوریتم تحمل خطای بیزانس چیست؟
الگوریتم تحمل خطای بیزانس با نام PBFT شناخته میشود و یک مکانیزم اجماع قدرتمند است که بر پایه همکاری میان گره اصلی و گرههای کمکی عمل میکند. هدف اصلی این الگوریتم ایجاد هماهنگی و توافق میان گرهها برای رفع چالش مشهور به مسئله ژنرالهای بیزانسی است. PBFT برخلاف الگوریتمهای مبتنی بر اثبات کار، رویکردی کارآمدتر در تصمیمگیری جمعی ارائه میدهد و باعث میشود سیستم به شکلی هماهنگ و یکپارچه عمل کند.
به طور کلی، در فرایند کار PBFT ابتدا مشتری درخواست خود را به گره اصلی ارسال میکند. سپس گره اصلی این درخواست را برای دیگر گرههای ثانویه پخش میکند. از همین رو هر یک از گرهها پس از دریافت درخواست، آن را پردازش میکند. در پایان، مشتری پاسخهای دریافتی از گرهها را بررسی میکند و زمانی نتیجه معتبر خواهد بود که پاسخ یکسانی از سوی اکثریت گرهها دریافت کرده باشد. قابل ذکر است که در الگوریتم PBFT، تعداد گرههای خراب یا دچار خطا حداکثر میتواند کمتر از یک سوم کل گرههای موجود باشد؛ در غیر این صورت سیستم دیگر قادر به تضمین اجماع نخواهد بود.
الگوریتم اجماع تندرمینت چه ویژگی هایی دارد؟
اکنون با مفهوم الگوریتم اجماع تندرمینت و تحمل خطای بیزانس آشنا شدید بهتر است بدانید که این الگوریتم از ویژگیهای بسیار زیادی برخوردار است و همین ویژگیها باعث متمایز شدن Tendermint نسبت به سایر الگوریتمهای اجماع شده است. با در نظر داشتن این موضوع در این بخش قصد داریم مهمترین ویژگیهای الگوریتم اجماع تندرمینت را به شما معرفی کنیم:
سازگاری با بلاکچین خصوصی و عمومی: از آنجایی که الگوریتم اجماع تندرمینت به کمک هسته Tendermint Core فعالیت میکند، امکان سازگاری با بلاکچینهای خصوصی و عمومی را دارد. از همین رو، توسعهدهندگان بلاکچین های خصوصی و عمومی میتوانند برای پروتکل اجماع خود از این الگوریتم استفاده کنند.
عملکرد فنی بالا: سازوکار الگوریتم اجماع تندرمینت سرعت ساخت بلوک را به یک ثانیه کاهش داده است. با در نظر داشتن این موضوع اگر زیرساختی که تندرمینت بر روی آن فعالیت میکند توانایی لازم را داشته باشد، این الگوریتم میتواند حجم 10000 تراکنش در ثانیه را برای تراکنشهای 250 بایتی انجام دهد.
ایمنی بالا: الگوریتم اجماع تندرمینت از امنیت بالایی دارد و شرکت کنندگان خود را وادار میکند که در قبال اقدامات خود پاسخگو باشند. همچنین این الگوریتم به طور بهینه نسبت به خطای بیزانسی مقاوم است.
مقیاس پذیری بالا: پروتکل اجماع تندرمینت از توانایی عملیاتی بالایی برخوردار است و امکان تایید تراکنشها با سرعت زیاد و تعداد بالا را فراهم میکند. بنابراین نسبت به بسیاری از الگوریتمهای اجماع مقیاس پذیری بالاتری دارد.
تندرمینت چگونه کار می کند؟
الگوریتم اجماع تندرمینت (Tendermint) یکی از مهمترین پروتکلهای اجماع در حوزه بلاکچین است که بر پایه معماری ماژولار طراحی شده است. در معماری تندرمینت، اجزای نرمافزاری به صورت مستقل عمل میکنند و همین موضوع امکان تغییر بخشی از سیستم را بدون دستکاری در کل ساختار فراهم میسازد. تندرمینت با تکیه بر تحمل خطای بیزانس (BFT) و مدل نیمههمزمان کار میکند؛ به این معنا که اعتبارسنجها (Validators) الزامی به اجرای همزمان وظایف خود ندارند و فرایند اجماع بهصورت دورهای انجام میشود.
مبنای کار این پروتکل بر ماشین حالت (State Machine) است؛ مفهومی که بیان میکند سیستم میتواند چند حالت مختلف داشته باشد، اما در هر لحظه تنها در یک حالت مشخص قرار میگیرد. برهمین اساس، هر نود موظف است در صورت ورود به یک وضعیت، همان مسیر را تا پایان دنبال کند. در فرایند اجماع، اعتبارسنجها بلاکهای جدید را پیشنهاد داده و سپس در دو مرحله Pre-Vote و Pre-Commit به آنها رای میدهند.
تنها زمانی یک بلاک به زنجیره افزوده میشود که بیش از دو سوم اعتبارسنجها آن را Pre-Commit کنند. همچنین بهتر است بدانید که استفاده از مکانیزم قفلگذاری نیز مانع از ثبت بلاکهای متناقض در یک ارتفاع (Height) میشود و امنیت شبکه را حتی در شرایط حضور نودهای خطاکار تضمین میکند.
جمع بندی
الگوریتم اجماع تندرمینت (Tendermint) یکی از نوآوریهای مهم در دنیای بلاکچین است که با هدف رفع مشکلات الگوریتمهای اثبات کار و اثبات سهام طراحی شده است. این الگوریتم بر پایه تحمل خطای بیزانس (BFT) عمل میکند و اطمینان میدهد حتی در صورت وجود گرههای خطاکار، شبکه همچنان ایمن و هماهنگ باقی بماند. این الگوریتم از ویژگیهای زیادی همچون معماری ماژولار، سرعت بالا در پردازش تراکنشها، مقیاسپذیری مناسب و سازگاری با بلاکچینهای عمومی و خصوصی برخوردار است و با ترکیب امنیت، سرعت و کارایی، توانسته راهکاری قدرتمند برای اجماع در شبکههای غیرمتمرکز ارائه دهد.
سوالات متداول
-
آیا الگوریتم اجماع تندرمینت مصرف انرژی بالایی دارد؟خیر، مصرف انرژی تندرمینت برخلاف الگوریتم اثبات کار، بسیار پایین است.
-
تندرمینت چه تفاوتی با الگوریتم اثبات سهام ساده دارد؟الگوریتم اجماع تندرمینت نسخهای پیشرفته است که علاوه بر PoS، از مکانیزم BFT برای امنیت بیشتر استفاده میکند.
-
آیا تندرمینت برای کاربران عادی نیز فایده دارد؟بله، الگوریتم تندرمینت تایید تراکنشها را با سرعت بالا انجام میدهد و کارمزدها را کاهش میدهد.