هش گراف (Hashgraph): نسل چهارم DLT
بلاک چین در زمان معرفی ایده نوآورانه خود انقلاب مهمی در دنیای فناوری به حساب میآمد، ولی به تدریج پلتفرمهای جدیدتر به سراغ اصلاح مشکلات این سیستم رفتند و اکنون هش گراف آمده تا با ارائه نسل چهارم دفاتر کل توزیع شده (DLT) راهکاری ایدهآل برای مشکلات پلتفرم موجود باشد. اگر نمیدانید هش گراف چیست و چه کاربردهایی دارد در ادامه مطلب با ما همراه باشید.
بلاک چین پایگاه داده توزیع شدهای است که وضعیت آن به مرور زمان تغییر میکند (DLT همان فناوری دفتر کل توزیع شده است). مثال کلاسیکِ وضعیتْ دفتر کلی با ترازهای حسابداری است، اما این دفتر کل میتواند هر چیزی باشد: برای نمونه، در فضای اتریوم، وضعیت EVM شامل وضعیت تمام قراردادهای هوشمند شبکه است.
با این حال به سختی میتوان مشخص کرد که یک وضعیت سراسری برای یک سیستم توزیع شده چیست: هر گرهِ مشارکتکننده وضعیت داخلی خودش را دارد، بنابراین تعداد وضعیتها عملا به اندازهی تعداد گرههای موجود در شبکه است. به منظور تعریف وضعیت سراسری بلاک چین، ضروری است پروتکلی کارآمد داشته باشیم که به تمام گرههای مشارکتکننده اجازه میدهد روی یک وضعیت به توافق رسیده و وضعیتهای داخلی خود را مطابق آن آپدیت کند. به عبارت دیگر، وضعیت سراسری نسخهای از وضعیت است که اکثر گرهها روی آن اتفاق نظر دارند.
اثبات کار که هنوز توسط بسیاری از بلاک چینهای بزرگ مثل بیت کوین و اتریوم استفاده میشود، به منظور پیشگیری از ساخت گرههای جعلی برای تایید یک وضعیت دروغین به وجود آمد. این نوع حمله تحت عنوان حمله سیبیل (Sybil) شناخته میشود.
بلاک چین زنجیرهای از بلاکهاست که در آن هر بلاک به هنگام ساخته شدن توسط گره سازنده از طریق اثبات کار (یا اصطلاحاً «نانس») ارائه شده و توسط شبکه تایید میشود. برای پیدا کردن این نانس نیاز به تجهیزات فنی (مثل GPU و ASIC) و مقدار قابل توجهی برق وجود دارد. تراکنشها برای نهایی شدن باید در بلاکها ثبت شده و سپس توسط n بلاک تایید شوند تا امکان دستکاری در زنجیره یا تغییر سابقه آن وجود نداشته باشد.
اثبات سهم پروتکل دیگری است که از وقوع حملات سیبیل جلوگیری میکند و هدف آن جایگزین کردن منابع خارجی، نظیر سختافزار و برق سیستم اثبات کار، با منابع داخلی است؛ منابعی که در آن از خود رمز ارزها به عنوان وثیقهای برای رای شما استفاده میشود.
ضروری است که باید مقدار مشخصی رمز ارز داشته باشید تا بتوانید بلاک تولید کنید. اگر شبکه متوجه رفتار خصمانهای از سوی کاربر شود، وثیقهای که نزد سیستم قرار داده شده مصادره میشود، بنابراین کاربران سعی میکنند رفتار درست و صادقانهای داشته باشند.
با این حال، اثبات سهم مستعد مشکلی به نام Nothing at Stake است. این مشکل به طور خلاصه یعنی اگر شبکه دچار انشعاب شود، ممکن است گرههای خلافکار به رای دادن برای بلاکهایی ترغیب شوند که در هر دو زنجیره ساخته شده است. آنها با این کار میتوانند در هر دو شبکه به سود برسند.
اثبات کار و اثبات سهام یک ویژگی مهم دیگر هم دارد: مدت زمانی که طول میکشد تا بلاکهای جدید ساخته شود به عنوان ساعت شبکه شناخته میشود. حتی اگر زمان دقیق شبکه تصادفی باشد، دشواری آن با کسب میانگین از طریق بلاکهای متوالی تعدیل میشود تا میانگین مدت زمان بین دو بلاک متوالی در زنجیرهی عادی ثابت و دقیق باقی بماند (این زمان در بیت کوین ۱۰ دقیقه است). همان طور که ۱۰ دقیقه برای بیت کوین بیشتر از مدت زمان تاخیر شبکه است، تقریبا با اطمینان میتوانیم بگوییم که این بلاک تا پیش از استخراج بلاک بعدی به تمام گرههای شبکه میرسد.
فراتر از بلاک: هدرا هش گراف (Hedera Hashgraph)
اگر دفتر کل توزیع شدهای بتواند پا را فراتر از بلاک، مکانیزم اثبات کار یا مکانیزم اثبات سهم بگذارد، چه میشود؟ آیا در این صورت به سیستمی میرسیم که دیگری لازم نیست پیش از کسب تاییدیه از شبکه منتظر نهایی شدن بلاکها بماند، و در آن خبری از مصرف بالای انرژی به منظور حل مسائل ریاضی نخواهد بود؟
هدرا هش گراف (Hedera Hashgraph) در سال ۲۰۱۵ به دست لیمان بِیرد (Leemon Baird)، همبنیانگذار و مدیر ارشد فناوری شرکت Swirlds، متولد شد؛ شرکتی که در شهر نیویورک مستقر است و در زمینهی نرمافزار فعالیت میکند. هدرا هش گراف میخواهد:
- رمز ارزی با پشتیبانی بومی از ریز-تراکنشها باشد؛
- سیستمی برای ذخیرهسازی توزیع شدهی فایلها باشد؛
- پلتفرمی باشد برای قراردادهای هوشمندی که با سالیدیتی ساخته میشوند.
هدرا ظاهرا ترکیبی ایدهآل از ویژگیهای مثبت مدلهای اجماع است که در عین حال میتواند عملکرد، ایمنی و غیرمتمرکز بودن سیستم را تضمین کند. مدلهای فعلی DLT نظیر بلاک چین معمولا مؤلفهی آخر را فدا میکنند تا بتوانند به مقیاسپذیری دست یابند.
عملیات
هدرا از طریق پروتکلی موسوم به Gossip یا گمانهزن کار میکند که در آن هر گره با گره تصادفی دیگری ارتباط گرفته و تایید تراکنشهای مدنظرش را به همراه کل سوابق رجیستری خود به آن گره اعلام میکند. این عمل توسط گرههای گیرنده پیغام نیز تکرار میشود تا جدیدترین اطلاعات موجود در تمام شبکه پخش شود. این ساختار اطلاعاتی با استفاده از گراف جهتدار غیرمدور (DAG) سازماندهی میشود که در آن هر رأس یا گره حاوی هش دو گره اصلی خودش است.
هدرا هش گراف برخلاف بلاک چینهای سنتی گرافی از تراکنشهاست که میتواند به صورت موازی و نه خطی پردازش شود.
هر گره (که با نوعی مکانیزم اثبات کار در شبکه مشارکت میکند) از طریق یک سیستم «رأیدهی مجازی» میتواند بدون ارسال رأی در هر تصمیمی به توافق برسد چون نسخهای از هش گراف را در اختیار دارد. هر عضو شبکه بدون درگیر شدن در فرآیند رأیدهی عملا میداند که سایر اعضای چه رأی دادهاند.
خود هش گراف برای حفظ تمام تاریخچهی تراکنشها کافی است، بنابراین از پهنای باندی معادل صفر استفاده میشود که فراتر از سیستم سادهی گمانهزنیِ هش گراف است.
مدیریت مهرهای زمانی در این سیستم به روش جالبی انجام میشود: هش گراف به هر تراکنش یک مهر زمانی میدهد که نشان میدهد اکثر اعضای شبکه چه زمانی آن تراکنش را دریافت کردهاند. این مهر زمانی مکانیزمی منصفانه است، چون گرههای خلافکار نمیتوانند آن را جعل کنند. از این رو ترتیب تراکنشها به شکلی واضح از طریق مهر زمانیشان تعیین میشود، بدون آن که توانایی خاصی برای مرتبسازی موقعیتها برای ماینرهای شبکه وجود داشته باشد.
هدرا شاردها (Shards) را هم به شکل بومی مدیریت میکند: هر گره در هر شارد تمام تراکنشهای آن شارد را دریافت کرده و وضعیت اشتراکگذاریشدهی کاملا یکسانی را نگهداری میکند. هر شارد میتواند اکانتها و فایلهای رمز ارزی را ذخیره کرده و قراردادهای هوشمند را اجرا کند.
لیمان بیرد مدعی است که کاربران به لطف هش گراف هدرا موافقتی ناهمگام از نوع تحمل خطای بیزانسی (BFT) دریافت میکنند که بهترین نوع موافقت است: این سازوکار در ظرف چند ثانیه به هدف خود دست پیدا میکند، در حالی که بلاک چینها این کار را در طول چند دقیقه انجام میدهند. تولید هر بلاک در بیت کوین ۱۰ دقیقه طول میکشد و گاهی اوقات به اندازهی تولید ۶ بلاک زمان میبرد تا بخش عمدهای از کاربران مطمئن شوند که تراکنش تایید شده است؛ یعنی ۶۰ دقیقه زمان لازم است تا کاربران ۹۸.۴ درصد اطمینان یابند. به گفتهی لیمان، بلاک چینها هرگز نمیتوانند امنیتی ۱۰۰ درصدی داشته باشند، بلکه صرفا میتوانند در طول زمان با تولید هر بلاک میزان اعتماد به سیستم خود را افزایش دهند.
اگر عملکرد بلاک چینهایی که ما میشناسیم را به عنوان محدودیتی در برابر پذیرش این فناوری توسط کسب و کارها در نظر بگیریم، باید گفت که هدرا در این زمینه به دستاورد قابل ملاحظهای دست یافته و در آخرین آزمایشات توانسته ۵۰۰ هزار تراکنش را در هر ثانیه پردازش کند.
امنیت و پایداری پروژه در بلند مدت
هدرا به منظور کسب اطمینان از پایداری پروژه و بازار برای فناوریهای توزیع شدهی ثبت (یا رجیستری) در مقایسه با سایر پروژههای بلاک چینی از رویکرد متفاوتی استفاده میکند:
- الگوریتم موافقت هش گراف به عنوان یک فناوری اختصاصی از طریق سه پتنت در سال ۲۰۱۶ در آمریکا به ثبت رسیده، اما امکان اعطای مجوز برای شرکتهایی که خواستار استفاده از این فناوری هستند وجود دارد.
- توسعهی قراردادهای هوشمند در هدرا رایگان است و به هیچ مجوزی نیاز ندارد.
- این پلتفرم توسط ۳۹ شرکت در صنایع مختلف و در نقاط گوناگون دنیا از جمله Swirlds اداره میشود که همگی توان رأیدهی یکسانی دارند.
- کلاینتها تنها در صورتی میتوانند در شبکه مشارکت کنند که جدیدترین نرمافزار را داشته باشند و سیستم آنها در حالت آپدیت خودکار قرار بگیرد.
شورای هدرا هش گراف به منظور کسب اطمینان از پایداری این شبکه از طریق آپگریدهای اجباری بررسیهای حقوقی خاصی انجام میدهد تا مطمئن شود که هیچکس انشعابی از این دفتر کل نمیسازد و به رقیب آنها تبدیل نمیشود.
اگرچه این رویکرد مدیریت شبکه را بسیار ساده کرده و از ایجاد انشعابهای متعدد جلوگیری میکند، ولی بستن راه دسترسی جامعه متن باز به الگوریتم هش گراف به صورت بالقوه خطرناک است. آیا توسعهدهندگان حاضر میشوند اپلیکیشنهای غیرمتمرکز خود را روی یک پروتکل بسته بسازند؟
پلتفرم لیمان بیرد با استفاده از سالیدیتی به عنوان زبان برنامهنویسی قراردادهای هوشمند و با ارائهی تعهدی مبنی بر فراهمسازی پروژههای سالیدیتی بدون ایجاد تغییر در کد آنها (درست مثل Tron و Zilliqa) سیگنال مناسبی برای جامعهی توسعهدهندگان اتریوم صادر کرده است.
هدرا اخیرا شبکهی اصلی خود را راهاندازی کرده و حالا باید ارزشش را نشان دهد. پروژههای دیگری مثل Fantom هم هستند که به عنوان پلتفرمی برای قراردادهای هوشمند طراحی و بر اساس DAG ساخته شدهاند و قرار است در سهماهه سوم امسال شبکه اصلی خود را راهاندازی کنند.
سلام وقتتون بخیر باشه
من اون قسمت nothing at stake رو متوجه نشدم .. لطفا میکنید واضح تر توضیح بدید