گراف جهت دار غیر مدور یا Directed Acyclic Graph (DAG) که در فارسی به اسامی دیگری همچون گراف سو دار بی دور یا بدون چرخش نیز شناخته میشود، ابزار ساختاری و مدلسازی داده است که در دنیای کریپتو و ارز دیجیتال استفاده دارد.
مقدمهای بر تکنولوژی دگ
وقتی به کریپتوکارنسی یا ارز دیجیتال فکر میکنیم، به احتمال زیاد اولین ساختاری که به ذهنمان میرسد «بلاک چین» یا «فناوری دفتر کل توزیع شده» است. از زمان ساخت و راهاندازی بلاک چین بیت کوین تا کنون، شبکهها و رمز ارزهای متعدد دیگری نیز ساخته شدهاند که بیشترشان از همان معماری شبکه به کار رفته در Bitcoin استفاده میکنند. اما بر خلاف بلاک چین که زنجیرهای از بلاکهای پیاپی و به هم وصل شده است، ساختار مدل گراف جهت دار غیر مدور یا دگ (DAG) از دو بخش کلی شامل گرهها و خطوط میان آنها تشکیل میشود.
در یک سیستم بلاک چینی هر بلاک به صورت دورهای و با استفاده از یک اتصال رمزنگاریشده به نام هش (Hash)، به زنجیرهای طویل از بلاکهای قبلی متصل میشود. تراکنشهای ارسال شده توسط کاربران شبکه در هر کدام از این بلاکها قرار دارند. اما در یک سیستم مبتنی بر گراف جهتدار غیرمدور تراکنشها نیازی به قرار گرفتن در صف پردازش و تایید و ثبت در بلاک ندارند و ساختار جور دیگری است.
برای بسیاری از کاربران این انتظار و ثبت با تاخیر در ازای امنیت و تغییرناپذیری سیستم بلاک چین بسیار ارزشمند است و از آن مهمتر اینکه نیاز به یک هماهنگکننده متمرکز را از بین میبرد. اما در نظر بسیاری دیگر، صنعت بلاک چین تاریخ انقضا دارد و در بلندمدت، به دلیل مشکلات مقیاس پذیری نمیتواند کاملا جایگزین سیستمهای متمرکز شود. به همین خاطر برخی از متخصصان حوزه کریپتو بر این عقیده هستند که مسیر آینده شبکههای پرداختی ارز دیجیتال نه به بلاک چین، بلکه به معماری ساختاری گراف جهت دار بدون دور یا غیر مدور (DAG) بستگی خواهد داشت.
معرفی فناوری گراف جهت دار غیر مدور (DAG)
دگ یا گراف جهت دار بدون دور نوعی متفاوت از ساختار دفتر کل توزیع شده است که برخی از فعالان حوزه کریپتوکارنسی آن را رقیبی جدی برای سیستم بلاک چین میدانند و برخی دیگر تکمیل کننده آن. هر دو فناوری بلاک چین و گراف جهت دار غیر مدور برای ذخیره تراکنشها در یک دفتر کل توزیع شده به کار میروند، اما روش انجام کار آنها متفاوت است. کل عبارت «گراف جهت دار غیر مدور» هم به تنهایی بسیار دهانپرکن و نامفهوم است، به همین خاطر شاید بد نباشد ابتدا آن را بشکنیم و قسمتهای مختلفش را بررسی کنیم.
به طور کلی یک گراف جهتدار غیر مدور تقریبا مشابه عکس بالا است. المانهای اصلی یک DAG در حقیقت گرهها (همان دایرههای آبی رنگ) و خطوط (فلشهای سبز) هستند. علت وجود ترکیب «جهتدار» در نام این سیستم همین است که کل گراف به یک سمت جریان دارد. اگر به عکس دقت کنید، تمام فلشهای سبزرنگ به سمت راست حرکت میکنند.
همچنین دلیل وجود بخش «بدون دور» یا «غیر مدور» در نام دگ نیز این است که فلشها روی خودشان برنمیگردند و در حقیقت حلقهای تشکیل نمیشود. به بیان سادهتر، اگر با یکی از این خطوط همراه شویم و در گراف پیش برویم، هرگز امکان ندارد به نقطه قبل برگردیم. در ادامه این موضوع شفافتر خواهد شد.
چنین ساختارهای دادهای معمولا برای الگوبندی داده و اطلاعات استفاده میشوند. به عنوان مثال ممکن است در حوزههای علمی و پزشکی برای مشاهده رابطه میان متغیرها و تشخیص اینکه چه تاثیری روی همدیگر دارند، به سیستمی ساخته شده با گراف جهتدار غیر مدور تکیه کنید. مثلا در موردی شاید یک متخصص مواد غذایی، چرخههای خواب و نشانههای سلامت فیزیکی را به دستگاه بدهد و برای اینکه مطمئن شود چه تاثیری روی بیمار خواهد داشت، ارتباط میان این موارد را پیدا کند.
در حوزه کریپتوکارنسی برای درک بهتر گراف جهت دار غیر مدور بیشتر باید بفهمیم در یک شبکه رمز ارزی توزیع شده، اجماع بلاک چین چطور به دست میآید. در بخش بعدی نحوه کار گراف جهتدار بدون دور را بیشتر توضیح خواهیم داد، اما ابتدا بیایید تاریخچه سیستمهای مبتنی بر DAG را بررسی کنیم.
تاریخچه گراف جهت دار بدون دور
یکی از اولین نشانهها در تاریخ از گراف جهتدار غیر مدور یا DAG به انتشار مسئله ریاضیاتی 7 پل کونیگزبرگ (Seven Bridges of Königsberg) توسط لئونارد یولر (Leonhard Euler) در سال 1736 میلادی برمیگردد. میتوان گفت این مسئله اولین مقاله طرح شده در باره تئوری گراف محسوب میشود. مسئله 7 پل کونیگزبرگ از مهمترین و سختترین مسائل ریاضیات است که در آن شخص باید مسیری برای عبور از پلهای شهر کونیگزبرگ (که امروزه به نام کالینینگراد در روسیه شناخته میشود) پیدا کند، به شکلی که فقط و فقط یک بار از هر پل بگذرد.
یولر پس از سادهسازی نقشه شهر به شکل یک گراف، فرمول خود را با استفاده از گرهها، خطوط و وجهها ساخت.
گراف جهت دار غیر مدور چگونه کار میکند؟
در یک رمز ارز ساخته شده با فناوری گراف جهتدار بدون دور، هر خط یا فلش در ساختار کلی در حقیقت نمایانگر یک تراکنش است. در یک DAG برای طولانیتر کردن پایگاه داده خبری از زنجیره بلاکها و استخراج رمز ارز نیست. بنابراین به جای اینکه تراکنشها در یک بلاک تجمیع و بعد رمزنگاری و ثبت شوند، هر تراکنش با ارجاع دادن به تراکنشی دیگر در گراف ثبت میشود. البته کمی از فرآیند الگوریتم اثبات کار برای ثبت نهایی تراکنش توسط نودها استفاده میشود. به این ترتیب میتوان جلوی اسپم شدن شبکه و همچنین اعتبارسنجی تراکنشهای قبلی را گرفت.
یک تراکنش برای آنکه در گراف جهت دار غیر مدور به شبکه اضافه شود، باید توانایی سوار شدن بر تراکنشهای دیگر را داشته باشد. اینطور در نظر بگیرید که آلیس تراکنشی جدید ایجاد میکند. تراکنش وی برای اینکه تایید شود، باید حتما به تراکنشهای قبلی ثبت شده در دگ اشاره داشته باشد. تقریبا مشابه وقتی که یک بلاک جدید در شبکه بیت کوین به زنجیره بلاکهای قبل از خود اشاره دارد.
در برخی از سیستمها، یک الگوریتم تصمیم میگیرد که هر تراکنش جدید باید بر اساس کدام تراکنشها (یا سرنخها) در مسیر قبلی DAG ساخته شود. انتخاب این سرنخها در بیشتر موارد بر اساس وزن انباشته تراکنشهای مسیر آن است، به این معنی که در مسیر رسیدن تراکنش به سرنخ مدنظر چند بار تراکنشهای دیگر آن را تایید میکنند.
تراکنشهایی که آلیس بر اساس آنها تراکنش خود را ایجاد میکند هنوز تاییدنشدهاند. اما وقتی آلیس تراکنش خود را به آنها ارجاع دهد، در حقیقت آنها را تایید کرده است. در این مرحله تراکنش آلیس خود تاییدنشده محسوب میشود و باید شخص دیگری آن را با زدن تراکنش جدید، تایید کند.
کاربران به طور معمول ترجیح میدهند شاخههای «سنگین»تر تراکنش را تایید کنند (یا به بیان دیگر، ترجیح میدهند تراکنش خود را با ارجاع دادن به زنجیرهای طویل از تراکنشهای تاییدشده ایجاد کنند) بنابراین طول شاخه سنگین و سنگینتر و سیستم گراف جهت دار غیر مدور بزرگ و بزرگتر میشود. در غیر این صورت ممکن بود کاربران برای ایجاد تراکنشهای جدید خود به سراغ تراکنشهای بسیار قدیمی بروند و زنجیره گراف پراکنده شود.
در فرآیند بلاک چین، جلوگیری از دابل اسپندینگ کاری نسبتا آسان محسوب میشود. یک دارایی نمیتواند در هیچ بلاکی دو بار خرج شود، چرا که نودها به راحتی متوجه این اقدام میشوند و بلاکهایی که دابل اسپند داشته باشند را رد میکنند. از آنجا که هزینه ساخت بلاک جدید برای ماینرها زیاد است، روند منطقی این است که یک ماینر فعالیت مخرب نداشته باشد و تمیز بازی کند.
گراف جهت دار غیر مدور نیز مکانیزمی برای جلوگیری از دابل اسپندینگ دارد که تقریبا شبیه فرآیند استفاده شده در بلاک چین است، اما تفاوتهایی نیز با آن دارد. وقتی یک نود یا گره تراکنشهای قدیمی را تایید میکند، مکانیزم تمام مسیر رسیدن به اولین تراکنش گراف جهن دار بدون دور را بررسی میکند تا مطمئن شود فرستنده دارایی موجودی کافی دارد. البته ممکن است مسیرهای مختلفی برای رسیدن به اولین تراکنش گراف وجود داشته باشد، اما طی کردن تنها یکی از مسیرها برای تایید تراکنش کافی است.
اگر کاربران تراکنش جدید خود را با ارجاع به مسیر اشتباهی ایجاد کنند، این ریسک وجود دارد که تراکنش خودشان نادیده گرفته شده و تایید نشود. حتی ممکن است تراکنش کاربر کاملا قانونی و درست باشد، اما اگر یکی از تراکنشهای مسیر رسیدن به تراکنش اولیه مشکل داشته باشد، تراکنش جدید کاربر هم نادیده گرفته و حذف میشود. بنابراین هیچ کدام از کاربرها نمیخواهد مسیر اشتباهی گره و خط را دنبال کند و در راه اشتباه قرار بگیرد.
در نگاه اول ممکن است این فرآیند احمقانه یا سادهانگارانه به نظر برسد. واقعا امکان ندارد که شاخههای متعدد بدون اطلاع از وجود همدیگر رشد کنند و طولانی شوند؟ به این شکل ممکن است کسی یک دارایی یکسان را در شاخههای مختلف خرج کند و عملا دابل اسپندینگ رخ دهد.
در واقع این احتمال کاملا وجود دارد، اما به کمک یک الگوریتم که پیوسته دنبال سرنخهایی با وزن تجمیع شده بیشتر میگردد، مشکل دابل اسپندینگ حل میشود. به این ترتیب در گذر زمان یکی از شاخههای تراکنش از بقیه بزرگتر و قدرتمندتر و شاخههای ضعیف و کوتاه به حال خود رها میشوند و در همین حین شبکه با ارجاع پیوسته به سنگینترین شاخه رشد میکند و بزرگ میشود.
البته درست مثل بلاک چین، در گراف جهت دار غیر مدور نیز هیچ اطمینان صددرصدی وجود ندارد و هرگز نمیتوان مطمئن بود که تراکنشی با شکست روبهرو نمیشود. احتمال این اتفاق بسیار کم است، اما از نظر تئوری میتوان یک بلاک بیت کوین یا اتریوم را لغو و همه تراکنشهای درون آن را بازگرداند. هر چه تعداد بلاکهای بعد از بلاک تراکنش شما بیشتر شود، میزان اطمینان به تایید تراکنش نیز بالاتر میرود. به همین خاطر است که همیشه میگویند بهتر است به اندازه 6 تایید بلاکی منتظر بمانید و بعد دارایی خود را خرج کنید.
در یک سیستم گراف جهت دار غیر مدور مثل تنگل (Tangle) که در شبکه IOTA استفاده میشود، مفهومی به نام «اطمینان به تایید» وجود دارد. الگوریتم انتخاب سرنخ 100 بار اجرا میشود و تعداد دفعاتی که تراکنش به صورت مستقیم یا غیر مستقیم در سرنخهای انتخابی به تایید رسیده است شمرده میشود. هر چه درصد بالاتر باشد، اطمینانی که به تایید شدن تراکنش داریم نیز بالاتر است.
شاید به نظر بیاید چنین فرآیندی تجربه کاربری بدی را رقم خواهد زد، اما دقیقا برعکس است. اگر آلیس 10 توکن برای باب ارسال کند، دیگر نیازی ندارد که بهترین سرنخ گراف را پیدا کند، چرا که والت او به صورت خودکار مراحل زیر را انجام میدهد:
- انتخاب سرنخهای سنگین (یعنی شاخههایی که بیشترین تعداد تایید تراکنش را دارند).
- دنبال کردن مسیر تراکنشهای قبلی برای اطمینان از اینکه سرنخها مبلغ کافی برای خرج کردن را دارند.
- اضافه کردن تراکنش به گراف جهتدار غیر مدور و تایید تراکنشهای ارجاع شده در صورت اطمینان داشتن.
در نظر آلیس، ارسال این ارز دیجیتال فرآیندی درست مشابه هر رمز ارز دیگر دارد. او تنها آدرس والت باب و مقدار ارز ارسالی را وارد میکند و روی گزینه «ارسال» میزند.
مزایای DAG
گراف جهت دار غیر مدور از نظر ساختاری مزایای متعددی دارد که میتوان آنها را به صورت زیر بیان کرد:
- سرعت بالا: وقتی محدودیتی به نام بلاکبندی کردن تراکنشها وجود نداشته باشد، هر کسی میتواند تراکنش خود را در هر زمان که میخواهد انجام دهد. در حقیقت گراف جهت دار غیر مدور محدودیتی در تعداد تراکنش بر ثانیه شبکه وجود ندارد و حتی با ثبت هر تراکنش، تراکنشهای قبلی نیز تایید میشوند.
- عدم نیاز به استخراج: گراف جهت دار بدون دور به شکل سنتی و کلاسیک از الگوریتم اجماع اثبات کار استفاده نمیکند. در نتیجه اثر کربنی و محیط زیستی تایید تراکنشها در این شبکه بسیار کمتر از رمز ارزهای مبتنی بر شبکههای اثبات کاری خواهد بود.
- صفر بودن هزینه تراکنش: از آنجا که هیچ ماینر یا استخراجکنندهای وجود ندارد، کاربران نیز برای ارسال تراکنشهای خود روی شبکه نیازی به پرداخت هزینه ندارند. البته گفتنی است که برخی از انواع نودها به مقدار کمی هزینه کارمزد نیاز دارند. هزینه پایین کارمزد یا حتی صفر بودن آن میتواند در پلتفرمهایی که ریزپرداخت دارند بسیار مفید واقع شود.
- حل مشکل مقیاس پذیری: با توجه به اینکه گراف جهت دار غیر مدور هیچ وابستگی ساختاری به دوره ساخت بلاک ندارد، میتواند نسبت به شبکههای بلاک چینی سنتی تعداد تراکنش بر ثانیه بسیار بیشتری را پردازش کند. بسیاری از فعالان حوزه تکنولوژی بر این عقیدهاند که نبود مشکل مقیاس پذیری در DAG منجر به ارزشمندی آن در پروژههای اینترنت اشیا میشود.
معایب DAG
سیستمهای ساخته شده با گراف جهت دار غیر مدور علاوه بر مزایای متعدد، معایبی نیز دارند که موجب میشوند نتوانند به طور کامل جایگزین سیستمهای بلاک چینی شوند. در ادامه دو مورد از این معایب را توضیح میدهیم.
- عدم تمرکززدایی کامل: پروتکلهای مبتنی بر گراف جهتدار بدون دور المانهای متعددی دارند که آنها را تا حدودی متمرکز میکند. در نظر برخی، گراف سودار غیر مدور یک راه حل کوتاه مدت برای کنار زدن مشکلات کنونی شبکه محسوب میشود، اما باید دید در آینده این سیستم تا چه اندازه میتواند بدون دخالت واسطهها و پروتکلهای ثانویه، به رشد و توسعه خود ادامه دهد. اگر رشد و توسعه زمانی متوقف شود، احتمال حملات تاثیرگذار و درهمشکننده شبکههای متکی به گراف جهت دار غیر مدور بالا میرود.
- بیتجربگی از نظر مقیاس پذیری: با اینکه سیستمهای متکی بر گراف جهت دار غیر مدور از چند سال پیش تا کنون در حوزه کریپتوکارنسی وجود داشتهاند، هنوز برای استفاده عمومی و وسیع راه طویلی در پیش دارند. به همین خاطر سخت میتوان حدس زد که در آینده ممکن است کاربران در چه زمینههایی سیستم را مورد فشار یا حمله قرار دهند.
یک مثال کاربردی از گراف جهت دار غیر مدور
بیایید فرض کنیم که میخواهید یک تراکنش جدید را در معماری گراف جهت دار غیر مدور ثبت کنید. قبل از اینکه تراکنش شما تایید شود، ابتدا باید به تراکنشهای قبل از خود ارجاع دهد و در حقیقت پایه خود را بر مبنای تراکنشهای سابق بنا بگذارد. درست مثل تایید نهایی تراکنشها در بلاک چین بیت کوین، با این تفاوت که هر تراکنش به تنهایی ثبت میشود.
اگر کاربر دیگری بخواهد با ارجاع به تراکنش شما تراکنش خود را ثبت کند، به این صورت در حقیقت TX شما را تایید و در گراف جهت دار غیر مدور ثبت میکند. دقت کنید که پیش از این تراکنش شما تاییدنشده محسوب میشد، اما اکنون یک تایید دارد و تراکنش کاربر جدید آخرین نقطه زنجیره است و تاییدنشده محسوب میشود. در نتیجه باید یک کاربر دیگر بنای تراکنش خود را با ارجاع به تراکنش کاربر قبلی ایجاد کند و به این ترتیب آن را تایید کند. این فرآیند تا بینهایت به تکرار خود ادامه میدهد، بیآنکه هرگز حلقه یا دایرهای میان گرهها و خطوط گراف ایجاد شود.
بعضی مواقع یک الگوریتم تصمیم میگیرد که تراکنش جدید باید بر اساس کدام تراکنش قبلی اجرایی شود که در بالا ذکر شد این الگوریتم از المانهای مختلف از جمله وزن شاخه و تعداد تراکنشهای تاییدشده شاخهها استفاده میکند.
فناوری دفتر کل توزیع شده (DLT) چیست؟
سیستمهای متکی به فناوری دفتر کل توزیع شده که از نمونههای آن میتوان به بلاک چین اشاره کرد، شبکههایی نظیر به نظیر هستند که اجازه میدهند تمام شرکتکنندگان در شبکه (یا نودها) هر کدام یک نسخه کامل و شخصی از دفتر کل اشتراکی را داشته باشند. این نوع از سیستمها به جای آنکه قدرتی مرکزی برای برقراری ارتباط و تغییر دادههای ثبت شده در پایگاه داده داشته باشند، به کاربران خود اجازه تایید، اجرا و ثبت تراکنشهای خود را میدهند بدون آنکه نیازی به یک واسطه باشد.
با اینکه انواع مختلفی از سیستمهای مبتنی بر دفتر کل توزیع شده وجود دارد، سه نکته مشترک در همه آنها از جمله گراف جهت دار غیر مدور دیده میشود. یک دفتر کل توزیع شده خصوصی یا عمومی، یک الگوریتم اجماع برای به توافق رسیدن بر نحوه مدیریت شبکه و قالب و چهارچوبی که برای انگیزه و جایزه دادن به کاربران ساخته شده است.
هر دفتر کل توزیع شده همچنین مشخصههای مختلفی دارد که آن را نسبت به دیگر انواع دیگر پایگاه داده خاص و منحصربهفرد میکند. در ادامه این مشخصهها را بررسی میکنیم.
توزیع شدگی
دادههای یک دفتر کل توزیع شده مثل بانکها یا موسسات متمرکز نیستند و در چند دستگاه پخش شدهاند. همه اعضای سیستم یک نسخه از این دفتر کل را دارند و میتوانند هر داده اضافه شده و تغییرات جدید را ببینند. البته برخی از انواع دیگر سیستم مثل کوردا (Corda) دادههای خود را به شکل دیگری ذخیره میکنند، اما در هر صورت داده غیر متمرکز است.
تغییر ناپذیری
دادههای ذخیره شده در یک دفتر کل توزیع شده قابلیت ویرایش یا حذف را ندارد. دفتر کل توزیع شده برای رسیدن به این تغییرناپذیری از فناوریهای رمزنگاری استفاده میکند. به عنوان مثال در یک سیستم بلاک چینی روند کار به این شکل است که پس از ساخت بلاک و به دست آوردن هش آن، رشته 256 بیتی هش در ساخت بلاک بعدی استفاده میشود. اگر بعد از ثبت بلاک و استفاده شدن هش آن برای ساخت بلاک بعدی یک بازیگر مخرب بخواهد اطلاعات بلاک مذکور را تغییر دهد، به طبق با تغییر اطلاعات درون بلاک، هش آن نیز متفاوت به دست میآید، چرا که رمزنگاری هش در شرایط ایدهآل تکرارناپذیر است و هش هیچ دو دادهای نمیتواند با همدیگر یکی باشد.
در نتیجه هش بلاک جدید با هش قبلی فرق میکند و بلاک بعدی ساخته شده با آن نیز متفاوت میشود. تنها راه فرار از این مشکل برای بازیگر مخرب، این است که بلاک بعدی را هم دستکاری کند. اما حتی در این صورت نیز هش بلاک بعدی پس از رمزنگاری شدن با آن نسخهای که ما به یاد داشتیم فرق میکند، در نتیجه بازیگر مخرب اکنون دو بلاک با هش اشتباه در بلاک چین دارد. وی میتواند دستکاری بلاکها را تا آخر مسیر ادامه دهد و کل بلاک چین را آلوده کند، اما در هر صورت وقتی به بلاک آخر برسد تمام نودهای شبکه متوجه خرابکاری او میشوند و از جمع تاییدکنندهها و سازندههای بلاک حذفش میکنند.
صرفا افزودنی
همانطور که بالاتر گفته شد، دادهها در سیستم دفتر کل توزیع شده قابلیت حذف ندارد و فقط میتوان آن را به انتهای زنجیره اضافه کرد. علت این موضوع ارائه یک تاریخچه کامل از تراکنشها در طول زنجیره است، به شکلی که در هر زمان هر شخصی میتواند به اطلاعات تراکنشهای بلاکهای قبلی دسترسی داشته باشد. اگر قابلیت حذف یا ویرایش داده در شبکه وجود داشت، دیگر اطلاعات به دست آمده از آن قابل اعتماد نبود.
صرفا افزودنی بودن دفتر کل توزیع شده در مقایسه با پایگاههای داده سنتی اطمینان و تغییرناپذیری را برای آن به ارمغان میآورد.
اشتراکی
در یک سیستم ساخته شده با فناوری دفتر کل توزیع شده هیچ شخص حقیقی یا حقوقی نمیتواند دادههای ثبت شده در پایگاه داده را متعلق به خود بداند و دیگران را از حق دسترسی به آنها منع کند، چرا که همه نودهای شبکه یک نسخه از اطلاعات و دادههای شبکه دارند. البته گاهی تنها چند مورد از نودها دفتر کل توزیع شده را به صورت کامل در خود ذخیره میکنند و بقیه فقط به اطلاعات مورد نیاز خود دسترسی دارند.
حتی در این صورت نیز سیستم مانند یک گراف جهت دار غیر مدور غیر متمرکز باقی میماند و امنیت و کارکرد آن حفظ می شود.
تفاوت بلاک چین و گراف جهت دار غیر مدور در چیست؟
بلاک چین به بیان کلی یک دفتر کل غیر متمرکز عمومی است. در بلاک چین برخلاف گراف جهت دار غیر مدور، تراکنشها در بلاکهای داده ذخیره و پس از رمزنگاری شدن، به یکدیگر زنجیر میشوند. در این نوع دفتر کل توزیع شده، تراکنشها قابلیت ویرایش و حذف ندارند، چرا که امضای رمزنگاری شده «هش» از آنها محافظت میکند.
بلاک چین به شخصی منحصربهفرد برای برقراری ایمن ارتباط میان کاربران شبکه نیاز ندارد، چرا که هر کدام از همان کاربران میتواند نقش بخشی از یک شخص بزرگتر قابل اعتماد را ایفا کند. این فرآیند برای به توافق رسیدن درباره تصمیمات درون شبکه الگوریتم اجماع نام دارد.
در دنیای کریپتوکارنسی کارکرد فناوری بلاک چین و گراف جهت دار بدون دور در حالت کلی یکسان است و هر دو برای ذخیره داده در پایگاه اطلاعات به صورت غیر متمرکز به کار میروند، اما روش انجام این کار در گراف جهت دار غیر مدور در مقایسه با بلاک چین تفاوتهای زیادی دارد. در ادامه ابتدا به دو تفاوت ساختاری این دو مکانیزم میپردازیم و بعد مزایا و معایب آنها را با یکدیگر مقایسه میکنیم.
ساختار
بلاک چین یک دفتر کل توزیع شده است که تمام نودهای شبکه نسخهای از آن را در خود ذخیره دارند. این دفتر کل توزیع شده زنجیرهای از بلاکهای حاوی تراکنش را تشکیل میدهد که همگی به ترتیب زمان و روال اجرا مرتب شدهاند. تراکنشهای بلاک چین در بلاک قرار میگیرند تا در مرحله بعد تایید و به زنجیره اضافه شوند. در نقطه مقابل بلاک چین، گراف جهت دار غیر مدور شبکهای از تراکنشهای منحصربهفرد و خاص است که هر کدام به چندین تراکنش دیگر نیز متصل شدهاند.
در شبکههای مبتنی بر گراف جهت دار بدون دور هیچ بلاک تراکنشی وجود ندارد. اگر بلاک چین را یک فهرست از تمام تراکنشها در نظر بگیریم، گراف جهت دار غیر مدور یک درخت است که از یک تراکنش به تراکنش بعدی شاخه میدواند و پیوسته رشد میکند و بزرگتر میشود.
اجماع
در یک بلاک چین، فرآیند رسیدن به توافق یا اجماع با تایید یکی یکی و به ترتیب بلاکها انجام میشود. برای این مسئله راه حلهای متعددی وجود دارد که از جمله آنها میتوان به مکانیزم اجماع اثبات کار (Proof of Work) اشاره کرد. در الگوریتم اثبات کار ماینرها باید برای حل کردن یک مسئله ریاضی با یکدیگر به رقابت بپردازند و در صورت موفقیت جایزهای دریافت میکنند. در یک سیستم گراف جهت دار غیر مدور تراکنشهای منحصربهفرد نقش تاییدکننده را برای یکدیگر ایفا میکنند.
در حقیقت کاربران شبکه DAG همزمان هم کار ماینر را میکنند و هم اعتبارسنج، اما نمیتوانند تراکنشهای خود را تایید کنند. به این ترتیب در بیشتر مواقع نیازی به پرداخت هیچ هزینه تراکنشی در شبکه وجود ندارد.
مقایسه مزایا و معایب دگ در برابر بلاک چین
فناوری بلاک چین شفافیت و تغییرناپذیری را به کاربران حوزه کریپتوکارنسی عرضه کرد. همچنین این تکنولوژی جایگاه محکم و تثبیتشدهای دارد و پایه ارزهای مهمی همچون بیت کوین و اتریوم به حساب میرود. سیستم بلاک چین راهکاری مفید و ایمن برای پردازش تراکنشهای با حجم متوسط تا زیاد ارائه میکند. سیستمهای گراف جهت دار غیر مدور نیز به لطف مقیاس پذیری بسیار خوب و هزینه تراکنش نزدیک به صفر خود برای پردازش حجمهای بالای تراکنش در ثانیه و همچنین ریزتراکنشهای زیاد بسیار مناسب هستند.
گراف جهت دار غیر مدور همچنین نیاز به ماینرها و تجهیزات استخراج رمز ارز را از بین میبرد و ساختاری سبز و سازگار با محیط زیست دارد.
گراف جهت دار بدون دور همچنین از نظر ازدحام شبکه نیز بسیار خوب عمل میکند. با افزایش تعداد کاربران و حجم تراکنشها در یک بلاک چین، نیاز به فضای ذخیره و پهنای باند نیز بیشتر میشود. الگوریتم اثبات کار برای رسیدن به اجماع قدرت پردازشی زیادی مصرف میکند و همچنین به خاطر هزینه بالای دستگاههای ماینر، ممکن است با استخراج خودخواهانه برخی از افراد ثروتمند، شبکه به کنترل عدهای خاص در بیاید.
همچنین در صورتی که ارزش رمز ارز بیش از حد پایین بیاید، انگیزه ماینرها برای استخراج در سیستم بلاک چینی کم میشود. یکی دیگر از مشکلات شبکههای بلاک چینی هزینه بالای تراکنش است که البته در هر الگوریتم اجماع فرق میکند، اما در هر صورت هنوز هیچ الگوریتمی وجود ندارد که هزینه تراکنش آن مثل گراف جهت دار غیر مدور صفر باشد.
با این حال گراف جهت دار بدون دور نیز مشکلات خود را دارد. کاهش حجم تراکنشها در یک سیستم DAG میتواند آن را نسبت به حمله هکرها آسیبپذیر کند. پروژههای مبتنی بر گراف جهت دار غیر مدور برای مقابله با این مشکل تا کنون راه حلهای زیادی را به کار گرفتهاند که از جمله آنها میتوان به هماهنگکنندههای متمرکز، اعتبارسنجهای از پیش تعیین شده، نودهای «مشاهدهگر» و شبکههای کاملا خصوصی اشاره کرد. تا کنون DAGها تجربه کاملا خوبی در زمینه تمرکززدایی نداشتهاند.
چه پروژههایی از گراف جهت دار غیر مدور استفاده میکنند؟
تا پیش از عرضه فناوری جدید گراف سودار بدون دور یا همان گراف جهتدار غیرمدور، حتی تصور اینکه رمز ارزی بدون تکیه بر تکنولوژی بلاک چین ساخته شود و فعالیت کند، برای کاربران این حوزه سخت بود. اما از آن زمان تا کنون در ساخت تعدادی از رمز ارزهای نسبتا معروف بازار از این ساختار معماری استفاده شده است.
از جمله نمونههای این ارزهای دیجیتال میتوان به OByte ،IOTA و Nano اشاره کرد. البته تکنولوژی DAG هنوز بسیار جدید و خام است، اما چهارچوب کلی آن پتانسیل بالایی برای موفقیت دارد. همانطور که گفته شد، چندین پروژه قبلا از این سیستم استفاده کردهاند که در ادامه آنها را توضیح میدهیم.
شبکه Obyte
توکن Obyte یا بایت بال (ByteBall) یک رمز ارز است با استفاده از گراف جهت دار غیر مدور توانسته ساختار خود را به کلی بینیاز از فناوری بلاک چین طراحی کند. اما تراکنشهای این رمز ارز هنوز مانند توکنهای ساخته شده بر بستر شبکه بلاک چین، هزینه کارمزد دارند.
علت کارمزد داشتن تراکنشهای انجام شده با رمز ارز Obyte این است که از سیستم اعتبارسنجی منحصربهفرد خود برای تایید و بررسی دوباره تراکنشها استفاده میکند. در حقیقت الگوریتم اجماع Obyte به تایید تعدادی از کاربران شناختهشده شبکه بستگی دارد که نقش شاهد معتبر و قابل اعتماد را ایفا میکنند.
Obyte همچنین از تراکنشهای غیر قابل ردیابی و قراردادهای هوشمند غیر قابل دسترس پشتیبانی میکند که آن را به عنوان یک رمز ارز با محرمانگی بالا بسیار ارزشمند میکند.
شبکه IOTA
اپلیکیشنهای اینترنت اشیا یا Internet of Things Applications که به اختصار IOTA نیز نامیده میشود شبکه بلاک چینی بدون بلاک خود را در سال 2016 راهاندازی کرد. ایده پشت IOTA این است که همه کاربران شبکه به طور ذاتی ماینر نیز هستند و به عنوان مثال هر کاربر برای اعتبارسنجی یک تراکنش، باید دو تراکنش دیگر را تایید کند.
آیوتا شبکهای از نودها دارد که وظیفه اول و اصلی آنها تسریع و کارآمد کردن فرآیند اعتبارسنجی است. همه کاربران به اندازه خود در تامین امنیت و مراقبت از شبکه سهیم هستند و تا حدودی در فرآیند اجرای اجماع نیز شرکت میکنند. به این ترتیب شبکه تا حد زیادی غیر متمرکز و در عین حال مقیاس پذیر میشود.
تراکنشهای این شبکه کارمزدی نزدیک به صفر دارند، در نتیجه IOTA راهکاری جایگزین و کمهزینه برای ریزپرداختهای رمز ارزی محسوب میشود. همین موضوع موجب محبوبیت خرید آیوتا در میان کاربران حوزه ارزهای دیجیتال به عنوان یکی از پروژههای DAG محور شده است.
شبکه Nano
نانو نیز یکی دیگر از ارزهای دیجیتال دنیای کریپتو است که از سیستم گراف جهت دار غیر مدور استفاده میکند. نانو بلاک چینهای مستقل و منحصربهفردی را توسط نودها به یکدیگر متصل میکند. اسم این تکنولوژی لایههای بلاکی است و از نظر فنی ترکیبی از گراف جهت دار غیر مدور و بلاک چین به حساب میآید.
هر کاربر به صورت اختصاصی یک والت و بلاک چین مخصوص خود دارد و تنها همان کاربر میتواند کیف پول ارز دیجیتال و بلاک چین خود را ویرایش کند. تراکنشها نیز تنها زمانی اجرا و نهایی میشوند که هم فرستنده و هم گیرنده در بلاک چینهای اختصاصی خود عملیات مربوطه را به انجام برسانند.
هزینه تراکنش در شبکه نانو عملا صفر است و همچنین سرعت اجرای تراکنشها در آن بسیار بالا محسوب میشود. این موضوع در کنار مناسب بودن قیمت ارز دیجیتال نانو (XNO) میتواند موجب رشد بیشتر پروژه شود.
شبکه Fantom
پروژه فانتوم با پروتکل اجماع لاکسیس (Lachesis) مدل جدیدی از گراف جهت دار غیر مدور را به نام DAG 2.0 معرفی کرد. یکی از دلایل سرعت بالای شبکه فانتوم نسبت به دیگر بلاک چینها این است که تراکنشها با فناوری DAG پشت همدیگر مرتب و ردیف و بعد به صورت همزمان تایید میشوند. روند کار در فانتوم به این صورت است که نودها بلاکهای رویداد را تولید و به صورت گراف جهت دار غیر مدور ردیف میکنند. سپس از این بلاکهای رویداد یک بلاک چین متشکل از بلاکهای تاییدشده ساخته میشود. به این ترتیب هم روند توزیع بلاک و تایید تراکنش سرعت بیشتری خواهد داشت.
الگوی اجماع فانتوم نسبت به الگوریتمهای سابق مزایای متعددی دارد. در مکانیزمهای قدیمی نودهای بلاک چین باید پس از ساخت هر بلاک منتظر تایید آن بمانند و بعد از ابتدا روند ساخت بلاک بعدی شروع میشود. اما فانتوم با دگ ورژن 2 خود این امکان را به وجود آورده که نودها بلاکهای رویداد را بسازند و پشت سر هم ردیف کنند تا در نهایت تعداد زیادی از آنها با هم تایید و ثبت شوند.
سخن پایانی
بدون شک گراف جهت دار غیر مدور از جذابترین تکنولوژیهای معماری شبکههای ارز دیجیتال است و با توجه به نوساخته بودن آن، پتانسیل بالایی برای پیشرفت و توسعه دارد. در مقایسه با بلاک چین، گراف جهت دار غیر مدور مزایای متعددی همچون هزینه کارمزد نزدیک به صفر و سرعت بسیار بالای تراکنش را دارد و همچنین امنیت و تمرکززدایی نسبتا مناسبی را به ارمغان میآورد. در صورتی که سیستمهای مبتنی بر گراف جهت دار بدون دور بتوانند به اندازه پتانسیل خود رشد کنند، اکوسیستمی مقیاس پذیر به وجود میآورند که کاربردهای متعدد از جمله اینترنت اشیا و ریزپرداختهای مالی را شامل خواهد شد.
تهیه شده در بیت 24