اگر تا به حال مقداری از زمان خود را صرف مطالعه بلاک چینها و نحوه کارشان کرده باشید، به احتمال زیاد نام مکانیزم یا الگوریتم اجماع به گوشتان خورده است. گراف جهت دار غیرمدور یا DAG هم یکی از همینهاست. مکانیزم اجماع همان شیوه توافق شرکتکنندگان در یک شبکه یا بلاک چین بر سر جزییات و اطلاعات درون یک بلاک (سفارشها، تراکنشها و …) است. مشهورترینهایشان هم که همان الگوریتم اثبات کار (Proof-of-Work) و اثبات سهام (Proof-of-Stake) هستند و ویژگیها و ضعفهای خود را دارند.
گرافِ جهتدارِ غیرمدور (Directed Acyclic Graph) یا DAG، یک روش ساختاربندی داده برای مدلسازی است که حالا بهعنوان یک روش اجماع در بعضی از بلاک چینها به کار گرفته میشود. اما DAG چیست و چرا بلاک چینها برای اجماع میان شرکتکنندگان شبکه از آن استفاده میکنند؟
در این مقاله داموند همه چیز را درباره گراف جهت دار غیرمدور (DAG) به شما خواهیم گفت. با ما همراه باشید.
گراف جهت دارِ غیرمدور (DAG) چیست؟
گراف جهتدارِ غیرمدور نوعی معماری داده بر پایه دایره و خطوط است. هر دایره یا راس نشاندهنده فعالیتی است که باید به شبکه اضافه شود. هر خط (یا یال) هم بیانگر ترتیب تایید تراکنشهاست. خطوط تنها در یک مسیر قرار دارند و بهاصطلاح «جهتدار» هستند. در DAGها، هیچ مسیر برگشتی به سمت یک دایره یا راس مشخص وجود ندارد، به همین دلیل به آنها غیرمدور گفته میشود.
بعضی از توکنها «قاتل اتریوم» لقب گرفتهاند چون چالشهای هزینه و مقیاسپذیری پیشِروی اتریوم را حل کردهاند. حالا DAG هم به همان دلیل به «قاتل بلاک چین» شهرت یافته است.
در این گرافها، همانند بلاک چین، تراکنشهای جدیدی نمیتوانند بهطور مستقل ثبت شوند، بلکه باید بر روی تراکنشهای موجود یا پیشین قرار بگیرند. اما برخلاف بلاک چین، در اینجا نیازی به استخراج نیست، پس کارمزد تراکنش و تاثیرات زیستمحیطی در پایینترین حد قرار دارند. و به این دلیل که DAG امکان اعتبارسنجی همزمان چندین تراکنش را فراهم میکند، مقیاسپذیری در آن در سطح بالاتری قرار دارد.
معماری DAG
در معماری DAG باید راسها و یالها در پایگاه داده گسترش پیدا کنند. راسها نشاندهنده تراکنشها، و یالها نشاندهنده مسیر جریان آنها هستند. در واقع تراکنشها در بلاک جمع نمیشوند، بلکه هر تراکنش بر روی تراکنش پیش از خود سوار است.
البته فراموش نکنیم که برای جلوگیری از خرابکاران و اسپمرها در این معماری مجزا، به مقدار الگوریتم اثبات کار نیاز است. پیشتر هم گفتیم که برای افزودن یک تراکنش جدید به یک گره یا نود، باید بر روی تراکنش پیش از خود قرار بگیرد و یک معماری زنجیرهای شکل ایجاد کند.
فناوری DAG
گراف جهت دار غیرمدور سیستم توزیعشده و غیرمتمرکزی است که قابلیت استفاده در درون فناوری دفترکل توزیعشده را دارد. روش ذخیرهسازی داده در DAG نسبت به فناوریهای دیگر دفترکل توزیعشده متفاوت است. درواقع برای ارتقای سرعت، امنیت و بازدهی و در عین حال کم کردن هزینهها کاربرد دارد. اگر هم دوستدار محیط زیست هستید به شما نوید میدهیم که DAG با محیط زیست سازگار است چون انرژی بسیار کمی مصرف میکند.
کاربردهای گراف جهت دار غیرمدور
- پردازش تراکنشها بدون محدودیت و زمان انتظار تشکیل بلاک. کاربران میتوانند هر تعداد تراکنشی که خواستند ایجاد کنند، تنها باید قبل از حرکت به سمت بلاک جدید بلاکهای قدیمی را تایید کنند.
- DAGها انرژی کمی مصرف میکنند. در DAG از ماینر استفاده نمیشود. رمزارزهایی که از DAG بهره میبرند نسبت به رمزارزهای مبتنی بر استخراج برق بسیار کمتری مصرف میکنند.
- اهمیت DAGها در پردازش ریزپرداختها. چون در DAG مثل بلاک چین از ماینر استفاده نمیشود، هیچ کارمزد پردازشی بابت تایید تراکنشها گرفته نمیشود. تنها کارمزد کوچکی برای گرهها دریافت میشود که البته با شلوغتر شدن و بالاتر رفتن تراکم شبکه افزایش پیدا نمیکند.
مشکل دو بار خرج کردن (double spending) در DAG
حالا این سوال پیش میآید که «مشکل دو بار خرج کردن (double spending) در سیستم گراف جهت دار غیرمدور چگونه حل شده است؟» پاسخ ساده است: گرهها هر بلاکی که حاوی تراکنشهای متناقض باشد را تشخیص داده و حذف میکنند. هزینه بالای ساخت یک بلاک دیگر برای مهاجمین موجب بازدارندگی و ایجاد انگیزه برای ماینرها میشود.
تفاوت های DAG با بلاک چین
- بلاک چین یک رشته بلاک دادهی در صفِ تایید است. DAG زنجیرهای تزاکنشهای تاییدشده بر روی یکدیگر است.
- اجماع در بلاک چین با تایید تراکنشهای درون بلاک انجام میشود. در DAG، کاربران هم بهعنوان ماینر و هم بهعنوان تاییدکننده عمل میکنند و هر کاربر اقدام به تایید دو تراکنش دیگر مینماید.
- کارمزد تراکنش در بلاک چین بسیار بالاتر از DAG است چون در DAG کارمزدی بابت پردازش تراکنش به ماینرها پرداخت نمیشود.
مثالی از کاربرد DAG
فرض کنید میخواهید در شبکهای با معماری گراف جهت دار غیرمدور تراکنشی انجام بدهید. قبل از ارسال تراکنش باید به تراکنش پیش از آن رجوع کنید.
اگر کاربر دیگری بر روی تراکنش شما یک تراکنش ایجاد کرد و تراکنش شما از قبل تایید نشده بود، به این دلیل که هیچ ارجاعی به آن وجود ندارد خودبهخود تایید خواهد شد. بر همین اساس، باید یک کاربر سوم بیاید یک تراکنش بر روی تراکنش کاربر دوم ایجاد کند تا تراکنش کاربر دوم هم تایید شود. این چرخه بهصورت یک حلقه بیپایان ادامه خواهد داشت. یعنی تراکنش بر روی تراکنش تا ابد.
در بعضی از الگوریتمها، تراکنشها بر اساس معیارهایی مانند وزن تجمیعی یا تعداد تاییدهای پیشین اقدام به ساخت تراکنشهای جدید میکنند.
چه پروژه های از DAG استفاده می کنند؟
آیوتا (IOTA)
آیوتا یا IOTA مخفف عبارت «اپلیکیشن اینترنت اشیا» است که در سال 2016 آغاز به کار کرد. پروژه آیوتا جزو اولین پروژههایی است که از فناوری DAG استفاده کرد. در آیوتا برای اعتبارسنجی تراکنشها از گرهها و تنگلها (ترکیبی از چندین گره) بهره گرفته شده است.
در این پروژه، کاربران برای تایید شدن تراکنششان باید دو تراکنش دیگر را تایید کنند. کاربران خودشانِ بر اساس رایها و سهمی که از توان کل شبکه دارند، در مکانیزم اجماع و تایید تراکنشها مشارکت دارند. همین باعث شده که شبکه هم غیرمتمرکز و هم مقیاسپذیر باشد. آیوتا تراکنشهای سریع و ارزان را برای کاربران خود به ارمغان آورده است. درست فکر کردید! آیوتا برای ریزپرداختها و پرداختهای متعدد و ارزان (بدون کارمزد سرسامآور) گزینه ایدهآلی است.
نانو (Nano)
نانو در اقدامی جالب فناوریهای گراف جهت دار غیرمدور و بلاک چین را ترکیب کرده است. در این سیستم دادهها از طریق گرهها ارسال و دریافت میشوند. هر کاربر در پروژه نانو با داشتن یک کیف پول میتواند به بلاک چین دسترسی پیدا کند. این یک ویژگی منحصربهفرد شبکه نانو است. وقتی تراکنش در بلاک چین انجام میشود، هم گیرنده و هم فرستنده تراکنش اقدام به تایید آن میکنند. نانو به داشتن تراکنشهای پرسرعت و کارمزد صفر درصد مشهور است.
سخن پایانی
گراف جهتدار غیرمدور (DAG) یک معماری و روش برای ساختاربندی داده است که مدتهاست مورد استفاده قرار میگیرد. در سالهای گذشته نیز توانسته وارد دنیای بلاک چین و فناوری دفتر کل توزیعشده شود و توسعهدهندگان هم از آن استقبال چشمگیری کردهاند. اگرچه DAG در ابتدا یک معماری داده بود اما بعضی از پروژهها از آن بهعنوان یک مکانیزم اجماع بهره بردند. دلیل این کار هم مزایای DAG بود. مزایایی چون عدم نیاز به استخراج و مصرف برق، کارمزد حداقلی و سرعت بالا.
اگر به فناوری بلاک چین و الگوریتمهای جدید در این حوزه علاقه دارید، شاید بد نباشد گوشه چشمی به معماری DAG داشته باشید چون به نظر میرسد در آینده پروژههای بیشتری به آن روی بیاورند. به هر حال اگرچه بلاک چین مزایای زیادی دارد و امروزه بهشدت بر سر زبانهاست، دارای مشکلات و چالشهایی هم هست. در این میان هر روز پروژهها و راهکارهای جدیدی پدید میآیند که قصد حل چالشهای موجود را دارند و بسیار قابلتوجهاند.
از اینکه تا پایان این مقاله همراه ما بودید سپاسگزاریم. نظرات و دیدگاههای شما برای ما مهم هستند، پس حتماً در پایین نظر خودتان را درباره DAG برای ما بنویسید.