گراف جهت دار غیرمدور چیست؟ این گراف چگونه میتواند مقیاس پذیری شبکه را افزایش دهد؟ کدام شبکهها از گراف جهت دار غیرمدور استفاده میکنند؟
گراف جهت دار غیرمدور یا Directed Acyclic Graph که به اختصار با نام DAG نمایش میدهند، نسل جدیدی از فناوری دفتر کل توزیع شده (Distributed Ledger Technology) میباشد که پتانسیل بالایی دارد تا دنیای رمز ارزها را متحول کند. تکنولوژی گراف جهت دار غیرمدور از ساختار داده گرافی استفاده میکند و همین نکته باعث افزایش سرعت انجام تراکنشها و مقیاس پذیری در شبکه میشود.
به گفته برخی از کارشناسان فناوری DAG جزو فناوریهای نسل سوم بلاک چین به شمار میآید که میتواند مشکلات مقیاس پذیری شبکه را به طور کامل برطرف کند و مقیاس پذیری حوزههای بزرگی همچون اینترنت اشیا را افزایش دهد. در این مقاله قصد داریم تا با عملکرد گرافت جهت دار غیرمدور و مزایا و معایب آن آشنا شویم.
نحوه عملکرد شبکههای بلاک چین
پیش از آن که به بررسی عملکرد گراف جهت دار غیرمدور بپردازیم، لازم است تا عملکرد شبکه بلاک چین را باهم مرور کنیم. بعد از ساخت شبکه بلاک چین بیت کوین، پروژههای زیادی با چارچوب ساختار بیت کوین ایجاد شد که معماری شبکه بلاکچین آنها یکسان است. در این شبکهها، ساختار دادههای شبکه به کاربران اجازه میدهد تا در بستری غیرمتمرکز تراکنشهای خود را انجام دهند.
ساختار دادهها در شبکههای بلاک چین بدین صورت است که یک بلوک جدید به زنجیره بلوکها اضافه شده و هر بلوک با نوعی اتصال رمزنگاری شده، به بلوک قبلی متصل میشود. بلوکها نیز از تراکنشها و معاملات کاربران تشکیل میشوند و برای تکمیل و اتصال به بلوکهای قبلی، نیازمند پردازش و زمان کافی هستند. بلوکها همانند واگنهای یک قطار به یکدیگر متصل میشوند و هرچه تعداد بلوکها بیشتر میشود؛ میزان و مدت زمان پردازش شبکه نیز بیشتر میشود و ماینرها باید زمان بیشتری را برای پردازش بلوکهای جدید در نظر بگیرند.
شیوه ایجاد بلوکها گرچه امنیت شبکه را بالا میبرد، اما بعد از گذشت زمان پردازش آنها بسیار دشوار میشود و مقیاس پذیری شبکه کاهش مییابد. برخی از کارشناسان بازار کریپتوکارنسی، همین موضوع را نقطه ضعف شبکههای بلاک چین میدانند و معتقدند که در بلندمت این فناوری منسوخ میشود.
گراف جهت دار غیرمدور DAG چیست؟
DAG یا directed acyclic graph نوعی ساختار داده به شمار میآید. گراف جهت دار بدون دور را میتوان مانند یک بانک اطلاعاتی تصور کرد که بخشهای مختلفی از اطلاعات را به یکدیگر وصل میکند و به عنوان روشی برای ذخیره سازی داده در شبکه کار میکند. در اصطلاح گراف جهت دار غیرمدور بدین معناست که فقط به جهت حرکت میکند و غیرمدور به این معنی است که چرخهای در روند وجود ندارد؛ یعنی اگر گراف از نقطه شروع کند، دیگر هرگز به آن نقطه بازنمیگردد.
تصویر زیر رفتار گرافت جهتدار غیرمدور را در مقایسه با فناوری بلاک چین به خوبی نشان میدهد. ساختارهایی همانند ساختار DAG معمولا در مدلسازیهای دادهها مورد استفاده قرار میگیرند. در زمینههای علمی، از گراف جهتدار غیرمدور برای تعیین رابطه بین متغیرها و نحوه تاثیرپذیری آنها از یکدیگر استفاده میشود.
به عنوان مثال از طریق روش DAG میتوان تغذیه، زمان خواب، علایم بیماری و سایر نکات پزشکی را مدلسازی کرد تا بتوان ارتباط بین پارامترها را از طریق آن درک کرد. فناوری DAG نیز با تلفیق مدل دفتر کل توزیع شده در شبکههای ارزهای دیجیتال کاربرد دارد و به کمک آن میتوان مقیاس پذیری بالایی در شبکهها ایجاد کرد.
نحوه عملکرد گراف جهت دار غیرمدور در شبکه
در الگوریتم گراف جهتدار غیرمدور دیگر از بلوک استفاده نمیشود و مانند بلاک چین، شبکه نیازی به عملیات استخراج یا ماینینگ ندارد. در این الگوریتم، به جای جمع شدن تراکنشها داخل بلوک، هر تراکنش روی تراکنش بعدی ایجاد میشود. در این حالت نودها ابتدا باید تراکنشهای قبلی را بررسی و تایید کنند تا ثبت تراکنش بعدی اتفاق بیفتد. با این کار پایداری شبکه افزایش پیدا میکند و تراکنشهای قبلی نیز با اعتبار بیشتری در شبکه ثبت میشوند.
در واقع در سیستم گراف جهت دار بدون دور هر تراکنش جدید بعد از تراکنشهای قدیمی قرار میگیرد. تراکنش جدید در شبکه ثبت میشود و هرکاربر باید تراکنشهای قدیمی را بررسی و تایید کند. بعد از این کار، تراکنش ثبت شده توسط کاربر به شخص دیگری ارسال میشود و آن شخص نیز بعد از انجام تراکنش خود، باید تراکنش قدیمی ارسال شده را پردازش و بررسی کند.
در برخی از شبکههای مبتنی بر DAG، الگوریتم انتخاب میکند که تراکنش جدید باید بعد از کدام تراکنش تایید شده قرار گیرد. در این حالت رشتهها و مسیرهای تراکنشی مختلفی در شبکه ایجاد میشود که شبکه رشتههایی را که طویلتر هستند و تایید بیشتری دارند را برای تایید تراکنشها انتخاب میکند. با این ویژگی، نودهای شبکه میتواند به سادگی معاملات متضاد و اشتباه را از شبکه حذف کنند و امنیت شبکه را افزایش دهند. هنگامی که یک نود یک تراکنش قدیمی را بررسی و تایید میکند، تمامی مسیری را که تراکنش آن را طی کرده است، ارزیابی و پردازش میشود و بدین ترتیب اعتبار تایید تراکنش افزایش پیدا میکند.
شاید نحوه عملکرد الگوریتم گراف جهتدار غیرمدور دشوار به نظر برسد و پردازش تراکنشها برای نودها سخت باشد؛ اما به کمک الگوریتم انتخاب این مشکل در این الگوریتم حل میشود. به کمک الگورتم اجماع انتخاب، شاخهها یا مسیرهای دارای تایید تراکنش بیشتر قویتر میشوند و شاخهها یا مسیرهایی که ضعیفتر بودند، رها میشوند و تراکنش آنها وارد شبکه اصلی شده و مجدد بررسی میشوند.
مزایا و معایب فناوری DAG
گراف جهتدار غیرمدور با داشتن عملکردی بهتر و متفاوت نسبت به بلاک چین، توانسته است مشکلاتی نظیر مقیاس پذیری را برای شبکههای غیرمتمرکز برطرف کند؛ اما این ساختار داده علاوه بر داشتن مزایا، دارای معایبی نیز میباشد که به صورت جداگانه میتوان به موارد زیر اشاره کرد:
مزایا
- سرعت بالای تراکنشها: به کمک فناوری DAG، تراکنشهای شبکه با سرعت بسیار بالایی انجام میشود. در واقع در این نوع ساختار داده، گرهها تنها اعتبارسنج و تایید کننده تراکنشها هستند و برای تایید هرکدام از تراکنشها، نیاز به ساخت بلوک نیست و هرکس میتواند معاملات خود را پردازش کند. اطلاعات معاملات در داخل تراکنشها قرار میگیرد و با سرعت بالا پردازش میشود. به کمک این فناوری، میتوان میلیونها تراکنش را در عرض چند ثانیه اجرا کرد. این سرعت تراکنش میتواند مقدمهای بر ورود جدیتر اینترنت اشیا به دنیای کریپتوکارنسی باشد.
- حذف ماینینگ و استخراج: به کمک تکنولوژی DAG، شبکههای غیرمتمرکز به الگوریتم اثبات کار یا POW نیاز ندارند و شبکه به سادگی میتواند به پردازش خود ادامه دهد. این موضوع باعث مصرف کمتر انرژی نیز میشود و تمرکززدایی بیشتری را برای شبکه به همراه میآورد.
- کارمزدهای پایین شبکه: به وسیله تکنولوژی DAG، شبکههای غیرمتمرکز میزان کارمزد یا کمیسیون کمتری دریافت میکنند. در واقع ساختار داده گراف جهتدار غیرمدور میتواند میزان کارمزد شبکه را نزدیک به صفر برساند. با این تفاسیر کاربران بازار کریپتوکارنسی میتوانند امور مالی غیرمتمرکز یا دیفای خود را در بستر شبکههایی که از الگوریتم DAG استفاده میکنند، انجام دهند.
معایب
- عدم تمرکززدایی کامل: شبکههایی که از فناوری DAG استفاده میکنند، دارای بخشهای متمرکزی همانند نودها هستند. این موضوع این سوال را ایجاد میکند که آیا فناوری DAG بدون دخالت گروه یا شخص ثالث میتواند بدون مشکل اجرا و پیشرفت کند؟ در واقع این الگوی ساختار داده در ابتدای شروع یک شبکه بسیار خوب عمل میکند اما احتمال دارد که در مسیر توسعه شبکه، به باگهای مختلفی برخورد کند. از طرفی اطلاعات یا راهکاری برای محافظت از الگوریتم و ساختار گراف وجود ندارد.
- نبود مقیاسی بزرگ برای فناوری DAG: متاسفانه شبکه یا نمونه آزمایشی در مقیاس بزر وجود ندارد که از تکنولوژی DAG استفاده کند. در واقع این تکنولوژی در شبکههای کوچک بسیار خوب عمل کرده است اما هنوز خروجی یا آزمایشی در مقیاس شبکهای بزرگتر برای این الگوریتم انجام نشده است. بنابراین پیش بینی مشکلات موجود برای این الگوریتم بدون نبود اطلاعاتی از مقیاسهای بزرگتر دشوار است.
کدام شبکهها از فناوری DAG استفاده میکنند؟
در حال حاضر برخی از شبکههای رمز ارزها از فناوری DAG برای انجام تراکنشهای خود استفاده میکنند. معروفترین این شبکه شامل موارد زیر میباشد:
- آیوتا (IOTA)
آیوتا اولین رمز ارزی است که در سال 2016 شبکه غیرمتمرکز و بدون بلاک را به کمک گراف جهت دار غیرمدور طراحی و پیادهسازی کرد. آیوتا (IOTA) یا internet of things applications با هدف ایجاد بستری غیرمتمرکز برای انجام تراکنشهای اینترنت اشیا وارد بازار کریپتوکارنسی شد. در این شبکه، بخشی از نودها وظیفه اعتبارسنجی تراکنشها را دارند. همچنین برای انجام تراکنشها، همه کاربران به نوعی ماینر میشوند و برای تایید تراکنشهای خود، باید دو تراکنش قبلی را پردازش و تایید کنند. کاربران شبکه آیوتا همگی در الگوریتم اجماع شبکه شرکت دارند و با قدرت پردازشی بسیار کمی، در توسعه شبکه آیوتا همکاری دارند.
- railblocks
شبکه railblocks یک ابزاری لحظهای، بدون کارمزد با مقیاس پذیری بالایی است که از فناوری DAG در ساختار داده خود استفاده کرده است. این شبکه فاقد ماینر است و از فناوری دفتر کل توزیع شده استفاده میکند. در شبکه railblocks هر کاربر بلوک اختصاصی خود را میسازد و خود کاربر بلوک ساخته شده را تایید میکند.
- نانو (nano)
نانو یک پلتفرمی دیگر است که از الگوریتم گراف جهتدار بدون دور در شبکه خود استفاده میکند. این شبکه از زنجیرههای بلوکی مستقل ساخته شده است که به کمک الگوریتم DAG تراکنشها را پردازش میکند. در واقع این شبکه تلفیقی از تکنولوژی بلاک چین و DAG را ایجاد کرده است. در شبکه نانو، هر کاربر به وسیله کیف پول خود، یک بلاک چین در شبکه دریافت میکند و تنها کسی است که میتواند تغییرات را روی بلاک چین خود اعمال کند.
سخن پایانی
گراف جهت دار غیرمدور یا directed acyclic graph نوعی ساختار داده است که به وسیله آن مقیاس پذیری و سرعت شبکههای غیرمتمرکز افزایش پیدا میکند. به کمک این ساختار، دیگر نیازی به ساخت بلوک و الگوریتمهای اجماعی نظیر اثبات کار نیست و تایید تراکنشها با سرعت بسیار بالاتری انجام میشود. در حال حاضر این الگوریتم در پروژههای بسیار محدودی مورد استفاده قرار گرفته است و هنوز نتوانسته است در پروژههای بزرگ و کامل اجرا شود. اگر این الگوریتم در آینده بتواند به خوبی اصلاح و اجرا شود؛ میتواند مشکل مقیاس پذیری شبکههای غیرمتمرکز را به طور کامل برطرف کند.
سوالات متداول
کاربردهای DAG در دنیای واقعی چیست؟
DAG در بسیاری از زمینههای مختلف کاربرد دارد، از جمله در علوم کامپیوتر، بلاکچین، تحلیل دادهها و حتی در سیستمهای برنامهریزی پروژه. یکی از کاربردهای معروف آن در الگوریتمهای مرتبسازی توپولوژیکی است که برای تعیین ترتیب انجام وظایف به کار میرود.
آیا DAG در بلاک چینها استفاده میشود؟
بله، برخی از پروژههای بلاکچین به جای استفاده از بلاکچین سنتی، از ساختار DAG استفاده میکنند. ساختار DAG میتواند به بهبود مقیاسپذیری و کاهش هزینههای تراکنش کمک کند. از معروفترین نمونههای استفاده از DAG میتوان به IOTA و Nano اشاره کرد.
گراف جهت دار غیرمدور چه تفاوتی با گرافهای جهت دار معمولی دارد؟
تفاوت اصلی بین DAG و گرافهای جهتدار معمولی این است که در DAG چرخه وجود ندارد. به عبارت دیگر، هیچ مسیری که به نقطه شروع برگردد، در DAG وجود ندارد، در حالی که گرافهای جهتدار معمولی میتوانند چرخه داشته باشند.