هش گراف (hashgraph) چیست؟

هش گراف (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 استفاده می کند.همه این راه حل ها مزایا و معایب خود را دارد و هیچ راه حل طلایی برای حل مشکل مقیاس پذیری در حال حاضر وجود ندارد و هیچ وقت هم یک راه حل برای مشکلات علمی نبوده است.

سوال مهم دیگر این است که یک راه حل مقیاس پذیر در اصل به چه معنی می باشد؟ آیا یه این معنی می باشد که راه حل در اندازه تعداد کاربر ها مقیاس پذیر می باشد یا در تعداد تراکنش ها یا در اندازه شبکه. اگر یک شبکه p2p قادر به انجام هزار تراکنش می باشد ایا می توان ان را یک راه حل مقیاس پذیر دانست یا خیر؟ اگر این گونه باشد چه اتفاقی می افتد؟ اگر شبکه سایز خود را دو برابر بکند آیا می تواند عملکرد خود را همچنان حفظ بکند؟

در حقیقت راه حلی که فقط در یک بعد مقیاس پذیر می باشد، مناسب نخواهد بود. هش گراف تنها در قسمت تعداد تراکنش ها مقیاس پذیر می باشد و در تعداد نودها در شبکه مقیاس پذیر نمی باشد. برای مثال زیلیکا (zilliqa) بر روی تعداد نود های شبکه مقیاس پذیر است.

پس بیاید تکنولوژی اساسی که هش گراف در خود دارد را تحسین کنیم اما نه با چشم بسته. هم چنان که هش گراف قابل تحسین می باشد، بلاک چین هم به دلیل راه اندازی و ایجاد فرصت برای نمونه هایی همانند هش گراف و شبکه هایی مانند اتریوم، زیلیکا، نئو یا EOS؛  قابل تحسین می باشد.

 

 

source: mihanblockchain