یکی از مبسوطترین الگوریتمهای ماینینگ یا همان استخراج الگوریتم Ethash است. این الگوریتم مخصوص استخراج اتریوم است. امنیت و عملکرد این روش بسیار بالا است اما شیوه عملکرد آن چیست و چطور کار میکند؟ آینده این روش چیست و چه چشماندازی دارد؟ در این مقاله از فکت کوینز دربارهاش بیشتر خواهید خواند.
ریشه و اصل الگوریتم Ethash به چه بازمیگردد؟ Dagger-Hashimoto چیست؟
برای درک عملکرد الگوریتم ایتش باید در ابتدا با دگر-هاشیموتو (Dagger-Hashimoto) آشنا باشید. دگر-هاشیموتو پایه و اساس الگوریتم ایتش است. این الگوریتم بهدنبال ایجاد روشی ایمن براساس دو ستون اصلی زیر است:
- مقاومشدن در برابر استخراج ASIC.
- کاربردیبودن حتی برای رایانههاو دستگاههای ساده.
این دو اصل برای راهاندازی و عملکرد الگوریتم دگر-هاشیموتو ضروری هستند. این الگوریتم تلفیقی از دو سازوکار است. نخست، پای دگر بهمیان میآید که الگوریتم ساخته ویتالیک بوترین است.دگر از گراف جهتدار غیرمدور (directed acyclic graphs (DAG)) بهره میبرد و هدف آن خلق ساختار دادهای بسیار بزرگی است.
بیشتر بخوانید : آیا استخراج اتریوم در سال 2022 به صرفه است؟
برای شروع، این ساختار کمی بیشتر از ۱ گیگابایت فضای ذخیره اشغال میکرد اما در حال حاضر این رقم به ۴ تا ۵ گیگ میرسد. در ساختار مذکور، مجموعهای از محاسبات مربوط به حافظه اجرا میشوند که چندان آسان هم نیستند. این ساختار همان زمینه و بستری است که اجازه فرایند استخراج در الگوریتم هاشیموتو را صادر میکند.
الگوریتم هاشیموتو هم در تلاش برای مقاومت در مقابل استخراج با ASIC است و استخراج با هَش را اجرایی میکند. چنین اقدامی با مصرف زیاد حافظه رم (RAM) همراه است و محدودیتهایی برای ASIC بهوجود میآورد. اساساً آنچه هاشیموتو انجام میدهد، دریافت DAG تولید شده و اضافهکردن اطلاعات شبکه درباره سطح دشواری و پیچیدگی عملیات و تراکنشها است. ضمن اینکه دست به تولید هَش میزند و بلوکی را برای استخراج تعریف میکند.
تلفیق دو الگوریتم
با تلفیق این دو الگوریتم به الگوریتم واحدی میرسیم که سیستمی برای استخراج طراحی میکند. این سیستم مانع از عملکرد استخراج با ASIC میشود. این سازوکار آنچنان امن و پیشرفته است که حتی قرار بود جایگزین اسکرپیت شود. با همه اینها، الگوریتم تلفیقی دگر-هاشیموتو نقصهایی داشت که باعث میشد، نیاز به وجود الگوریتم دیگری احساس شود.
بیشتر بخوانید : DAG گراف جهت دار بدون دور
الگوریتم Ethash چطور کار میکند؟
عملیات الگوریتم ایتش با دگر-هاشیموتو کاملا متفاوت است اما اصول پایهای یکسانی دارند. ایتش بهشکل زیر کار میکند:
- سید یا دانه محاسبهشدهای (calculated seed) تا شروع فرایند استخراج بهکمک بلاکهدرها (block headers up) تولید میشود.
- این کش (cache) بعدتر برای تولید مجموعه دادهای بهکار میرود که بیشتر از ۴ گیگ ظرفیت دارد (DAG). این مجموعه داده نیمهدائمی است و هر ۳۰هزار بلاک بهروزرسانی میشود. در این صورت، DAG برای هر فصل استخراج متغیر خواهد بود.
- با تولید DAG، استخراج هم شروع میشود. این فرایند با مقادیر تصادفی از DAG پیش میرود و مقادیر منتخب را بهکمک دادههایی ترکیب میکند که از شبکه بهدست آمدهاند و در این صورت، تراکنشهای شبکه تأیید میشوند.
- در آخر، فرایند تأیید از مسیری انجام میشود که بخشهای خاصی از مجموعه داده را بهکمک حافظه کش بازسازی میکندو به فرایند سرعت میبخشد.
این عملیات فرایندی است که در نسخه ۲۳ام الگوریتم درجریان است. در فرایند از توابع و عملیات Keccak-256 و Keccak-512 هم استفاده میشود؛ الگورتیمی که از آن، استاندارد SHA-3 مشتق شده است.
اگر با این الگوریتم و عملیاتش آشنا باشید، حتما برایتان سؤال است که چرا اینقدر تغییرات و بازبینیها را تجربه کرده و از سر گذرانده است. تغییرات و اصلاحاتی که اعمال میشود، این الگوریتم را بدل به گزینهای کاربردوست یا همان یوزرفرندلی (USER-FRIENDLY) کرده و در ضمن کار را برای استخراج ASICs هم سختتر میکند.
مشخصات الگوریتم ایتش چیست؟
الگوریتم Ethash ویژگیهای منحصربهفرد و مطلوبی دارد:
- عملیات آن بهشدت وابسته به حافظه رم (RAM) است و پهنای باند زیادی مصرف میکند. این موضوع باعث مقاومت در برابر استخراج ASICs میشود و برای پیشبرد عملکردهای ایتش هم ضروری است.
- این الگوریتم با GPU سازگاری دارد و حتما میدانید که کارتهای گرافیکی جدید یا GPUها ظرفیت بسیار زیادی دارند. در واقع، گرافیک متحرک بازیهای امروزی به حافظه زیادی نیاز دارد و باید سیستمی برای پردازش موازی عناصر متنوع وجود داشته باشد تا همهچیز بهخوبی پیش برود. اگر فرایند استخراج با Ethash را امتحان کرده باشید،میبینید که امکان استفاده از حافظه GPU برای در دستداشتن کل DAG در حافظه وجود دارد. اینها در حالی انجام میشود که حافظه کش (cache) هم موجود است و تمام محاسبات را با سرعت بالایی انجام میدهد. در نتیجه همه اینها، کار استخراج سریعتر پیش خواهد رفت.
- ظرفیتهای تأیید عملیات خوب و سریعی برای رایانهها و سیستمهای ضعیف فراهم میکند. با ۱۶ مگابایت حافظه رَم، تأیید و پیشبرد تراکنشهای سیستمهای ضعیف هم بهخوبی و آسانی پیش میرود. فرایند تأیید برای سیستمهای رایانهای ضعیف با وجود الگوریتم Ethash فقط ۳۰ ثانیه طول خواهد کشید.
بیشتر بخوانید : مدت زمان استخراج لایت کوین (Litecoin Mining) چقدر است؟
Keccak و SHA-3 ؛ تفاوت اینها در چیست؟
این دو توابع هَش مشابهی هستند که با اصول و قواعد یکسانی کار میکنند اما شیوه استفادهشان با هم تفاوت دارد. نتایج و خروجیشان هم با هم فرق میکند. با این حال، امنیت، قدرت و سرعت عملکرد این دو تابع یکسان ارزیابی میشود. پس باوجود اینکه هریک از این توابع هَشهای متفاوتی تولید میکنند، امنیت و پایه عملیات یکسانی دارند.
مزایا و معایب الگوریتم Ethash
اگر بخواهیم به مزایا و معایب الگوریتم Ethash اشاره کنیم به موارد زیر میرسیم:
مزایا
- استفاده از این الگوریتم ساده است و در محدودکردن استخراج ASICs هم نقش مهمی دارد.
- سرعت الگوریتم بالا است و از ساختار DAG در حافظهاش استفاده میکند. بهکارگیری کش و تابع Keccak هم باعث عملکرد مطلوب در تولید بلاکها میشود. بنا به این مزیتها، اتریوم میتواند روی زمان تولید قابلتنظیمی حساب کند که در شبکه به آن نیاز دارد. این الگوریتم هم مقیاسپذیری را بالا میبرد و هم امنیت را.
معایب
- مقاومت الگوریتم در مقابل ASIC در سال ۲۰۱۸ با اشکالاتی روبهرو شد؛ یعنی زمانی که بیتمین (Bitmain) اولین ماینر خودش را به ایتش معرفی کرد. از آن به بعد، مکانیزمهایی برای جلوگیری از تمرکزگرایی بیش از حد در فرایند استخراج در اتریوم طراحی شد. توسعه اتریوم ۲.۰ هم بهدنبال آن است که الگوریتم اثبات کار (Proof of Work) را کنار بگذارد. در نتیجه با روی کارآمدن گسترده الگوریتم Ethash، سازوکار اثبات مشارکت (Proof of Participation) رواج پیدا خواهد کرد.
- مصرف حافظه بالای DAG باعث میشود که استخراج با دستگاههای ضعیفتر کمی سخت شود.
- دشواری روند کار با این الگوریتم باعث شده که استخراج برای همه آسان نباشد. این موضوع میتواند عیب قابلتوجهی باشد.
در آخر
اتریوم بلاکچین اصلی است که الگوریتم Ethash برای استخراج از آن استفاده میکند. الگوریتم روی این بستر تولید شده و توسعه پیدا کرده است. پروژه اتریوم کلاسیک، اتریوم هاردفورک هم با این الگوریتم عملیاتش را پیش میبرد. یادتان باشد که توکنهای فراوانی در اتریوم وجود دارند. اینها از همان الگوریتمی بهره میبرند که اتریوم استفاده میکند. بنابراین، رونق و استفاده از الگوریتم ایتش زیاد است. باید دید که آینده آن چطور پیش خواهد رفت.