الگوریتم Equihash یک الگوریتم اثبات کار نامتقارن و بر پایه مسئله تاریخ تولد میباشد. الکس بیریوکوف و دیمیتری خوراتوویچ این الگوریتم را در دانشگاه لوکزامبورگ بوجود آوردند. این الگوریتم حافظه محور است و اثبات کار را از راه حافظه دشوار انجام می دهد، در واقع یعنی اندازه استخراج از راه اثبات کار عمدتا بوسیله مقدار حافظه (RAM) قابل دسترس فرد مشخص میگردد.
به زبان دیگر، حافظه دشوار به شرایطی گقته می شود که در آن زمان لازم جهت تکمیل یک مسئله محاسباتی مشخص با توجه به مقدار حافظه مورد نیاز جهت نگهداری اطلاعات تعیین میگردد.
در این مقاله ، نقش بااهمیت الگوریتم Equihash در امنیت شبکه های بلاک چین و اثرگذار مقاوم بودن آن در مقابل اسیک و علاوه بر این پیاده سازی و اصلاحات متنوع این الگوریتم را در بین پروژه های مشهور بلاک چین بررسی خواهیم نمود.
چرا الگوریتم Equihash مهم میباشد
درک این که به چه نحوی الگوریتم Equihash به یک الگوریتم هش مشهور تبدیل شده است، نیاز به تجزیه و تحلیل مسائلی خواهد داشت که شبکه های بلاک چین پیش از ساخت این الگوریتم با آنها روبرو بوده اند. چالش های نوشته شده در زیر هنوز هم جهت Equihash وجود دارند. با این حال، بکارگیری این الگوریتم به کم شدن تهدید هایی که دیگر الگوریتم های هش با آنها روبرو میباشند، کمک نموده است.
شبکه بیت کوین و معرفی اسیک ها
زمانی که بیت کوین در سال 2009 راه اندازی گردید، نخستین ریگ های استخراج از پردازنده های مرکزی (CPU) چند هسته ای استاندارد جهت استخراج (50 بیت کوین در هر بلاک) بهره میبردند. پردازنده های مرکزی بهترین شیوه جهت استخراج بیت کوین و ارزهای رمزپایه بر پایه اثبات کار بودند. بنابراین از الگوریتم هش SHA-256 جهت استخراج بیشتر این ارزها استفاده شد.
با ورود نخستین ریگ های استخراج مدارهای مجتمع با کاربرد بخصوص (اسیک) به بازار در سال 2013، شیوه استخراج نیز تغییر نموده. باتوجه به این که این دستگاه ها مخصوص استخراج ارزهای رمزپایه نوشته و ساخته شده بودند، سرعت آنها بسیار بیشتر از CPU و GPU بود. البته، آنها خیلی گران بودند، به همین سبب افراد ثروتمند و مزرعه های استخراج بزرگ به تدریج کنترل شبکه بیت کوین را در اختیار خود گرفته بودند این امر نه فقط استقلال صنعت استخراج، بلکه کنترل عرضه بیت کوین و دیگر ارزهای برپایه الگوریتم SHA-256 را تهدید میکرد.
سناریوهای متمرکزسازی
همانگونه که جیمی سونگ در مقاله خود ذکر کرده، بیت کوین در معرض دو نوع متمرکز سازی استخراج قرار گرفته: متمرکز سازی تولید و متمرکز سازی نرخ هش.
متمرکز سازی تولید گسترش یافته، چون شرکت بیت مین عرضه کننده اصلی ریگ های استخراج اسیک میباشد. سونگ خاطرنشان کرده که وابستگی اجباری به یک شرکت باعث اثرات موجی در شبکه بلاک چین خواهد شد. این اثرات بیشتر به سبب مشکلات احتمالی نظیر درهای پشتی، نقص های شرکت عرضه کننده، محدودیت خرید و تاخیرهای حمل و نقل بوجود می آیند.
شرایط کنونی استخراج با الگوریتم اثبات کار به شکلی میباشد که استخراج در شبکه های ارز رمزنگاری مثل بیت کوین به یک فعالیت متمرکز تبدیل شده است. یکی از علت های این موضوع ظهور سخت افزارهای مخصوص استخراج مصل اسیک میباشد. از آنجا که دستگاه های اسیک مخصوص استخراج طراحی شده اند، بنابراین در محاسبات بسیار پرقدرت و کارآمد میباشند.این موضوع سبب شده تا دستگاه های اسیک در حوزه استخراج، برتر از دیگر دستگاه های استخراج شناخته شوند.
تمرکز استخراج و حمله 51 درصد
از طرف دیگر، استخراج ارزهای رمزنگاری به صورت فزاینده ای به سمت نهادهایی متمرکز شده که توانایی خرید سخت افزار اسیک را به میزان فراوان دارند. این خود باعث ظهور مزرعه های استخراج ارز رمزنگاری در مقیاس عظیم شده است.لذا، شرکت بیت مین به نرخ هش 51 درصد نزدیک میشود. این همان متمرکز سازی نرخ هش میباشد و هنگامی اتفاق می افتد که یک شرکت یا گروه بیشتر از 50 درصد استخرهای استخراج یا ریگ های استخراج را کنترل می کند. این تمرکز سازی حمله 51 درصدی را در پی خواهد داشت.
همان گونه که در حملات 51 درصدی دیده ایم، دسترسی دستگاه های پرقدرت به نرخ هش و علاوه بر این حملات هماهنگ از راه اجاره نرخ هش از سایت های استخراج ابری قادرند مشکلات بزرگی در شبکه ایجاد میکنند. حمله 51 درصدی قادر است موجب اختلال قابل توجه در شبکه از جمله معکوس نمودن تراکنش ها و معضل دوبار خرج کردن گردد.
الگوریتم Equihash مقاوم در مقابل اسیک
با افزایش تهدید تمرکز استخراج، متخصصان زمینه رمزنویسی و توسعه دهندگان شروع به جستجو جهت جایگزین های احتمالی الگوریتم SHA-256 و دیگر الگوریتم های سازگار با اسیک نموده اند.
الگوریتم Equihash را می توان تلاشی جهت مقابله با تمرکز استخراج اسیک تلقی کرد، به همین سبب این الگوریتم مقاوم در مقابل اسیک میباشد.
ظهور الگوریتم Equihash
این الگوریتم برای نخستین بار در کنفرانس امنیت شبکه و سیستم توزیع شده (NDSS) در فوریه سال 2016 ارائه گردید. پروفسور الکس بیریوکوف (رئیس گروه تحقیقاتی Cryptolux) و دکتر دیمیتری خووراتوویچ (محقق درEthereum Foundation) یک مطلب علمی در سال 2017 با عنوان “الگوریتم Equihash: اثبات کار نامتقارن با توه به مسئله تاریخ تولد” منتشر نمودند. آنها این الگوریتم را به عنوان راه حلی جهت بالا بردن مقاومت در مقابل اسیک فراهم کردند.
این الگوریتم به مقدار بالایی حافظه جهت تولید یک اثبات نیاز دارد. اثبات ها را حدودا می توان فوری تایید نمود. این طرح دارای قابلیت موازنه حافظه و زمان میباشد که در صورت استفاده اندک از حافظه ، مجازات های محاسباتی فراوانی را اعمال خواهد کرد.
به سبب این که الگوریتم Equihash جهت تولید یک اثبات به حافظه فراوانی نیاز خواهد داشت، از تمرکز اسیک جلوگیری خواهد کرد. با توجه به این که حافظه یک منبع گران قیمت در محاسبات میباشد، بهینه سازی حافظه در تراشه اسیک هزینه محاسباتی هنگفتی را جهت کاربر در پی خواهد داشت. به عنوان نمونه، همان گونه که بیریوکوف و خووراتوویچ اشاره کرده بودند، بیشتر دسک تاپ ها و لپ تاپ های موجود در بازار قادرند 1 گیگابایت رم را مدیریت نمایند، در حالی که 1 گیگابایت حافظه روی تراشه خیلی زیاد میباشد. بنابراین، بهره از تراشه های اسیک در الگوریتم Equihash در مقایسه با استخراج در الگوریتم های بدون حافظه، کارایی و قدرت اندکی خواهد داشت.
موفقیت الگوریتم Equihash
الگوریتم Equihash به این سبب موفق میباشد که مسئله تاریخ تولد را(که دیوید واگنر از دانشگاه کالیفرنیا ، برکلی در سال 2002 آن را بررسی نمود ) حل خواهد کرد. به اعتقاد رمزنویسانی که در حوزه تحقیق و توسعه الگوریتم های هش ایمن فعالیت میکردند، این قبلا یک عامل محدود کننده بوده. از همه مهمتر، راه حل آنها جهت بهره برداری عملی آماده بود و مقاله آکادمیک انتشار یافته آنها تنها شامل استفاده آزمایشی بود.
این الگوریتم همچنین نامتقارن میباشد. این قابلیت مهمی به شمار میرود، چون یکی از قابلیت های بنیادی سیستم های اثبات کار موجود مثل بیت کوین این میباشد که اثبات محاسبات سخت ولی تایید آنها آسان میباشند. بیشتر طرح های حافظه دشوار، حافظه نامتقارن ارائه نخواهند کرد (آنها حافظه متقارن دارند)، یعنی یک تایید کننده میبایست به اندازه اثبات کننده حافظه استفاده نماید تا یک الگوریتم اثبات تایید گردد. به عبارت دیگر، تایید کننده میبایست حدودا به اندازه اثبات کننده قدرت در اختیار داشته باشد.
قابلیت های الگوریتم Equihash از زبان سازندگان آن
- فرایند فاقد پیشرفت: جهت این که از تمرکز استخراج جلوگیری گردد، استخراج باید یک فرایند تصادفی باشد که در آن احتمال ساخت یک الگوریتم اثبات در هر زمان مشخص مستقل از وقایع پیشین باشد.
- هزینه زیاد AT: با توجه به اینکه جهت محاسبات اثبات ها به حافظه زیادی نیاز میباشد، بهینه سازی تراشه های اسیک جهت حافظه باید هزینه فراوانی در اختیار داشته باشند.
- اندازه اندک اثبات و تایید آنی: اندازه های اثبات کوچک میباشند و خیلی سریع به تایید میرسند، به شکلی که تایید کننده حداقل حافظه را استفاده خواهد کرد.
- انعطاف پذیری: جهت محاسبه پیشرفت های الگوریتمی آتی و تغییرات ساختاری، متغیرهایی نظیر حافظه باید تنظیم گردند.
پروژه های مهمی که از الگوریتم Equihash استفاده می کنند
این الگوریتم نخستین بار به سبب تمایل به ایجاد بلاک چین های مقاوم در مقابل اسیک به کار گرفته شدند. همانگونه که در این نمونه ها بیان داده شده، پروژه ها واکنش متفاوتی به پیشرفت مداوم اسیک ها داشته اند. بعضی از تیم های این پروژه ها با دستگاه های اسیک مخالف میباشند ، بعضی تصمیم گرفته اند تا از این دستگاه ها پشتیبانی نماییند و بعضی دیگر هنوز در خصوص آنها بی طرف مانده اند.
زیکش
زیکش در 28 اکتبر سال 2016 عرضه گردید و نخستین پروژه ای بود که از الگوریتم Equihash بهره میبرد.شرکت بیت مین در ماه مه سال 2018 آنتماینر Z9 mini (یک ریگ استخراج اسیک بر پایه الگوریتم Equihash برای استخراج زیکش) را روانه بازار نمود. این دستگاه نوین استخراج، همان نگرانی های مربوط به تمرکز را زنده کرد که Equihash سعی در مقابله با آن را داشت.
رونمایی از این دستگاه استخراج منجر به بحث های فراوانی در میان جامعه زیکش درخصوص آینده الگوریتم های مقاوم در مقابل اسیک گردید. این مباحثه ها شامل تغییر پارامترهای پروتکل Equihash، بکارگیری نوع تازه ای از اثبات کار و یا حتی استقبال از دستگاه های اسیک میبود. زوکو ویلکاکس (خالق زیکش) در خصوص موضوع مقاوم در برابر اسیک موضعی بی طرف گرفته بود.
طی انتخابات سال 2018 بنیاد زیکش، رای دهندگان با 45 رای موافق و 19 رای مخالف به این نتیجه رسیدند که مقاوم در مقابل اسیک در اولویت قرار نخواهد گرفت. بر اساس یک میزگرد در آگوست سال 2019، بنیان گذاران زیکش و ناظران الکترونیک کوین کمپانی اظهار کردند که وجود نقص BCTV14 به این معنی میباشد که توسعه دهندگان باید میان بکارگیری Sapling یا معرفی الگوریتم های تازه مقاوم در مقابل اسیک ، یکی را انتخاب نمایند.
تیم زیکش در پایان تصمیم گرفت که گزینه پیشین را دنبال نماید ، چارکه کار همزمان بر روی مقاوم در مقابل ASIC به زمان بسیار و تخصیص منابع مهندسی نیازمند بود. به شکل خلاصه، ساخت یک الگوریتم که قادر باشد در بلند مدت در مقابل اسیک مقاوم باشد، بسیار دشوار خواهد بود.
هاش کوین
هاش یک ارز رمزنگاری بر پایه حریم خصوصی و دارای سرویس پیام رسان آنی بوده که بر پایه رمزگذاری اثبات دانایی صفربوجود آمده است.
بلاک چین هاش از الگوریتم Equihash بهره میبرد. توسعه هاش در میانه های سال 2016 با استخراج نخستین بلاک در نوامبر همان سال شروع شد. اسم اصلی آن”زی دش” بود که جهت تاکید بر بهره از ارتباطات خصوصی به هاش تغییر نمود .
بیت کوین گلد
بلاک چین بیت کوین گلد طی ماه مه سال 2018 مورد حمله دوبار خرج کردن واقع شد و هکر تقریبا 18 میلیون دلار را به سرقت برد. تا پیش از این حمله، الگوریتم Equihash بیت کوین گلد بر پایه پارامتر <200،9> تنظیم شده بود. ولی در ژوئن همان سال، این ارز الگوریتم استخراج خود را به(144,5) Equihash یا زی هش دچار تغییر کرد.
هدف از این تغییر الگوریتم مقابله با حملات 51 درصد و مقاوم گشتن در مقابل اسیک بود. (144,5) Equihash جهت اجرا حداقل به 700 مگابایت و جهت اجرای کارآمد به تقریبا 2.5 گیگابایت حافظه نیاز خواهد داشت. این اندازه 17 مساوی بیشتر از <200،9> میباشد، یعنی الگوریتم تازه جهت استخراج به حافظه خیلی فروانی نیاز خواهد داشت.
دیگر ارزهای رمزنگاری که از الگوریتم Equihash بهره میبرند عبارتند از: هورایزن، آیون،بیم، کمودو و بیت کوین پرایویت.
جمع بندی
همانگونه که ذکر کردیم، الگوریتم Equihash بر پایه اثبات کار میباشد و استخراج کنندگان در برابر ساخت یک بلاک جدید، پاداش دریافت خواهد کرد.
با این که این تحقیق آسیب پذیری های بلاک چین های اثبات کار را بیان میکند، این الگوریتم یک نقطه عطف اصلی جهت پروژه هایی میباشد که به دنبال غیرمتمرکز کردن استخراج و مقاوم شدن در مقابل اسیک میباشند. در نظر داشته باشید که بعضی از ارزهای رمزپایه اثبات کار مقاوم در مقابل اسیک میباشند و بعضی دیگر نیستند. این به الگوریتم استخراج آنها بستگی خواهد داشت.