دگ (DAG) مخفف عبارت Directed Acyclic Graph یا گراف جهت دار غیرمدور است و یک چارچوب ریاضیاتی و محاسبات کامپیوتری برای خلق سیستمهای غیرمتمرکز است. بسیاری از افراد تصور میکنند که بلاکچین تنها ابزار برای ساخت سیستمهای غیرمتمرکز است و برخی افراد حتی تفاوتی میان سیستم غیرمتمرکز و بلاکچین را نمیدانند.
از آنجا که بیت کوین به عنوان اولین سیستم غیرمتمرکز بر روی بلاک چین ساخته شد، بلاکچینها شهرت بسیار زیادی پیدا کردند و بیشتر شناخته شدند. حال آنکه سیستمهای غیرمتمرکز یک مفهوم بسیار کلی هستند و این سیستمها را میتوان بر بستر چارچوبهای گوناگونی همچون بلاکچین، دگ و سایر الگوریتمهای محاسباتی بنا کرد.
در این مقاله قصد داریم یکی دیگر از چارچوبهای ساخت سیستمهای غیرمتمرکز را توضیح دهیم. بنابراین ابتدا با زبان ساده توضیح میدهیم که دگ چیست؟ و سپس به بیان مزایا و معایب دگ پرداخته و در پایان به مقایسه دگ و بلاک چین خواهیم پرداخت. در صورتی که علاقهمند به دانستن مفاهیم پایهای ساخت سامانههای غیرمتمرکز هستید. توصیه میکنیم که تا انتهای این مقاله با داموندمگ همراه باشید.
دگ چیست؟
همانطور که گفتیم مفهوم سیستم غیرمتمرکز برای اولین بار در جهان با بیت کوین به مردم شناسانده شد و همه متوجه شدند که برای انجام کارهای رایج حتما نیازی به وجود سازمانهای واسطه و مرکزی وجود ندارد. مردم فهمیدند که پول و ارزش را میتوانند بدون کمک بانکها انتقال داد و با خلق اتریوم متوجه شدند که حتی سایر کارها مثل فروش خانه، ماشین و سایر کالاها را نیز میتوان بدون نیاز به سازمانهای مرکز همچون دفاتر ثبت اسناد انجام داد.
از آنجا که اولین سیستمهای متمرکز بر پایه چارچوبی به نام بلاک چین ساخته شده بودند. بسیاری از افراد مفهوم سیستم غیرمتمرکز را با بلاک چین یکسان تصور کردند. در صورتی که اینگونه نیست. چرا که مفهوم سیستمهای غیرمتمرکز یک مفهوم کلی است که میتواند توسط ساختارها و چارچوبهای متنوعی به وجود آید.
به عنوان مثال یک ساختمان را در نظر بگیرید که با هدف اسکان ساخته میشود، میتوانیم آن را چارچوبهای متنوعی همچون اسکلت فلزی، اسکلت بتنی و … به وجود آوریم. اگر شبکه غیرمتمرکز را مانند ساختمان در نظر بگیریم، میتوانیم این شبکه را با اسکلتهای متنوعی همچون بلاک چین، دگ، ساختار هش گراف و … به وجود آوریم و هدف همه این ساختارها ایجاد شبکه بدون مرکز است.
درست است که بلاک چین یکی از چارچوبهای ریاضی قدیمی و پرکاربرد برای خلق سیستم غیرمتمرکز است، اما تنها چارچوب برای این کار نیست و شاید حتی بهترین چارچوب نیز نباشد. معمولا استفاده از بلاک چین برای ایجاد شبکه غیرمتمرکز، باعث کند شدن سرعت انتقال و تایید اطلاعات در سیستم میشود. به همین جهت توسعهدهندگان شبکههای غیرمتمرکز به دنبال استفاده از چارچوبهایی رفتند که بتوانند مشکل کندی سرعت و مقیاسپذیری پایین بلاکچینها را حل کنند.
نتیجه نهایی یک شبکه غیرمتمرکز که به وسیله دگ یا بلاک چین به وجود میآید، از لحاظ ظاهری شبیه هم هستند، اما این دو ساختار از لحاظ فنی با یکدیگر تفاوت دارند. معماری دگ به گونهای طراحی شده است که سرعت تراکنشها در آن بالاتر است و کارمزد تراکنشها در آن تا حد زیادی کاهش مییابد.
همانطور که گفتیم دگ (DAG) مخفف عبارت گراف جهتدار غیرمدور است. این تعریف شاید سخت و پیچیده به نظر برسد، به همین دلیل به صورت جز به جز آن را توضیح میدهیم. منظور از جهتدار بودن به این معنا است که اطلاعات درون چارچوب دگ فقط به یک جهت هدایت میشوند. منظور از غیرمدور بودن هم به این معناست که هیچگونه حلقه و چرخه در چارچوب دگ وجود ندارد، به این معنا که اگر از یک نقطه این الگوریتم حرکت خود را شروع کنیم، هیچگاه دوباره به آن نقطه باز نخواهیم گشت.
با توجه به تعاریف بالا، میتوان گفت دگ چند ویژگی اصلی دارد که باعث ایجاد نقطه قوت در ساختار آن میشود و میتواند به ساختن یک شبکه غیرمتمرکز بهینهتر کمک کند. ویژگیهای اصلی دگ را در قسمت بعد مورد بررسی قرار خواهیم داد.
ویژگی های اصلی دگ
- تمام مسیرهای ایجاد شده در دگها دارای یک نقطه شروع و یک نقطه پایان هستند. این ویژگی به این معنا است که مسیرهای ایجاد شده در دگ جهتدار هستند و نمیتوانیم از روی آن مسیرها به عقب بازگردیم و فقط باید از نقطه شروع به نقطه پایان برویم.
- اگر مسیر بین دو راس از دگ را ویرایش کنیم، کل دگ دچار ویرایش و تغییر خواهد شد. این ویژگی دقیقا همانند ویژگی اصلی یک بلاک چین است، اگر اطلاعات ذخیره شده در یک بلاک از بلاکچین را تغییر دهیم، کل زنجیره بلاکی بعد از آن بلاک تغییر یافته نامعتبر خواهد شد و باید تمام زنجیره عوض شود.
- دگ ها قابل موازی سازی هستند. در چارچوب دگ میتوانیم بین دو راس متفاوت مسیرهای موازی با مقادیر متفاوت داشته باشیم. با استفاده از این موضوع توانایی تایید روابط بین رئوس مختلف افزایش خواهد یافت.
- مسیرهای درون دگ قابل کوتاه شدن و بهینهسازی هستند. بر خلاف بلاکچین که زنجیره بلاکها با گذشت زمان مدام طولانیتر و حجیمتر میشود. امکان کوتاهسازی و بهینهسازی مسیرها در ساختار دگ وجود دارد. این مساله برای کاهش حجم پایگاه داده بسیار مفید است و در کیف پولهای سبک یا SPV به شدت کاربردی است.
مزایای دگ
مقیاسپذیری بالا وسرعت انجام تراکنشها
به لطف ساختار بهینه دگ، سرعت انجام تراکنشها در شبکههای غیرمتمرکز تا حد بسیار زیادی بالا میرود. مقیاسپذیری و انجام تراکنشها با سرعت بالا یکی از مهمترین عواملی است که باعث مقبولیت و استفاده عموم مردم از یک سیستم میشود. بنابراین اگر قصد داریم که مردم در آینده از شبکههای غیرمتمرکز استفاده کنند. باید مقیاس پذیری آنها در حد شبکههای متمرکز رایج باشد.
کارمزد پایین تراکنشها
در ساختار دگ هیچگونه استخراج و ماینینگ وجود ندارد. به همین دلیل انجام تراکنش در این ساختار کارمزد بسیار پایینی دارد و گاهی اوقات حتی کارمزد هم ندارد. این موضوع نکتهای بسیار مهم برای استفاده عموم مردم از یک شبکه غیرمتمرکز است.
اعتبارسنجی تراکنشهای انجام شده فقط با دو تایید
یکی از مشکلات بزرگ در شبکههای غیرمتمرکز فعلی این است که کاربران برای اعتبارسنجی تراکنشهای خود باید منتظر چند تایید از نودهای مختلف باشند. در صورتی که در ساختار دگ، تراکنشهای انجام شده، فقط با دو تایید اعتبارسنجی میشوند. برای خواندن اطلاعات بیشتر در مورد نودها، مقاله نود چیست؟ را مطالعه کنید.
برای تراکنشهای خرد بسیار مناسب هستند
یکی از مهمترین مسائلی که آینده سیستمهای غیرمتمرکز به آن نیاز دارد، سازگاری با پرداخت خرد و کوچک است. سیستمهای آینده باید به گونهای طراحی شوند که امکان پردازش تراکنشهای با ارزش کوچک و با تعداد بالا را داشته باشند.
آینده در اختیار ماشینهاست، بنابراین باید بستری وجود داشته باشد که ماشینها بتوانند به سرعت با یکدیگر معامله کنند و به تبادل ارزش بپردازند. بنابراین برای پرداختهای خرد به تعداد بالا، نیازمند یک سیستم سریع با کارمزد پایین هستیم. با توجه به ویژگیهای گفته شده، دگها برای انجام این کار بسیار مناسب هستند.
معایب دگ
توسعه دگ ها بسیار پیچیده است
به دلیل الگوریتم اجماع پیچیده به کار رفته در دگ، رمزنگاری و حفاظت از دادهها موجود بر روی دگ بسیار پیچیده است و به دانش فنی بالا نیاز دارد.
ضعف حفاظت از حریم خصوصی
استفاده از تکنیکهای رمزنگاری ضعیف در دگ، باعث میشود که تولید آدرسها به خوبی انجام نشود و همین میتواند یک مساله در حفاظت از حریم خصوصی کاربران باشد.
ضعف امنیتی در پروژههای اجرا شده با دگ
ضعف رمزنگاری و امنیت در برخی از پروژههای اجرا شده با دگ وجود دارد. مثلا هکرها توانستند با کشف یک ضعف در رمزارز معروف آیوتا، حدود 10 میلیون دلار از سرمایه کاربران این شبکه را سرقت کنند.
سنجیده نشدن در مقیاس گسترده و بزرگ
دگ ها هنوز در مراحل اولیه استفاده هستند و به صورت گسترده در پروژههای مختلف مورد استفاده قرار نگرفتهاند. همین کمبود استفاده در مقیاس گسترده و بزرگ باعث میشود که اطمینان به این ساختار در حد کافی نباشد و همه منتظر استفاده بیشتر و بزرگتر از این چارچوب هستند.
مقایسه دگ با بلاک چین
اگر بخواهیم مقایسه دقیق و کاملی میان دگ و بلاکچین داشته باشیم، نباید صرفا از یک بعد آنها را با هم مقایسه کنیم و نظر دهیم که کدام یک بهتر است. در این قسمت به مقایسه دگ و بلاک چین از ابعاد مختلف پرداختهایم و با مطالعه هر قسمت متوجه خواهید شد که در مواردی ساختار دگ برتری دارد و در مواردی نیز ساختار بلاکچین برتری دارد. بنابراین تصمیم قطعی درباره اینکه کدام ساختار بهتر است، کاملا به تحلیل شما بستگی دارد.
مقایسه سرعت و مقیاسپذیری
بیشتر شبکههای غیرمتمرکز بلاکچینی با مشکل مقیاسپذیری پایین و سرعت پایین پردازش تراکنشها مواجه هستند. با اینکه در سالهای اخیر گامها بسیار مهمی برای افزایش سرعت شبکههای بلاکچینی برداشته شده است، اما هنوز هم این راهحلها به بلوغ بیشتری نیاز دارند.
این در حالی است که شبکههای ساخته شده بر پایه دگ، به صورت ذاتی مقیاسپذیری بسیار بالایی دارند و به خوبی میتوانند با سیستمهای متمرکز رایج رقابت کنند. همین ویژگی باعث میشود که توسعه دهندگان برای افزایش سرعت تراکنشهای شبکه غیرمتمرکز به استفاده از دگ روی آورند.
مقایسه پیچیدگی توسعه و برنامهنویسی
ایجاد یک الگوریتم اجماع در دگ بسیار پیچیده تر از از ایجاد آن در یک بلاکچین است. هر چه بخواهیم مسیرهای موجود در یک دگ را بهینهتر کنیم، به الگوریتمهای پیچیدهتری نیاز خواهیم داشت. همین پیچیدگی منجر به ایجاد خطاهای برنامه نویسی و ایجاد نقص در سیستم میشود.
مقایسه کارمزد تراکنش ها
همانطور که قبلا هم توضیح دادیم، کارمزد تراکنشها در دگ بسیار ارزان است و همین موجب میشود که بتوانیم از آن در انجام پرداختهای خرد استفاده کنیم. این در حالی است که انجام تراکنشها در بلاکچینهای بزرگ، گاها برای کارمزدهای بسیار سنگین روبرو است که استفاده از این شبکهها را برای پرداخت خرد کاملا بیمصرف میکند.
مقایسه امنیت و سابقه
در حال حاضر قدیمیترین بلاکچین بیش از ده سال سابقه استفاده گسترده دارد و توانسته است به خوبی امنیت و پایداری خود را نشان دهد؛ اما هیچ دگی وجود ندارد که دارای این مقدار از سابقه استفاده گسترده باشد. همین موضوع باعث میشود تا در استفاده از آن تردیدهای بیشتری وجود داشته باشد. آیا دگ ها نیز مانند بلاکچینها میتوانند از تست امنیت و پایداری شبکه موفقیت آمیز خارج شوند؟ زمان همه چیز را مشخص میکند.
معماری 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 برای ما بنویسید.