با توجه به درخواست بسیاری از کاربران در سایت، در این مقاله قصد داریم سری به هش گراف (hashgraph) بزنیم تا ببینیم هش گراف چیست؟ هش گراف نوعی پروتکل اجماع و یکی از انواع دفتر کل توزیع شده (DLT) است که ادعا میکند میتواند تکنولوژی بلاک چین را کنار بگذارد!
این پروتکل دارای ویژگیهای زیر است:
- بسیار سریع است به طوری که قادر است در هر ثانیه ۲۵۰۰۰۰ تراکنش انجام دهد.
- با استفاده از اجماعی از نوع زمان باعث میشود که معادلات ریاضی معقولتری ایجاد شود.
- از نظر امنیتی در سطح امنیت سیستم بانکداری رتبه بندی میشود و این یعنی از خطای بیزانس جلوگیری میکند.
یک بررسی اجمالی از این ۳ ویژگی نشان میدهد حداقل روی کاغذ و از لحاظ تئوری این تکنولوژی میتواند با ۲۵۰۰۰۰ تراکنش در ثانیه، مشکل مقیاس پذیری که بلاک چین با آن روبرو است را حل کند.
هش گراف دقیقا چیست؟

هش گراف (hashgraph) یک اجماع جایگزین برای بلاک چین است که از یک پروتکل گاسیپ (gossip) استفاده میکند که به صورت زیر کار میکند:
هر نود میتواند اطلاعات امضا شده مربوط به تراکنش جدید و تراکنشهای دیگری که از بقیه گرفته را به همسایه خود که به صورت تصادفی انتخاب شده، انتشار بدهد (که به آن event میگویند). همسایهها رویدادهای گرفته شده را با اطلاعاتی که از بقیه نودها گرفتند جمع اوری میکنند و آنها را به صورت یک رویداد جدید در میآورد و بعد آن را به یک همسایه دیگر که ان هم به صورت اتفاقی انتخاب شده، میفرستد. این روند به همین صورت ادامه پیدا میکند تا اینکه همه نودها از اطلاعاتی که در اول ساخته شده یا فرستاده شده اگاهی پیدا کنند. حال به دلیل همگرایی سریع اطلاعات در پروتکل گاسیپ (gossip) هر قسمت از اطلاعات جدید میتواند به سرعت به هر نود در شبکه برسد.
تاریخچه پروتکل گاسیپ (gossip) را میتوان با گراف جهت دار نشان داد. برای مثال، در هر تراکنش هر نود یک نمودار را نشان میدهد که نمودار توالیهای فرستندهها و یا شاهدها را نشان میدهد. در شرایط ایده ال، همه نودها یک نسخه واحد از تراکنشها و شاهدهای آنها دارند.سپس با انجام رای گیری کنترل شدهی، هر نود میتواند تعیین کند که ایا تراکنش معتبر است یا خیر؛ با این شرایط که بیشتر از دو سوم نودهای شبکه به عنوان شاهد حضور دارند. باید به این موضوع توجه کرد که که هش گراف درمحیط بیزانس انجام میگیرد که در آن همان طور که اشاره شد، فرض بر این است که کمتر از یک سوم نودها به دلایل مختلفی حضور ندارند.
مزایا و معایب هش گراف
هش گراف هم مثل هر پروتکل دیگری، دارای مزایا و معایب مخصوص به خود است که باید هر کدام را به طور جداگانه مورد بررسی قرار داد. در ادامه، به بررسی نکاتی که از سوی هش گراف ادعا شده میپردازیم.
سریع بودن
هش گراف به دلیل استفاده از پروتکل گاسیپ (gossip) برای انتشار دادن پیامها و هم چنین بهبود سیستم پیامهای گاسیپ (gossip) برای کاهش ارتباطات بیهوده است. گاسیپ (gossip) هم چنین باعث ایجاد یک پروتکل اجماع نیز میشود. به هر حال، دلیل دیگری که باعث شده هش گراف سریع باشد، کارکرد هش گراف به طور کنترل شده است.
در حال حاضر هش گراف تنها به صورت خصوصی و بر اساس شبکههای پایه ای کنترل شده گسترش مییابد. برای مثال میتوانیم از تیم هش گراف تلگرام نام ببریم.
تفاوت شبکههای کنترل شده و کنترل نشده
حالا بیایم راجع به تفاوت شبکههای کنترل شده و غیر کنترل شده صحبت کنیم. تفاوتها بسیار زیاد است؛ به طوری که این متفاوت بودن تاثیر مستقیمی بر روی کارکرد پروتکل اجماع جدید، یعنی همان گاسیپ (gossip) داشته است.
در شبکه کنترل نشده مثل بلاک چین در بیت کوین و اتریوم، همه نودها میتوانند بدون اینکه از قبل شناسایی شده باشند، در پروتکل اجماع شرکت داشته باشند این نودها همچنین غیر قابل اعتماد هستند؛ به دلیل اینکه هر نود میتواند به راحتی به شبکه وارد یا از شبکه خارج شود. در کل برای این چنین مکانیزم اجماعی باید انتظار مشکلات شدیدی را داشته باشیم مخصوصا حملههای سیبل (Sybil) که در ان یک نود به پردازش چند تراکنش میپردازد.
حال در شبکههای کنترل شده، دفتر کل توزیع شدهای وجود دارد که تمام مشخصات نودها موجود است ولی شبکه برای شرکت کننده دلخواه قابل دیدن نیست. اینکه مشخصات همه نودها در دفتر کل توزیع شد موجود است، باعث میشود که به طور طبیعی بتوان در برابر حمله Sybil ایمن بود و این مسئله دسترسی به اجماع را راحتتر میکند .به همین دلیل دیگر نیازی به یک مکانیزم مقاوم در برابر حمله Sybil نیست و کارکرد کلی شبکه در مقایسه با شبکههای کنترل نشده افزایش مییابد.
هش گراف (hashgraph) یک دفتر توزیع کنترل شده است که باید با بلاک چینهایی مقایسه شود که آنها هم به صورت کنترل شده هستند؛ مانند IBM HyperLedger Fabric (که ۷۰۰ تراکنش در ثانیه انجام میدهد) یا Red Belly (که میتواند ۴۰۰۰۰۰ تراکنش در ثانیه داشته باشد).کارکرد هش گراف نباید با شبکههای کنترل نشده مثل بیت کوین یا اتریوم که ۱۰ تراکنش در ثانیه انجام میدهند مقایسه بشود. همان طور که نباید سیب را با پرتقال مقایسه کرد، این مقایسه هم نباید انجام بشود. هش گراف هم چنان باید تمرکز زیادی بر زمینه جزییات فنی بگذارد تا بتواند دفتر توزیع خود را به صورت دفتر توزیع عمومی گسترش بدهد.
عادلانه بودن هش گراف

همان طور که اشاره شد، هش گراف از طریق اجماعی از نوع زمان باعث میشود عدالت در شبکه ایجاد شود؛ یعنی اگر یک تراکنش قبل از بقیه تراکنشها به دو سوم تایید شبکه برسد، به عنوان اولین تراکنش که باید انجام شود در نطر گرفته میشود. اما به دلیل اینکه دو سوم افراد شبکه به عنوان شاهد هستند و قطع به یقین برای بیشتر این افراد سخت خواهد بود که بخواهند تصمیم نادرستی بگیرند که موجب بیعدالتی بشود، میتوان گفت که این سیستم یک سیستم عادلانه است. به هر حال این را میدانیم که هش گراف بر اساس پروتکل گاسیپ (gossip) عمل میکند و این بدین معنی است که وقتی یک نود همسایه خود را که برای انتقال اطلاعات ان را انتخاب میکند، به صورت یکنواخت و نه تصادفی، احتمال اینکه همه نودها بیزانس یا مخرب شوند زیاد میشود. حال این نودها که به صورت یکنواخت و نه رندم، انتخاب شدهاند میتوانند مانع انتقال تراکنش به گروه بعدی نود شوند. در نتیجه با مانع شدن از رسیدن تراکنش به دو سوم نودهای شبکه، باعث میشود که یک سیستم بی عدالت ایجاد شود. علاوه بر آن مشکل دیگری که وجود دارد این است که نمیتوان به طور قطعی مطمئن شد که هر نود درستکار به نودهای درستکار دیگر وصل شده باشند. یا هر تراکنش را بتوان به نودهای درستکار دیگر انتقال داد بدون اینکه توسط یک نود مخرب واسطه، متوقف شوند. در حال حاضر این مشکلی که در بالا ذکر شد در طبیعت کنترل شده هش گراف موجود نیست؛ این مشکل زمانی ایجاد میشود که بخواهیم یک دفتر کل توزیع شده عمومی را ایجاد کنیم.
امن بودن هش گراف
هش گراف یک BFT (تحمل خطای بیزانس) غیر همزمان است ولی نمی توان به طور قطع این موضوع را بیان کرد. در سال ۱۹۸۵ اثبات شد که درسیستمهای غیر همزمان، پروتکلهای اجماع به طور قطع حتی در یک سیستم ساده که یک نود معیوب دارد، امکانپذیر نیست.
هش گراف یک پروتکل غیر همزمان احتمالی است که در آن تصادفی انتخاب کردن نیز اضافه شده است. روش کار این گونه است که پروتکل اجماع در نهایت به اتمام میرسد اما اینکه چه زمانی به سرانجام میرسد مشخص نیست. در ساختار کنونی، هش گراف در زمانی که هیچ پیشرفتی در پروتکل اجماع ایجاد نشود، از coin toss استفاده میکند. به همین دلیل احتمال اینکه همه نودهای درست کار بعد از انجام روند coin toss ارزش یکسانی داشته باشند، صفر است. در نهایت همه نودهای درست کار یکسان میشوند. البته این احتمال هم وجود دارد که همه نودهای خرابکار برای اختلال در پروتکل به وسیله دستکاری کردن در پروتکل گاسیپ (gossip) اقدام کنند. همان طور که با جزییات در مورد دوم گفته شد، تاثیر و کارامدی سیستم coin toss مورد چالش واقع خواهد شد.
و اما سوال اساسی که همه در پی آن هستنند، آیا هش گراف میتواند بلاک چین را کنار بگذارد؟
هش گراف یک پروتکل اجماع جالب است که عملکرد بسیار خوبی دارد. هش گراف در حالت شبکه کنترل شده سریع، عادلانه و امن است. به هر حال اگر به هر دلیلی و هر زمانی هش گراف در حالت کنترل نشده استفاده شود، با همان مشکلهایی که بقیه بلاک چینهای عمومی دارند مواجه خواهد شد و احتمال اینکه امنیت و عملکرد خود را بتواند حفط کند، کم خواهد شد.
در حقیقت مقیاس پذیری همچنان یک مشکلی اساسی است که بلاک چینهای عمومی با آن مواجه هستند. اما بعضی از راه حل هایی توسط جامعه پیشنهاد میشود، بسیار جالب است. برای مثال اتریوم در پروتکل کسپر (Casper) خود از الگوریتم POS استفاده میکند. تیم نئو (NEO) از پروتکل dBFT استفاده میکند و شبکه EOS از یک راه حل مبتنی بر dPoS استفاده میکند. همه این راهحلها مزایا و معایب خود را دارد و هیچ راه حل طلایی برای حل مشکل مقیاس پذیری در حال حاضر وجود ندارد و هیچ وقت هم یک راه حل برای مشکلات علمی نبوده است.
سوال مهم دیگر این است که یک راه حل مقیاس پذیر در اصل به چه معنی است؟ آیا یه این معنی است که راه حل در اندازه تعداد کاربرها مقیاس پذیر است و یا در تعداد تراکنشها یا در اندازه شبکه. اگر یک شبکه همتا به همتا قادر به انجام هزار تراکنش باشد، آیا میتوان ان را یک راه حل مقیاس پذیر دانست یا خیر؟ اگر این گونه باشد چه اتفاقی میافتد؟ اگر شبکه سایز خود را دو برابر کند، آیا میتواند عملکرد خود را همچنان حفظ کند؟
در حقیقت راه حلی که فقط در یک بعد مقیاس پذیر است، مناسب نخواهد بود. هش گراف تنها در قسمت تعداد تراکنشها مقیاس پذیر است و در تعداد نودها در شبکه مقیاس پذیر نیست. برای مثال زیلیکا (zilliqa) بر روی تعداد نودهای شبکه مقیاس پذیر است.
پس بیاید تکنولوژی اساسی که هش گراف در خود دارد را تحسین کنیم، اما نه با چشم بسته. هم چنان که هش گراف قابل تحسین است، بلاک چین هم به دلیل راه اندازی و ایجاد فرصت برای نمونههایی همانند هش گراف و شبکه هایی مانند اتریوم، زیلیکا، نئو یا EOS؛ قابل تحسین است.
آخرین به روز رسانی: ۱۳۹۹/۴/۱۸