معرفی الگوریتم Ethash و کاربردهای آن
اثبات توابع استخراج کار به عنوان ابزاری برای ایمن سازی شبکه های توزیع شده و پردازش بلوک های معاملات در بلاکچین استفاده می شود که شامل گرفتن داده از یک هدر بلوک، برای تشکیل ورودی و هش کردن مکرر آن ورودی با استفاده از الگوریتم هش رمزنگاری است. این فرآیند، یک خروجی با طول ثابت تولید می کند که نشان دهنده مقدار هش است. ماینرها هر بار که داده های ورودی به الگوریتم وارد می شوند، با وارد کردن یک غیر متغیر متفاوت، داده های ورودی را هش می کنند. در مورد Ethereum ، الگوریتم Ethash مورد استفاده قرار می گیرد.
درباره Ethash
Ethash اثبات الگوریتم کار است که یک نسخه اصلاح شده از الگوریتم شناخته شده Dagger-Hashimoto است. با این الگوریتم، خروجی شکل گرفته در فرآیند هش کردن باید منجر به یک مقدار هش شود که زیر یک آستانه خاص باشد. این مفهوم به عنوان دشواری شناخته می شود و شامل افزایش و کاهش آستانه شبکه اتریوم و به منظور کنترل سرعت استخراج بلوک ها در شبکه می باشد.
اگر نرخ یافتن بلوک ها افزایش یابد، شبکه به طور خودکار دشواری را افزایش می دهد و به عبارتی آستانه شبکه را کاهش می دهد تا تعداد هش های معتبر نیز کاهش یابد. با الگوریتم Ethash ، سختی به صورت پویا تنظیم می شود و به طور متوسط، هر 12 ثانیه یک بلوک توسط شبکه تولید می شود.
Ethash و مقاومت ASIC
Ethash بر اساس یک مجموعه داده بزرگ و تصادفی ایجاد می شود که به عنوان DAG شناخته می شود. DAG در هر 30،000 بلوک یک بار به روز می شود و اندازه DAG فعلی Ethereum، 2.84 گیگابایت است که با رشد بلاکچین به رشد خود ادامه می دهد.
استخراج با الگوریتم Ethash ، شامل ایجاد داده های تصادفی از مجموعه DAG ، محاسبه برخی از تراکنش های تصادفی انتخاب شده از هر بلوک و سپس بازگرداندن هش نهایی است. این بدان معناست که برای استخراج داده ها و محاسبه معاملات به طور تصادفی، یک استخراج کننده باید کل DAG را ذخیره کند.
در نتیجه، اثبات فرآیند استخراج کار در اتریوم، یکی از مواردی است که می توان آن را حافظه سخت قلمداد کرد. حافظه سخت به وضعیتی اشاره دارد که در آن، زمان برای تکمیل یک مسئله محاسباتی مشخص، اساساً با توجه به میزان حافظه مورد نیاز برای نگهداری داده ها تعیین می شود.
بنابراین، اکثر قریب به اتفاق تلاش های یک استخراج کننده به جای محاسبه داده های ایجاد شده، صرف خواندن DAG می شود. این امر برای ایجاد مقاومت در برابر ASIC در نظر گرفته شده است. زیرا بزرگ بودن حافظه مورد نیاز استخراج در اتریوم به این معنی است که استخراج کنندگان در مقیاس بزرگ از بسته بندی ترابایت حافظه در دستگاه های خود سود کمی می برند.
دلیل این امر این است که ماینرهای کوچکتر با صرف خرید مقدار زیادی دستگاه نگهدارنده حافظه می توانند همان اثر را بدست آورند، زیرا هزینه انرژی حافظه برای تراشه های ASIC با هر دستگاه فیزیکی قابل ذخیره سازی حافظه قابل مقایسه است.
در مقایسه با بیت کوین
برای درک بهتر از الگوریتم Ethash اثبات مدل کار Ethereum را می توان در مقابل مدل هایی مانند Bitcoin قرار داد که بر اساس هش کردن SHA-256 عمل می کند. برای مثال در مورد بیت کوین، زمان لازم برای انجام یک کار محاسباتی اساساً با سرعت پردازنده مرکزی رایانه تعیین می شود.
با توجه به این واقعیت که الگوریتم استخراج بیت کوین به یک محاسبه ساده SHA-256 نیاز دارد، ما شاهد ظهور تراشه های ASIC هستیم که تنها با هدف محاسبه میلیاردها هش SHA-256 پیکربندی و طراحی شده اند. این امر باعث شده است که رقابت برای استخراج کنندگان با سخت افزار CPU و GPU برای اهداف عمومی عملاً غیرممکن باشد، زیرا تراشه های ASIC در محاسبات بسیار کارآمدتر هستند.
بنابراین الگوریتم Ethash در تلاش برای ایجاد روند برابری طلبانه، استخراج یک الگوریتم کار سخت حافظه است که برای مقاوم سازی در برابر ASIC طراحی شده است. همچنین توجه به این نکته مهم است که برنامه هایی برای انتقال الگوریتم اجماع اتریوم از اثبات کار به اثبات سهام وجود دارد که باعث می شود استخراج در این ارز رمزنگاری شده به شکل فعلی، منسوخ شود.
Dagger-Hashimoto چیست ؟
برای درک نحوه کار این الگوریتم، ابتدا باید اشاره کنیم که Dagger-Hashimoto چیست. هنگام بررسی این موضوع، به یک الگوریتم استخراج برخواهیم خورد که اساس ایجاد الگوریتم Ethash بود. این الگوریتم به هدف ایجاد یک الگوریتم ایمن ساخته شده است تا در برابر استخراج ASIC مقاوم باشد و برای تایید مشتریان کاربرپسند باشد.
Dagger ، یک الگوریتم توسعه یافته توسط Vitalik Buterin است که با استفاده از نمودارهای DAG برای ایجاد یک ساختار داده عظیم طراحی شده است. در ابتدا این ساختار کمی بیشتر از 1 گیگابایت فضای ذخیره سازی را اشغال می کرد، اما در حال حاضر حدود 4-5 گیگابایت است.
وی این ساختار یک سری محاسبات حافظه انجام می شود که سطح بالایی از کار را اضافه می کند. این ساختار همان چیزی است که اجازه می دهد فرآیند استخراج توسط الگوریتم هاشیموتو انجام شود. هاشیموتو الگوریتمی است که توسط Thaddeus Dryja ساخته شده و هدف آن افزودن مقاومت ASIC و استخراج هش است.
این موضوع به این دلیل حاصل می شود که از RAM بالایی استفاده کند که حاصل محدودیت ASIC است. اساساً کاری که هاشیموتو انجام می دهد، گرفتن DAG تولید شده، افزودن اطلاعات شبکه در مورد دشواری، معاملات و ایجاد هش است که بلاک استخراج شده را مشخص می کند.
با ترکیب هر دو الگوریتم، یک الگوریتم واحد به دست آمده است که این امکان را ایجاد می کند تا یک مجموعه سیستم استخراج برای استخراج کنندگان ASIC طراحی شود تا در اجرای کارآمد آن مشکل نداشته باشند. ساختار ایجاد شده به قدری پیشرفته و ایمن است که به دنبال جایگزینی برای Scrypt است. بنابراین Dragger-Hashimoto معایبی داشتند که باعث شد توسعه و تکامل آنها منجر به ایجاد الگوریتم Ethash شود.
الگوریتم Ethash چگونه کار می کند؟
پس از Dragger-Hashimoto ،تیم توسعه در اتریوم، الگوریتم خود را ارائه داد. عملکرد اساسی این الگوریتم کاملاً متفاوت از Dagger-Hashimoto اصلی است، اما اصول اساسی آن باقی مانده است. روش عملکرد این الگوریتم بدین گونه است که ابتدا یک بذر محاسبه شده با استفاده از عناوین بلوک تا نقطه شروع استخراج ایجاد می شود.
سپس از این دانه برای محاسبه و تولید حافظه پنهانی تصادفی 16 مگابایتی استفاده می شود. این حافظه پنهان، برای تولید یک مجموعه داده بیش از 4 گیگابایت DAG استفاده می شود که به صورت نیمه دائمی بوده و هر 30 هزار بلوک به روز می شود. به این ترتیب، DAG برای هر فصل استخراج متفاوت است.
پس از تولید DAG، استخراج شروع می شود. این فرآیند مقادیر تصادفی را از DAG می گیرد و آنها را با استفاده از داده های ارائه شده توسط شبکه و تراکنش های تأیید شده ترکیب می کند. سرانجام تأیید با فرآیندی انجام می شود که با استفاده از حافظه پنهان، قسمت های خاصی از مجموعه داده را بازسازی می کند و این روند را تسریع می کند.
این فرآیند، عملیاتی است که در حال حاضر اجرا می شود و مربوط به نسخه شماره 23 الگوریتم است. در طول فرآیند از توابع Keccak-256 و Keccak-512 استفاده می شود، الگوریتمی که استاندارد SHA-3 از آن استخراج شده است.
ویژگی های الگوریتم Ethash
همه موارد فوق تضمین می کند که الگوریتم Ethash دارای ویژگی های منحصر به فرد کار است که از جمله آنها می توان به مواردی اشاره کرد. این امر به مقدار زیادی به پهنای باند مصرف شده و به حافظه RAM وابسته است. این یک اقدام امنیتی در برابر ASIC ها و همچنین اساسی برای عملکرد صحیح Ethash است. عملیات مورد نیاز برای ساخت DAG و حافظه نهان کاری Ethash وابستگی زیادی به این ویژگی ها دارند.
همچنین لازم به ذکر است که کارت های گرافیکی یا GPU های فعلی ظرفیت بسیار بالایی دارند. در حقیقت، انتقال گرافیک مانند آنهایی که در بازی های امروزی وجود دارد، به مقدار زیادی حافظه و پردازش موازی بی نظیر نیاز دارد. اگر استخراج را با استفاده از الگوریتم Ethash اجرا کنید، نقطه قوتی را خواهید داشت، زیرا می توانید با استفاده از حافظه GPU کل DAG را به همراه حافظه نهان در حافظه داشته باشید و تمام محاسبات را در یک فضای کاری با سرعت بالا انجام دهید و از توانایی استخراج بسیار سریع تر بهره مند شوید.
می توان گفت که این یک الگوریتم ساده برای پیاده سازی ایمن و کاربردی برای مقاومت در برابر ASIC است و از سرعت قابل توجهی برخوردار می باشد. همچنین استفاده از یک ساختار DAG در حافظه، بهره گیری از حافظه نهان و استفاده از عملکرد Keccak، این الگوریتم را به یک فرآیند کارآمد در تولید بلوک تبدیل می کند. بنابراین Ethereum می تواند روی یک زمان قابل تنظیم برای تولید نیازهای شبکه حساب کند، زیرا همواره به دنبال ایجاد تعادل بین امنیت و مقیاس پذیری در شبکه است.
معایب الگوریتم
شاید لازم باشد به این نکته نیز اشاره کنیم که در سال 2018 ، زمانی که Bitmain اولین استخراج کننده خود را به Ethash معرفی کرد، مقاومت ASIC شکسته شد. از آن زمان، مکانیزم هایی برای جلوگیری از تمرکز بیشتر استخراج در اتریوم دنبال شده اند. توسعه Ethereum 2.0 ، کنارگذاشتن اثبات کار (PoW) و استفاده از الگوریتم Ethash به عنوان یک الگوریتم استخراج، به نفع اثبات مشارکت (PoS) پیش بینی شده است.
از سوی دیگر باید گفت که مصرف زیاد حافظه DAG باعث می شود استخراج تجهیزات متوسط، بسیار دشوار باشد. شیوه مقیاس گذاری برای دشواری الگوریتم، اتریوم را تا آستانه دوره های یخی سوق داده است که خطری جدی برای امنیت بلاکچین Ethereum است.
استخراج Ethash
استخراج Ethash را می توان با استفاده از CPU و GPU انجام داد. توجه داشته باشید که ارزهای رمزپایه مبتنی بر الگوریتم Ethash در استخراج متفاوت هستند. اولین چیزی که برای شروع استخراج ETH نیاز دارید، یک مشتری رمزنگاری همگام است که برای استخراج و یک حساب ETH فعال است. همچنین متناسب به ارز رمزنگاری شده، به یک کیف پول یا حساب در یک شبکه خاص نیاز خواهید داشت.
لازم به ذکر است که استخراج GPU دو برابر کارآمدتر است و بهترین گزینه ممکن برای این الگوریتم محسوب می شود. Ethash حافظه سختی دارد و در هر GPU استفاده شده حداقل به یک تا دو گیگابایت RAM نیاز دارد. دو نوع استخراج GPU وجود دارد که GPU های AMD و GPU های NVidia هستند. برای شروع استخراج GPU ، ابتدا باید Ethminer را ایجاد کنید که یک استخراج کننده الگوریتم Ethash بوده و برای هر رمزنگاری مبتنی بر این الگوریتم مناسب است.
اما استخر استخراج، گزینه دیگری است که در دسترس بوده و برای اکثر ارزهای رمزپایه Ethash قابل استفاده است. استخرها معمولاً کارگران استخراج را ملزم به پرداخت برخی از هزینه ها در حدود یک الی دو درصد از درآمد می کنند.
چگونه Ethash را استخراج کنیم ؟
استخراج Ethash یک فرآیند کاملاً ساده است. می توانید این کار را با رایانه خود انجام دهید. ابتدا اطمینان حاصل کنید که درایورهای GPU به روز شده است. سپس لازم است که یک کیف پول اتریوم دریافت کنید. پس از آن به یک استخر استخراج اتریوم پیوسته و استخراج را شروع کنید.
از اینجا باید صحت آدرس کیف پول خود را بررسی کنید و ببینید روزانه چقدر استخراج می کنید. معمولاً با داشتن یک پردازنده گرافیکی خوب می توانید روزانه بین 2 تا 6 دلار درآمد کسب کنید. اما اگر می خواهید بیشتر از Ethereum استخراج کنید، استخراج کنندگان خاصی وجود دارند که می توانند با استفاده از یک نرم افزار به شما کمک کنند تا به راحتی استخراج کنید.
برای این کار ابتدا نرم افزار مورد نیاز را نصب کرده و آن را با آدرس دیجیتال خود پیکربندی کنید. توجه داشته باشید که برخی از استخراج کنندگان به شما BTC پرداخت می کنند که می توانید بعداً آن را با ETH یا ارز رمزنگاری شده دیگری که می خواهید تبدیل کنید. مطمئن شوید که آدرس صحیحی را قرار داده اید. اکنون می توانید بررسی کنید که قدرت استخراج الگوریتم Ethash و سود روزانه شما چقدر است.
سوالات متداول
Ethash الگوریتم اثبات کار است که توسط Ethereum و دفترهای توزیع شده بر اساس Ethereum مانند Ethereum Classic استفاده می شود.
یک پیاده سازی پیشرو و مشخصات الگوریتم استخراج برای Ethereum و پیش نیاز Ethash است.
استخراج این الگوریتم با CPU و GPU امکان پذیر است. البته باید گفت که GPU ها بسیار کارآمد تر عمل می کنند.
الگوریتم Ethash ایمن بوده و برای مقاومت در برابر ASIC بسیار کاربردی است ضمن آن که دارای سرعت مناسبی نیز می باشد.
عملکرد این الگوریتم این گونه است که بذر محاسبه شده با کمک عناوین بلوک تا نقطه شروع استخراج به وجود می آید. از دانه حاصل شده جهت محاسبه و ایجاد حافظه نهان تصادفی 16 مگابایتی استفاده خواهد شد.
Please rate Stellar
Your page rank: