کیف پول من

تندرمینت (Tendermint) چیست؟ بررسی معماری ماژولار الگوریتم اجماع برای حفظ امنیت

تاریخ انتشار:
۱۰ اردیبهشت ۱۴۰۲
آخرین به‌روزرسانی:
۲۸ تیر ۱۴۰۵
7228

تندرمینت (Tendermint) در ساده‌ترین تعریف، یک موتور نرم‌افزاری است که وظیفه تایید تراکنش‌ها و تامین امنیت در شبکه‌های بلاک چینی را بر عهده دارد. اما این تعریف، راز اصلی محبوبیت آن در میان مهندسان نرم‌افزار را پنهان می‌کند؛ تندرمینت صرفا یک ابزار جانبی نیست، بلکه پایان دوران پردردسر معماری یکپارچه در ساخت سیستم‌های غیرمتمرکز است.

tendermint

تصور کنید تیمی از برنامه‌نویسان قصد دارند یک اپلیکیشن غیرمتمرکز اختصاصی و کارآمد بسازند. در حالت سنتی، آن‌ها مجبورند پیش از نوشتن حتی یک خط کد برای منطق برنامه، ماه‌ها درگیر طراحی کدهای پیچیده رمزنگاری، پروتکل‌های ارتباطی همتا‌به‌همتا (P2P) و مکانیزم‌های اجماع شوند. این درگیری مداوم با لایه‌های زیرساختی شبکه، نه‌تنها هزینه و زمان توسعه محصول را چند برابر می‌کند، بلکه تمرکز تیم را از خلق ارزش اصلی پروژه کاملا منحرف می‌سازد. در این مقاله، ساختار ماژولار تندرمینت و پروتکل حیاتی ABCI را بررسی می‌کنیم تا ببینیم چگونه این پلتفرم، لایه شبکه را از اپلیکیشن جدا کرده و به شما اجازه می‌دهد بلاک چین اختصاصی خود را با تمرکز کامل بر منطق نرم‌افزار توسعه دهید.

تندرمینت یا Tendermint چیست و چرا ساختار بلاک چین را متحول کرد؟

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

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

مروری بر تاریخچه و اهداف اولیه توسعه تندرمینت

داستان تندرمینت در سال 2014 میلادی توسط فردی به نام جی کوان (Jae Kwon) آغاز شد. در آن زمان، پادشاه بلامنازع دنیای رمزارزها بیت کوین بود که از الگوریتم اثبات کار (Proof of Work: سیستمی که برای تایید تراکنش‌ها و تولید سکه‌های جدید به توان پردازشی دستگاه‌های ماینر و مصرف برق بسیار زیادی نیاز دارد) استفاده می‌کرد. جی کوان متوجه شد که این روش، علیرغم امنیت بالا، به شدت کند است و انرژی زیادی را هدر می‌دهد.

هدف اصلی او از خلق تندرمینت، ایجاد سیستمی بود که بتواند بدون نیاز به ماینرها و مصرف برق، به همان سطح از امنیت دست پیدا کند. او برای این کار از یک مفهوم قدیمی در علوم کامپیوتر به نام تحمل خطای بیزانس (BFT: توانایی یک شبکه برای ادامه‌ی فعالیت امن و هماهنگ، حتی زمانی که برخی از کامپیوترهای متصل به آن خراب شوند یا اطلاعات غلط بفرستند) استفاده کرد. بعدها با پیوستن اتان باکمن (Ethan Buchman) به این پروژه، تندرمینت به ابزاری کامل برای توسعه‌دهندگان تبدیل شد تا بتوانند بلاک چین‌های اختصاصی خودشان را به راحتی بسازند.

تفاوت اساسی تندرمینت با بلاک چین‌های سنتی چیست؟

برای اینکه بدانیم چرا تندرمینت ساختار شبکه‌های بلاک چین را متحول کرد، باید به تفاوت معماری آن با شبکه‌های سنتی نگاه کنیم. بلاک چین‌های قدیمی، دارای یک معماری یکپارچه (Monolithic: سیستمی که در آن تمام بخش‌های شبکه، اجماع و برنامه‌های کاربردی به هم گره خورده‌اند و قابل تفکیک نیستند) بودند. در این سیستم‌ها، اگر یک برنامه‌نویس می‌خواست ایده‌ی جدیدی را پیاده کند، مجبور بود قوانین سخت‌گیرانه‌ی آن شبکه را بپذیرد و حتما زبان برنامه‌نویسی مخصوص همان شبکه را یاد بگیرد.

تندرمینت این ساختار را با معرفی معماری ماژولار (Modular: سیستمی که از بخش‌های مجزا و قابل تعویض تشکیل شده است) تغییر داد. تفاوت‌های اساسی را می‌توان در موارد زیر خلاصه کرد:

  • جداسازی لایه‌ها: تندرمینت لایه‌ی شبکه‌سازی و اجماع (رسیدن به توافق بین نودها یا همان کامپیوترهای متصل به شبکه) را از لایه‌ی برنامه‌ی کاربردی جدا کرد.
  • آزادی در انتخاب زبان برنامه‌نویسی: در شبکه‌های سنتی، شما محدود به زبان‌هایی مانند سالیدیتی (Solidity: زبان اصلی برنامه‌نویسی قراردادهای هوشمند در شبکه اتریوم) بودید. اما با استفاده از تندرمینت، توسعه‌دهندگان می‌توانند برنامه‌ی خود را با هر زبان محبوبی مثل پایتون، سی‌پلاس‌پلاس یا جاوا بنویسند.
  • پل ارتباطی هوشمند: تندرمینت این آزادی عمل را مدیون پروتکلی به نام ABCI است. این پروتکل مانند یک مترجم همزمان عمل می‌کند و دستورات برنامه‌ی شما (با هر زبانی که نوشته شده باشد) را برای موتور تندرمینت ترجمه می‌کند تا شبکه بتواند آن را با سرعت و امنیت بالا اجرا کند.

به طور خلاصه، تندرمینت توسعه‌ی شبکه‌های غیرمتمرکز را از یک کار طاقت‌فرسا و محدودکننده، به یک فرآیند خلاقانه و انعطاف‌پذیر تبدیل کرد.

تفاوت اساسی تندرمینت با بلاک چین‌های سنتی چیست؟ | صرافی کیف پول من

بررسی معماری بلاک چین: قبل و بعد از تندرمینت

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

مشکل معماری یکپارچه Monolithic در سیستم‌های غیرمتمرکز

بلاک چین‌های اولیه مانند بیت کوین و اتریوم، بر اساس یک مدل سنتی به نام معماری یکپارچه (Monolithic: سیستمی که در آن تمام بخش‌های نرم‌افزار به هم گره خورده و در یک قالب بسته و واحد ساخته شده‌اند) طراحی شده بودند. در این شبکه‌ها، سه وظیفه‌ی اصلی شبکه باید در یک برنامه‌ی واحد انجام می‌شد:

  • شبکه‌سازی (Networking): ارتباط بین کامپیوترها یا همان نودها (Node: کامپیوترهای متصل به شبکه که اطلاعات تراکنش‌ها را ذخیره و تایید می‌کنند) برای پخش اطلاعات.
  • اجماع (Consensus): توافق نودها بر سر اینکه کدام تراکنش‌ها معتبر هستند و جلوگیری از تقلب در شبکه.
  • برنامه‌ی کاربردی (Application): قوانین خاصی که تعیین می‌کند تراکنش‌ها چگونه انجام شوند یا قراردادهای هوشمند چگونه کار کنند.

در این ساختار یکپارچه، همه چیز به هم چسبیده بود. مشکل اینجا بود که اگر یک توسعه‌دهنده می‌خواست برنامه‌ی غیرمتمرکز خودش را بسازد، دو راه بیشتر نداشت:

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

راهکار تندرمینت: گذر به معماری ماژولار و تفکیک لایه‌ها

تندرمینت با یک ایده‌ی درخشان وارد میدان شد: چرا باید چرخ را دوباره اختراع کنیم؟ این پلتفرم راهکاری به نام معماری ماژولار (Modular: سیستمی که از بخش‌های مجزا و مستقل تشکیل شده و توسعه‌دهنده می‌تواند هر بخش را به راحتی تغییر دهد یا با بخش دیگری جایگزین کند) را معرفی کرد.

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

جدول مقایسه: معماری سنتی شبکه در برابر زیرساخت مبتنی بر تندرمینت

برای مرور سریع‌تر تفاوت‌ها، جدول زیر به شما کمک می‌کند تا نگاهی جامع به برتری‌های معماری جدید داشته باشید:

ویژگی اصلی

معماری یکپارچه یا سنتی

معماری ماژولار تندرمینت

ساختار کلی شبکه

تمام بخش‌ها (برنامه، شبکه و اجماع) به هم گره خورده‌اند.

بخش شبکه‌سازی و اجماع از برنامه‌ی کاربردی کاملا جدا شده است.

زبان برنامه‌نویسی

توسعه‌دهنده محدود به زبان‌های خاص شبکه است.

توسعه‌دهنده آزادانه می‌تواند از زبان‌های محبوبی مثل پایتون و جاوا استفاده کند.

سرعت توسعه پروژه

بسیار کند (نیاز به ساخت زیرساخت از صفر یا یادگیری ابزار جدید).

بسیار سریع (استفاده از موتور آماده‌ی تندرمینت برای بخش‌های پیچیده).

انعطاف‌پذیری

پایین (توسعه‌دهنده تابع قوانین سخت‌گیرانه‌ی شبکه‌ی میزبان است).

بالا (توسعه‌دهنده قوانین شبکه‌ی اختصاصی خودش را تعیین می‌کند).

تمرکز تیم سازنده

درگیری همزمان با امنیت، کدهای شبکه و منطق برنامه‌ی اصلی.

تمرکز صددرصد روی خلق ارزش و توسعه‌ی برنامه‌ی کاربردی.

اجزای هسته‌ی تندرمینت یا Tendermint Core چگونه کار می‌کنند؟

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

موتور اجماع Consensus Engine: قلب تپنده و هماهنگ‌کننده‌ی شبکه

در هر شبکه‌ی بلاک چین، هزاران کامپیوتر در سراسر دنیا در حال کار هستند. بزرگترین چالش این است که چگونه مطمئن شویم همه‌ی این کامپیوترها یک حرف مشترک می‌زنند و هیچ‌کس تقلب نمی‌کند. این وظیفه‌ی موتور اجماع (Consensus Engine: سیستم توافق جمعی که باعث می‌شود تمام دستگاه‌های متصل به شبکه روی یک نسخه‌ی واحد از اطلاعات به توافق برسند) است.

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

درک پروتکل ABCI یا رابط برنامه‌ی بلاک چین

برای درک بخش دوم، بیایید یک مثال ساده بزنیم. فرض کنید شما مدیر یک شرکت هستید و فقط به زبان فارسی صحبت می‌کنید، اما مهندس ارشد شما فقط ژاپنی بلد است. شما برای کار با یکدیگر به یک مترجم همزمان نیاز دارید.

در دنیای تندرمینت، پروتکل ABCI (مخفف Application Blockchain Interface: یک رابط نرم‌افزاری که به عنوان پل ارتباطی بین موتور شبکه و برنامه‌ی اصلی عمل می‌کند) نقش همین مترجم را بازی می‌کند. هسته‌ی تندرمینت که وظیفه‌ی امنیت و ارتباطات را دارد، باید بتواند با برنامه‌ی شما که قوانین خاص خودش را دارد، صحبت کند. پروتکل ABCI دقیقا در میانه‌ی این دو قرار می‌گیرد و پیام‌های آن‌ها را برای یکدیگر ترجمه می‌کند.

چگونه ABCI به توسعه‌دهندگان اجازه می‌دهد از هر زبان برنامه‌نویسی استفاده کنند؟

جادوی واقعی پروتکل ABCI در اینجا خود را نشان می‌دهد. در شبکه‌های قدیمی، موتور شبکه و برنامه‌ی اصلی به یک زبان واحد نوشته می‌شدند و شما مجبور بودید همان زبان را از صفر یاد بگیرید. اما ABCI از طریق ابزارهایی به نام سوکت (Socket: یک مسیر ارتباطی استاندارد در برنامه‌نویسی که اجازه می‌دهد دو برنامه‌ی کاملا مستقل پیام‌هایی را به یکدیگر ارسال کنند) اطلاعات را جابجا می‌کند.

به لطف این مترجم همزمان، هسته‌ی تندرمینت اصلا اهمیتی نمی‌دهد که شما برنامه‌ی خود را با چه زبانی نوشته‌اید. شما می‌توانید از زبان‌های محبوبی استفاده کنید که از قبل با آن‌ها آشنا هستید، مانند:

  • زبان برنامه‌نویسی پایتون Python
  • زبان سی‌پلاس‌پلاس C++
  • زبان گو Go
  • زبان جاوا Java

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

جریان اطلاعات از لایه‌ی برنامه به لایه‌ی شبکه از طریق پروتکل ABCI

برای اینکه این فرآیند در ذهن شما به خوبی ثبت شود، این ساختار را به شکل یک مسیر سه مرحله‌ای تصور کنید:

  • بخش بالایی (لایه‌ی برنامه‌ی کاربردی): این همان قسمتی است که توسعه‌دهنده با زبان برنامه‌نویسی دلخواه خود، کدهای مربوط به انتقال پول یا قوانین برنامه‌ی خود را می‌نویسد.
  • بخش میانی (پروتکل ABCI): این لایه، پیام‌ها و دستورات لایه‌ی بالایی را دریافت کرده و با یک استاندارد مشخص، به زبان قابل فهم برای موتور شبکه تبدیل می‌کند.
  • بخش پایینی (هسته‌ی تندرمینت): این بخش که شامل موتور اجماع و ابزارهای شبکه‌سازی است، دستورات ترجمه‌شده را دریافت کرده، روی آن‌ها با سایر کامپیوترها توافق می‌کند و اطلاعات را به طور امن در دفتر کل ذخیره می‌کند.

این جریان یکپارچه، نشان‌دهنده‌ی اوج سادگی و کارایی در طراحی نسل جدید شبکه‌های غیرمتمرکز است که کار برنامه‌نویسان را بی‌نهایت راحت‌تر کرده است.

جریان اطلاعات از لایه‌ی برنامه به لایه‌ی شبکه از طریق پروتکل ABCI | صرافی کیف پول من

واکاوی مکانیزم تحمل خطای بیزانس BFT در Tendermint

برای درک اینکه تندرمینت چگونه امنیت شبکه‌ی شما را تامین می‌کند، باید یکی از معروف‌ترین و قدیمی‌ترین معماهای دنیای کامپیوتر را بررسی کنیم. معمایی که سال‌ها ذهن برنامه‌نویسان را درگیر کرده بود و راهکار هوشمندانه‌ی تندرمینت برای آن، یکی از دلایل اصلی موفقیت این پلتفرم است. در این بخش، به سراغ این معما می‌رویم تا ببینیم چطور می‌توانیم به سیستمی که هیچ مدیر مرکزی ندارد اعتماد کنیم.

داستان ژنرال‌های بیزانسی به زبان ساده و ارتباط آن با امنیت شبکه

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

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

این داستان دقیقا وضعیت شبکه‌های بلاک چین را توصیف می‌کند. در دنیای رمزارزها، ژنرال‌ها همان نودها (Node: کامپیوترهای متصل به شبکه‌ی بلاک چین که وظیفه‌ی پردازش و ذخیره‌ی اطلاعات را دارند) هستند. پیام‌رسان‌ها در واقع همان ارتباط اینترنتی بین کامپیوترها هستند که ممکن است قطع شوند. ژنرال‌های خائن نیز نمایانگر نودهای خراب، هک شده یا افراد مخربی هستند که قصد دارند اطلاعات جعلی وارد شبکه کنند. مکانیزم تحمل خطای بیزانس (BFT: قابلیتی در سیستم‌های کامپیوتری که باعث می‌شود شبکه حتی با وجود قطعی اینترنت یا رفتار مخرب برخی اعضا، همچنان به درستی و با امنیت کار کند) راه حلی است که اطمینان می‌دهد نودهای صادق و وفادار همیشه به یک توافق درست می‌رسند.

الگوریتم اجماع تندرمینت چگونه امنیت را در برابر نودهای مخرب و قطعی اینترنت تضمین می‌کند؟

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

الگوریتم تندرمینت بر اساس یک قانون طلایی کار می‌کند: شبکه‌ی شما کاملا امن و فعال می‌ماند، به شرطی که کمتر از یک سوم اعتبارسنج‌ها مخرب یا آفلاین باشند. این یعنی برای تایید هر بلوک از تراکنش‌ها، باید حداقل دو سوم از اعتبارسنج‌ها با آن موافقت کنند.

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

چرا تندرمینت به جای ماینینگ از روش اعتبارسنجی مبتنی بر BFT استفاده می‌کند؟

بسیاری از افراد با شنیدن نام بلاک چین، بلافاصله به یاد دستگاه‌های پر سروصدا و پرمصرف ماینینگ (Mining: فرآیندی که در آن کامپیوترها با حل معماهای پیچیده‌ی ریاضی و مصرف برق بسیار زیاد، تراکنش‌ها را تایید و پاداش دریافت می‌کنند) می‌افتند که در شبکه‌هایی مثل بیت کوین استفاده می‌شود. اما تندرمینت این روش را کنار گذاشته و به سراغ الگوریتم مبتنی بر BFT رفته است. دلایل این انتخاب را می‌توان در موارد زیر خلاصه کرد:

  • صرفه‌جویی عظیم در مصرف انرژی: روش رای‌گیری در تندرمینت نیازی به حل معماهای ریاضی سخت ندارد. بنابراین، نیازی به دستگاه‌های گران‌قیمت ماینر و مصرف برق نجومی نیست و این سیستم کاملا دوستدار محیط زیست است.
  • سرعت بسیار بالای تراکنش‌ها: در سیستم ماینینگ، تایید تراکنش‌ها ممکن است دقایق زیادی طول بکشد. اما اعتبارسنج‌های تندرمینت چون فقط از طریق پیام‌رسانی با هم توافق می‌کنند، می‌توانند هزاران تراکنش را در کسری از ثانیه تایید کنند.
  • نهایی‌شدن فوری تراکنش‌ها: در شبکه‌های مبتنی بر ماینینگ، همیشه این احتمال ضعیف وجود دارد که یک تراکنش تایید شده، پس از مدتی لغو شود؛ به همین دلیل صرافی‌ها معمولا منتظر تاییدات بیشتری می‌مانند. اما تندرمینت دارای ویژگی نهایی‌شدن فوری (Instant Finality: قابلیتی که تضمین می‌کند وقتی تراکنشی در یک بلوک قرار گرفت و تایید شد، دیگر تحت هیچ شرایطی قابل تغییر، بازگشت یا لغو نیست) است. این ویژگی برای ساخت برنامه‌های مالی و بانکی یک ضرورت مطلق و غیرقابل جایگزین است.

بررسی اکوسیستم، کاربردها و پروژه‌های مبتنی بر تندرمینت

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

نقش حیاتی موتور تندرمینت در کیت توسعه کازمس یا Cosmos SDK

احتمالا تا به حال نام شبکه‌ی کازمس را در بازار ارزهای دیجیتال شنیده‌اید. سازندگان این شبکه یک هدف بسیار جاه‌طلبانه داشتند: ساخت اینترنت بلاک چین‌ها (Internet of Blockchains: شبکه‌ای پهناور که در آن بلاک چین‌های مختلف و مستقل می‌توانند به راحتی با یکدیگر ارتباط برقرار کرده و اطلاعات یا پول رد و بدل کنند).

برای رسیدن به این هدف، تیم کازمس ابزاری به نام کیت توسعه کازمس (Cosmos SDK: یک جعبه ابزار برنامه‌نویسی پر از قطعات آماده که به توسعه‌دهندگان اجازه می‌دهد بدون نیاز به نوشتن کدهای تکراری و پیچیده، شبکه‌ی اختصاصی خود را بسازند) را معرفی کرد.

رابطه‌ی تندرمینت و این جعبه ابزار بسیار جذاب است. کیت توسعه‌ی کازمس در واقع کارخانه‌ای است که تمام امکانات لازم برای ساخت یک بلاک چین (مثل سیستم حسابداری، قوانین رای‌گیری و مدیریت توکن‌ها) را در اختیار برنامه‌نویس قرار می‌دهد، اما قلب تپنده و موتور محرک تمام این شبکه‌های ساخته شده، همان تندرمینت است. به لطف ترکیب این دو ابزار، امروزه ساخت یک شبکه‌ی بلاک چین جدید از یک پروژه‌ی چند ساله، به یک کار چند ماهه یا حتی چند هفته‌ای تبدیل شده است.

کوین ATOM و جایگاه آن در تامین امنیت این اکوسیستم

وقتی شبکه‌های مختلفی با استفاده از موتور تندرمینت و جعبه ابزار کازمس ساخته می‌شوند، برای ارتباط با یکدیگر به یک مرکز اصلی نیاز دارند. این مرکز اصلی، کازمس هاب (Cosmos Hub: اولین و مهم‌ترین شبکه‌ی ساخته شده در این اکوسیستم که نقش یک چهارراه مرکزی را برای اتصال سایر بلاک چین‌ها بازی می‌کند) نام دارد.

کوین اختصاصی این شبکه‌ی مرکزی، اتم (ATOM) نامیده می‌شود. برخلاف بیت کوین که ماینرها با دستگاه‌های پرمصرف خود امنیت آن را تامین می‌کنند، شبکه‌ی کازمس برای تامین امنیت خود به کوین‌های ATOM متکی است. اما چگونه؟

در اینجا از روشی به نام استیکینگ (Staking: فرآیندی که در آن سرمایه‌گذاران، ارزهای دیجیتال خود را در شبکه‌ی قفل می‌کنند تا به عنوان تضمینی برای عملکرد درست و صادقانه‌ی سیستم استفاده شود) استفاده می‌شود. در این سیستم، افرادی که می‌خواهند تراکنش‌ها را تایید کنند، باید با خرید ارز ATOM مقدار زیادی از این ارز را به عنوان وثیقه در شبکه قرار دهند. اگر آن‌ها کار خود را به درستی انجام دهند، به عنوان پاداش کوین‌های ATOM بیشتری دریافت می‌کنند. اما اگر قصد تقلب داشته باشند، شبکه‌ی مبتنی بر الگوریتم تندرمینت بلافاصله متوجه شده و سرمایه‌ی قفل شده‌ی آن‌ها را جریمه و نابود می‌کند. بنابراین، کوین ATOM فقط یک پول دیجیتال نیست، بلکه ابزار اصلی برای حفظ امنیت و نظم در این اکوسیستم پهناور است.

کوین ATOM و جایگاه آن در تامین امنیت این اکوسیستم | صرافی کیف پول من

بررسی پروژه‌ها و شبکه‌های محبوبی که روی معماری تندرمینت بنا شده‌اند

تا به امروز، ده‌ها پروژه‌ی میلیارد دلاری و موفق با استفاده از موتور تندرمینت و ابزارهای کازمس ساخته شده‌اند. این موضوع نشان می‌دهد که معماری تندرمینت فقط یک ایده‌ی تئوری نیست، بلکه در عمل کاملا اثبات شده است. در ادامه به چند نمونه از شناخته‌شده‌ترین پروژه‌های این اکوسیستم اشاره می‌کنیم:

  • شبکه‌ی بایننس (BNB Chain): بزرگترین صرافی ارز دیجیتال دنیا یعنی بایننس، برای ساخت بلاک چین اختصاصی خود از معماری پایه‌ی تندرمینت و کازمس الهام گرفت. سرعت بالا و کارمزدهای بسیار پایین شبکه‌ی بایننس، تا حد زیادی مدیون همین ساختار مهندسی شده است.
  • ازموسیس (Osmosis): یکی از محبوب‌ترین برنامه‌های این اکوسیستم است که به عنوان یک صرافی غیرمتمرکز (Decentralized Exchange: بازاری آنلاین که در آن کاربران می‌توانند ارزهای دیجیتال خود را مستقیما و بدون نیاز به هیچ شرکت واسطه‌ای با دیگران معامله کنند) فعالیت می‌کند. موتور تندرمینت به ازموسیس اجازه می‌دهد تا روزانه هزاران معامله را با سرعت بالا و بدون توقف پردازش کند.
  • شبکه‌ی تورچین (THORChain): این پروژه یک شبکه‌ی بسیار نوآورانه است که به کاربران اجازه می‌دهد ارزهای دیجیتال شبکه‌های کاملا متفاوت (مثلا بیت کوین و اتریوم) را به طور مستقیم با یکدیگر تبادل کنند. تامین امنیت این مسیرهای ارتباطی پیچیده، با کمک زیرساخت‌های تندرمینت انجام می‌شود.
  • سلستیا (Celestia): یکی از پروژه‌های جدید و بسیار پرطرفدار است که معماری ماژولار تندرمینت را یک قدم جلوتر برده و فضایی را ایجاد کرده که توسعه‌دهندگان بتوانند شبکه‌های خود را با هزینه‌ی بسیار کمتری راه‌اندازی کنند.

موفقیت این پروژه‌ها ثابت می‌کند که تندرمینت توانسته است رویای ساخت برنامه‌های غیرمتمرکز سریع، امن و مستقل را به یک واقعیت در دسترس تبدیل کند.

مزایا، چالش‌ها و چشم‌انداز آینده‌ی تندرمینت

هر فناوری جدیدی که معرفی می‌شود، در کنار تمام شگفتی‌ها و راهکارهای جذابی که ارائه می‌دهد، نقاط ضعف و محدودیت‌های خاص خودش را نیز دارد. تندرمینت هم از این قاعده مستثنی نیست. برای اینکه دید کاملی نسبت به این موتور قدرتمند داشته باشیم، در این بخش کفه ترازوی مزایا و چالش‌های آن را بررسی می‌کنیم و نگاهی به آینده‌ی آن در دنیای اینترنت جدید می‌اندازیم.

برتری‌های کلیدی: نهایی‌شدن فوری تراکنش‌ها Instant Finality و مقیاس‌پذیری بالا

بزرگترین دستاورد تندرمینت برای توسعه‌دهندگان، حل کردن دو مشکل تاریخی در شبکه‌های قدیمی است. بیایید این دو مزیت را به زبان ساده بررسی کنیم:

  • نهایی‌شدن فوری تراکنش‌ها (Instant Finality): در شبکه‌ای مانند بیت کوین، وقتی شما پولی را منتقل می‌کنید، باید منتظر بمانید تا چند بلوک جدید ساخته شود تا مطمئن شوید تراکنش شما قطعی شده و هرگز برگشت نمی‌خورد. این فرآیند شبیه به دریافت یک چک بانکی است که برای نقد شدن آن باید چند روز صبر کنید. اما در تندرمینت، به محض اینکه شبکه‌ی اعتبارسنج‌ها یک بلوک را تایید می‌کنند، کار تمام است. این سیستم شبیه به کارت کشیدن در دستگاه کارتخوان است؛ پول در همان لحظه منتقل شده و تراکنش تحت هیچ شرایطی لغو یا بازگردانده نمی‌شود. این قابلیت برای ساخت صرافی‌ها و برنامه‌های مالی بسیار حیاتی است.
  • مقیاس‌پذیری بالا (Scalability): مقیاس‌پذیری یعنی توانایی شبکه‌ی شما برای پردازش تعداد بسیار زیادی تراکنش در یک زمان کوتاه، بدون اینکه سرعت شبکه افت کند یا کارمزدهای آن به شدت گران شود. موتور تندرمینت به دلیل استفاده از روش رای‌گیری سریع (به جای حل معماهای زمان‌بر ماینینگ)، می‌تواند هزاران تراکنش را در هر ثانیه پردازش کند و شبکه‌ای روان و ارزان را در اختیار کاربران قرار دهد.

بررسی چالش‌ها و محدودیت‌های توسعه در بستر تندرمینت

با وجود تمام این ویژگی‌های عالی، برنامه‌نویسانی که قصد استفاده از تندرمینت را دارند، باید با چند چالش مهم نیز دست‌وپنجه نرم کنند:

  • محدودیت در تعداد اعتبارسنج‌ها: در بخش‌های قبل گفتیم که نودهای اعتبارسنج برای تایید تراکنش‌ها باید دائما با یکدیگر پیام رد و بدل کنند. حالا تصور کنید به جای 100 نفر، 10 هزار نفر بخواهند همزمان با هم صحبت کنند و به یک توافق برسند؛ قطعا سرعت شبکه به شدت افت می‌کند. به همین دلیل، شبکه‌های مبتنی بر تندرمینت معمولا تعداد اعتبارسنج‌های خود را محدود نگه می‌دارند (مثلا بین 100 تا 300 کامپیوتر). این موضوع باعث ایجاد نگرانی‌هایی درباره‌ی تمرکزگرایی (Centralization: حالتی که قدرت تایید اطلاعات و کنترل شبکه در دست تعداد نسبتا کمی از افراد قرار می‌گیرد) می‌شود که با روح اصلی دنیای ارزهای دیجیتال کمی در تضاد است.
  • پیچیدگی در راه‌اندازی اولیه: هرچند تندرمینت لایه‌ی شبکه را از برنامه‌نویسی جدا کرده است، اما ساخت یک بلاک چین کاملا مستقل و جدید، همچنان نیازمند دانش فنی بسیار بالایی در زمینه معماری نرم‌افزار است. برای یک توسعه‌دهنده‌ی تازه‌کار، نوشتن یک قرارداد هوشمند ساده روی شبکه‌ی اتریوم بسیار راحت‌تر از راه‌اندازی یک شبکه‌ی اختصاصی با تمام قوانین خاص خودش در بستر تندرمینت است.

تاثیر تندرمینت بر آینده‌ی زیرساخت‌های وب 3 و ارتباط میان‌زنجیره‌ای Cross-chain

برای درک آینده، باید با دو مفهوم مهم آشنا شویم:

  • وب 3 (Web0: نسل جدید اینترنت که توسط هیچ شرکت مرکزی کنترل نمی‌شود و کاربران مالکیت کامل داده‌ها و دارایی‌های خود را دارند)
  • ارتباط میان‌زنجیره‌ای (Cross-chain: قابلیت تبادل اطلاعات و ارزش بین دو شبکه‌ی بلاک چین کاملا متفاوت و مستقل)

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

موتور تندرمینت زیرساخت استانداردی را فراهم کرده است که به کمک پروتکلی به نام ارتباط بین‌بلاک‌چینی یا IBC، شبکه‌های مختلف می‌توانند زبان یکدیگر را بفهمند. به لطف این تکنولوژی، در آینده‌ی نزدیک شما می‌توانید ارز دیجیتال خود را از یک شبکه، به صورت مستقیم و در کسری از ثانیه به یک شبکه‌ی کاملا متفاوت ارسال کنید یا از برنامه‌های کاربردی شبکه‌های مختلف به صورت همزمان استفاده کنید. در واقع، تندرمینت در حال تبدیل کردن جزیره‌های پراکنده‌ی رمزارزها به یک قاره‌ی بزرگ، یکپارچه و قدرتمند در دنیای وب 3 است.

منابع:

Kanga.Exchange

Gate

Binance

واکنش شما به این خبر چیست؟
5
0

سوالات متداول

4.9/5
writer image
فائزه آذری
نویسنده

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

مشاهده پروفایل

دیدگاه‌های کاربران

تا کنون 46 کاربر در مورد تندرمینت (Tendermint) چیست؟ بررسی معماری ماژولار الگوریتم اجماع برای حفظ امنیت دیدگاه و تحلیل ثبت کرده اند
سامان پورسلطانی
2 سال قبل
مقالات فنی شاید بکار همه نیایند ولی از جهت معلومات فنی بسیار خوب میباشند
0
0
ایمان قره چاهی
2 سال قبل
حتما از بخش وبلاگ من بخاطر جوایز استفاده کنید و کامنت ثبت کنید
0
0
محسن قائمی
2 سال قبل
بسیار قوی وزیبا
0
0
زهرا احمدی
2 سال قبل
جامع وکاربردی
0
0

افزودن دیدگاه

با ثبت‌نام در صرافی کیف پول من و ارسال تحلیل و نظر در سایت ارز دیجیتال رایگان هدیه بگیرید. نظر یا تحلیل شما حداقل باید ۱۰ کلمه باشد و تکراری نباشد.
به این مطلب چند امتیاز می‌دهید؟
انتخاب کنید

ویدئو رسانه

در بخش ویدئو رسانه، می‌توانید به آموزش‌ها، تحلیل‌ها و محتوای ویدیویی جذاب درباره ارزهای دیجیتال و خدمات ما دسترسی پیدا کنید.