صفحه اصلی / آموزش / ارز دیجیتال / تنگل (Tangle) چیست؟

تنگل (Tangle) چیست؟

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

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

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

شبکه آیوتا و DAG

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

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

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

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

تنگل (Tangle)

هر تراکنش توسط راس های گراف مشخص می‌شود و خطوط جهت دار نیز بیانگر تاییدهای بین هر تراکنش می‌باشد. هر تراکنش ورودی برای تایید شدن باید دو تراکنش قبلی را تایید کند. در نتیجه، خطوط جهت دار بیانگر ارتباط هر تراکنش به تراکنش قبلی می‌باشد. برای مثال، تراکنش ۵، تراکنش های ۲ و ۳ را به طور مستقیم و تراکنش ۱ را به طور غیرمستقیم تایید می‌کند.

این نکته نیز قابل ذکر است که تراکنش صفر، تراکنش جنسیس (تراکنش اولیه) در آیوتا می‌باشد و حاوی تمام کوین های میوتا (MIOTA یا همان کوین IOTA) می‌باشد که تولید خواهد شد. تراکنش ۶ نیز به عنوان تراکنش راس شناخته می‌شود زیرا تراکنش تایید نشده ای است که برای این ساختار مهم است.

ساختار تراکنش ها

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

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

تصادفی بودن انتشار تراکنش ها از طریق فرایند نقطه پواسون (Poisson Point Process) امکان پذیر می‌شود که این فرایند، یک روش احتمالی برای ردیابی نقاط تصادفی در فضای ریاضیاتی و در این مورد، DAG می‌باشد. در تنگل علیرغم تاخیر عمدی تراکنش های ورودی، میانگین کلی نرخ تراکنش های ورودی ثابت می‌ماند. علامت لاندا (Lambda) بیانگر نرخ میانگین تراکنش های ورودی متعادل سازی لاندا مربوط به شبکه متنوعی از تراکنش ها می‌باشد. اگر لاندا برابر با صفر باشد، شبکه تراکنش های تنگل فقط شامل زنجیره خطی تراکنش های متصل به یک تراکنش تاییدکننده می‌شود. مشخصا این شرایط برای شبکه مقیاس پذیری از هزاران دستگاه متصل به یکدیگر نمی‌باشد.

تراکنش های راس و گام تصادفی

الگوریتم انتخاب راس تنگل بر اساس مفهوم گام تصادفی پیش بینی می‌شود. اساسا انتخاب کننده راس (تراکنش های تایید نشده) در تراکنش جنسیس شروع می‌شود و در سراسر DAG به صورت خطی به سمت جدیدترین راس و از چپ به راست گام برمی‌دارد. دو نوع گام تصادفی وجود دارد.

  • گام تصادفی بی وزن
  • گام تصادفی وزن دار

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

گام تصادفی

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

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

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

اعتبار تراکنش و اجماع نهایی

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

به طور کل، از آنجایی که MCMC به عنوان الگوریتم انتخاب راس به کار گرفته می‌شود، تمام کاربران (یا همان نودها) مجموعه تراکنش هایی را در تنگل مشاهده نخواهند کرد و حتی ممکن است تراکنش های متضادی نشان داده شود. هرچند، تعیین کننده به دلیل مدل “وزن مجموع” به هر تراکنش اضافه می‌شود، در آخر زنجیره سنگین تری از تراکنش ها به وجود خواهد آمد و زنجیره سبک تر کنار گذاشته خواهد شد. به علاوه، تراکنش هایی که قدیمی هستند در تنگل سنگین تر ادغام خواهند شد و به اجماع نهایی می‌رسد.

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

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

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

هماهنگ کننده و مقیاس پذیری

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

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

نتیجه گیری

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

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

منبع سایت میهن بلاکچین

درباره علی رضا یوسفی

این مطالب را نیز ببینید!

مقدمه ای ساده پیرامون مفهوم استخر های سیاه (Dark Pools)

توسط ایوب کریمی استخر های سیاه (Dark Pools) به مجراهایی خصوصی گفته می شوند که برای تسهیل …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

{{ algorithm }} الگوریتم
{{ miningMethod }} روش استخراج
{{ poolHashrate }} هش ریت استخر
{{ minerCount }} تعداد ماینرهای فعال
{{ poolFee }} کارمزد استخر