یکی از مهمترین ارکان شبکه ارز دیجیتال، الگوریتم هش است. الگوریتمهای هش امنیت شبکه را تامین میکنند و سرعت تراکنشهای شبکه را بسیار تحت تاثیر قرار میدهند. الگوریتم ProgPoW یکی از محبوبترین الگوریتمهای هش بر اساس الگوریتم Ethash به حساب میآید که در شبکه ارز دیجیتال اتریوم از آن استفاده میشود. این الگوریتم، یکی از الگوریتمهای استخراج اتریوم شمرده میشود. ProgPoW و الگوریتم استخراج Ethash الگوریتمهای ProgPowای هستند که در آنها اثبات کار قابل برنامه ریزی بوده و هر شبکه میتواند روش اثبات کار بهینه خود را برنامه ریزی کند.
معرفی الگوریتم ProgPoW
الگوریتم ProgPoW شکل کوتاهی از اثبات کار قابل برنامه ریزی شمرده میشود و مخفف عبارت Promable proof of work است. گاهی اوقات به آن PorgyPoW هم میگویند. این الگوریتم، از الگوریتم Ethash ساخته شده که با GPU سازگار است تا شکاف عملکرد در سخت افزار با عملکرد ثابت را به حداقل برساند. به طور کلی برای بهبود کارایی استخراج، از الگوریتمهای اثبات کار و سخت افزارهای توسعه یافته استفاده میشود. اما الگوریتم ProgPoW برعکس عمل کرده و سخت افزار و الگوریتم را اصلاح میکند. اگر یک الگوریتم کارآمد باشد، باید با الگوهای دسترسی و فضای موجود در سخت افزار استخراج سازگار باشد. به همین دلیل است که AMD شاهد افزایش چشمگیر عملکرد در اتریوم بود و الگوهای دسترسی حافظه و تراشهها با الگوریتم استخراج Ethash سازگاری داشتند.
این الگوریتم، یک الگوریتم اجماع پروتکل بلاک چین به شمار میرود که برای کاهش مزیت کارایی استخراج سختافزارهای تخصصی مانند ماینرهای ASIC نسبت به ماشینهای کمتر پیشرفته مانند CPU استاندارد طراحی شده است؛ به این معنی که شرکتکنندگان متوسط میتوانند سکه استخراج کنند. از زمانی که اولین ماشینهای ASIC استخراج بیت کوین ساخته و مورد استفاده قرار گرفتند، اتفاقهای جدید و متنوعی بر روی الگوریتم اصلی اثبات کار با هدف مقاوم شدن در برابر ASIC انجام شد. هدف مقاومت در برابر ASIC برای جلوگیری از تمرکز قدرت استخراج اثبات کار که پروتکل را به راحتی توسط چند شرکت کننده برتر دستکاری میکند، ایجاد شده است.
نوآوری الگوریتم ProgPoW
دو نکته در مورد الگوریتم ProgPow اهمیت دارد؛ طراحی ProgPoW با Ethash آغاز شده و این الگوریتم برای استفاده حداکثری از GPU توسعه یافته است. هشهای تولید شده توسط تابع Keccak و استفاده شده در ابتدا و انتهای Ethash از f1600 و 64 بایت در هر کلمه، به f800 و 32 بایت تغییر کرد. همچنین، F1600 برای اجرا بر روی کارت گرافیک به حداقل دو دستورالعمل نیاز دارد. از آنجایی که مسیر داده GPUها 32 بیت است، برای خواندن یک کلمه 64 بیتی باید حداقل دو بار خوانده شود. الگوریتم Ethash از دادههای اضافی پردازش شده توسط f1600 استفاده نمیکند. بنابراین کاهش میزان بایت داده و طول کلمه در این الگوریتم تاثیری بر امنیت ندارد.
برای کسب اطلاعات در زمینه آموزش ارز دیجیتال، بر روی لینک کلیک کنید.
الگوریتم ProgPow توسط چه کسی ساخته شد؟
الگوریتم مذکور توسط تیم IfDefElse توسعه یافته است. این تیم متشکل از خانم If، آقای Def و آقای Else است. جالب است بدانید همهی اعضای تیم، هویت خود را پنهان کردهاند، به جز خانم If که نام اصلی او کریستی لی مینهان است. این تیم تنها بر روی الگوریتمهای استخراج اثبات کار تمرکز دارد. کریستی لی ماینرهای معروف OHGODANETHLARGEMENTPILL را برای اورکلاک کردن پردازندههای گرافیکی Nvidia ایجاد کرد.
الگوریتم ProgPow چگونه کار میکند؟
الگوریتم ProgPoW به این معنی است هر حلقه (loop) داخلی از دسترسی حافظه که همان تکرار روند حل مسئله است، یک برنامه تولید شده بر اساس شماره بلاک مورد نظر به حساب میآید که به صورت تصادفی تولید میشود. این برنامه برای عملکرد کارآمد GPUهای مناسب برای ماینینگ و استخراج طراحی شده است و از بخش بیشتری از عملکرد کارتهای گرافیک استفاده میکند. این ویژگی باعث میشود تا فرآیند با کارآمدی بیشتری اتفاق بیفتد.
ایجاد توالی مسائل به صورت تصادفی، ایجاد خط تولید سختافزارها با عملکرد ثابت را غیرممکن میکند؛ این کاری است که سازندگان ASIC انجام میدهند و در آن تخصص دارند. به عبارت دیگر میتوانیم بگوییم که الگوریتم ProgPoW به انعطافپذیری نیاز دارد و ASICها نمیتوانند در این مورد انعطافپذیر باشند. در واقع، یک سخت افزار چندکاره و منعطف میتواند راه حل خوبی باشد. ProgPoW در این مورد بسیار پرطرفدار بوده و به طور کامل از قابلیتهای کارت گرافیک استفاده میکند (به جز کانالهای ارتباطی و واحدهای پردازش شناور) و به طور مرتب مسائل ریاضی را در طول فرآیند استخراج تغییر میدهد. پردازندههای گرافیکی قادر به تطبیق سریع هستند، بنابراین شکاف عملکرد را در مقایسه با ASIC کاهش میدهند.
برای آشنایی با روش معاملاتی دکس تریدینگ بر روی لینک کلیک کنید.
بد نیست بدانید سازندگان ProgPow مجبور شدند AMD و Nvidia را کنار بگذارند تا الگوریتم را با تجهیزات ساخته شده توسط سازندگان مختلف از جمله AMD و Nvidia سازگار کنند. به هر حال در نهایت تیم IfDefElse برای اطمینان از بیطرفی با مهندسان Nvidia و AMD همکاری کرد. هر دو شرکت این ایده را دوست دارند و از آن استقبال کردهاند؛ دلیل این موضوع هم آن است که مقاومت در برابر ASIC، کارایی کارتهای گرافیک را بهتر و منطقیتر میکند. در نتیجه، این موضوع میتواند باعث فروش بیشتر دو شرکت Nvidia و AMD شود. البته لازم به ذکر است که در حال حاضر AMD و Nvidia در این زمینه خیلی خوب عمل نکردهاند.
نرخ هش در الگوریتم ProgPow
یکی از مهمترین عوامل برای بررسی الگوریتمهای استخراج، نرخ هش این الگوریتمها است. در واقع، نرخ هش سرعت عملکرد الگوریتم را نشان میدهد و تعیین میکند که الگوریتم با چه سرعتی میتواند دادهها را هش کند. البته سرعت هش تنها به الگوریتم استخراج بستگی ندارد بلکه سخت افزار استخراج هم تاثیر زیادی بر سرعت هش دارد. جدول بالا، نرخ هش الگوریتم Ethash و الگوریتم ProgPow را در سخت افزارهای مختلف نشان میدهد. مصرف پهنای باند حافظه هم در این دو الگوریتم محاسبه میشود. درصد هش ریت واقعی در ستون پهنای باند به عنوان نرخ هش نظری در صورت استفاده از ۱۰۰% پهنای باند حافظه GPU محاسبه میشود که در دنیای واقعی غیرممکن است.