0

مفهوم الگوریتم ProgPow چیست؟

ProgPow
بازدید 389

عناوینی که در این مقاله می خوانید

مفهوم الگوریتم ProgPoW چیست؟

یکی از عناصر اساسی در شبکه‌های ارز دیجیتال، الگوریتم هش است. الگوریتم‌های هش نقش امنیتی حیاتی در شبکه را بازی می‌کنند و سرعت تراکنش‌ها را به طور قابل توجهی تحت تأثیر قرار می‌دهند. الگوریتم ProgPoW یکی از محبوب‌ترین الگوریتم‌های هش است که بر پایه الگوریتم Ethash ساخته شده است و در شبکه ارز دیجیتال اتریوم به کار می‌رود. این الگوریتم به عنوان یک الگوریتم استخراج در اتریوم شناخته می‌شود. ProgPoW و الگوریتم استخراج Ethash هر دو الگوریتم‌های ProgPoW هستند، که در آن‌ها اثبات کار قابل برنامه‌ریزی است و هر شبکه می‌تواند روش بهینه خود را برای اثبات کار برنامه‌ریزی کند.

معرفی الگوریتم ProgPoW:

الگوریتم ProgPoW یا Promable proof of work، یک نسخه کوتاه شده از اثبات کار قابل برنامه‌ریزی است و گاهی به آن PorgyPoW نیز گفته می‌شود. این الگوریتم بر پایه الگوریتم Ethash ساخته شده است و با GPU سازگار است تا اختلاف عملکرد بین سخت‌افزارها را کاهش دهد. عموماً برای بهبود کارایی استخراج، از الگوریتم‌های اثبات کار و سخت‌افزارهای توسعه یافته استفاده می‌شود. اما الگوریتم ProgPoW برخلاف آن، سخت‌افزار و الگوریتم را تنظیم و بهبود می‌بخشد. اگر یک الگوریتم کارآمد باشد، باید با الگوهای دسترسی و فضای موجود در سخت‌افزارهای استخراج سازگار باشد. به همین دلیل، کارت‌های گرافیک AMD افزایش قابل توجهی در عملکرد در اتریوم داشتند و الگوهای دسترسی حافظه و تراشه‌ها با الگوریتم استخراج Ethash سازگاری داشتند.

الگوریتم ProgPoW یک الگوریتم اجماع در پروتکل بلاکچین است که به منظور کاهش برتری کارایی سخت‌افزارهای تخصصی مانند ASIC ماینرها در مقابل ماشین‌های کمتر پیشرفته مانند CPU طراحی شده است. این به این معنی است که شرکت‌کنندگان متوسط قادر به استخراج سکه‌ها خواهند بود. از زمانی که ماشین‌های ASIC برای استخراج بیتکوین ساخته و استفاده شدند، تغییرات و تنوع‌های مختلفی در الگوریتم اصلی اثبات کار برای مقابله با ASIC به وجود آمد. هدف اصلی این تغییرات، مقاومت در برابر ASIC بوده است تا جلوی تمرکز قدرت استخراج اثبات کار که توسط چند شرکت برتر قابل دستکاری است، گرفته شود.

بیشتر بخوانید  چرا خرید بیت‌کوین بدون احراز هویت به عنوان یک ریسک پرخطر شناخته می‌شود؟

دو جنبه مهم درباره الگوریتم ProgPoW وجود دارد که ارزش توجه را دارند. طراحی ProgPoW با استفاده از Ethash آغاز شده است و این الگوریتم برای بهره‌برداری حداکثری از GPU توسعه یافته است. هش‌هایی که تابع Keccak در ابتدا و انتهای Ethash تولید می‌کند، از f1600 و 64 بایت در هر کلمه استفاده می‌کنند، اما در ProgPoW به f800 و 32 بایت تغییر یافته‌اند. همچنین، اجرای F1600 بر روی کارت‌های گرافیک حداقل دو دستورالعمل را نیاز دارد. با توجه به اینکه مسیر داده در GPU‌ها 32 بیت است، برای خواندن یک کلمه 64 بیتی، باید حداقل دو بار خوانده شود. الگوریتم Ethash از داده‌های اضافی پردازش شده توسط f1600 استفاده نمی‌کند. بنابراین، کاهش حجم داده و طول کلمه در این الگوریتم تأثیری بر امنیت ندارد.

الگوریتم ProgPoW توسط تیم IfDefElse توسعه یافته است. اعضای این تیم شامل خانم If، آقای Def و آقای Else می‌شوند. جالب است بدانید که همه اعضای تیم، هویت خود را پنهان کرده‌اند، به استثنای خانم If که نام اصلی او کریستی لی مینهان است. تیم IfDefElse تمرکز خود را تنها بر روی الگوریتم‌های استخراج اثبات کار دارد. علاوه بر این، کریستی لی ماینرهای مشهور OHGODANETHLARGEMENTPILL را برای اورکلاک کردن پردازنده‌های گرافیکی Nvidia ایجاد کرده است.

الگوریتم ProgPoW به صورت زیر عمل می‌کند: هر حلقه داخلی در روند حل مسئله از دسترسی به حافظه استفاده می‌کند، و این حلقه برنامه‌ای است که بر اساس شماره بلاک مورد نظر تصادفی تولید می‌شود. این برنامه به طور ویژه برای بهره‌برداری بهینه از GPUهای مناسب برای ماینینگ و استخراج طراحی شده است و از بخش بزرگتری از قدرت پردازش کارت‌های گرافیکی استفاده می‌کند. این ویژگی باعث می‌شود فرآیند با کارآیی بیشتری انجام شود.

بیشتر بخوانید  با کیف پول کیپ کی آشنا شوید

ایجاد توالی تصادفی از مسائل، ایجاد یک خط تولید سخت‌افزار با عملکرد ثابت را غیرممکن می‌سازد؛ این کار تخصص سازندگان ASIC است و آن‌ها در این زمینه تخصص دارند. به عبارت دیگر، الگوریتم ProgPoW به انعطاف‌پذیری نیاز دارد و ASICها قادر به انعطاف‌پذیری در این زمینه نیستند. در واقع، یک سخت‌افزار چندکاره و قابل تنظیم می‌تواند یک راه‌حل مناسب باشد. ProgPoW در این زمینه بسیار محبوب است و به طور کامل از قابلیت‌های کارت‌های گرافیکی (به‌جز کانال‌های ارتباطی و واحدهای پردازش شناور) بهره می‌برد و به صورت منظم مسائل ریاضی را در طول فرآیند استخراج تغییر می‌دهد. پردازنده‌های گرافیکی قادر به سریع تطبیق هستند، بنابراین شکاف عملکرد نسبت به ASIC را کاهش می‌دهند.

مجبوریم بدانید که سازندگان ProgPoW برای سازگارسازی الگوریتم با تجهیزات ساخته شده توسط سازندگان مختلف از جمله AMD و Nvidia، باید آن‌ها را به یک سوق بزنند. با این حال، تیم IfDefElse در نهایت با مهندسان Nvidia و AMD همکاری کرد تا از بی‌طرفی اطمینان حاصل کند. هر دو شرکت ایده ProgPoW را دوست دارند و آن را استقبال کرده‌اند؛ این به دلیل این است که مقاومت در برابر ASIC، کارایی کارت‌های گرافیک را بهبود و منطقی‌تر می‌سازد. در نتیجه، این موضوع می‌تواند باعث افزایش فروش Nvidia و AMD شود. با این حال، لازم به ذکر است که در حال حاضر AMD و Nvidia در این زمینه به خوبی عمل نکرده‌اند.

 

به این پست امتیاز بدید

نظرات کاربران

  •  چنانچه دیدگاهی توهین آمیز باشد و متوجه نویسندگان و سایر کاربران باشد تایید نخواهد شد.
  •  چنانچه دیدگاه شما جنبه ی تبلیغاتی داشته باشد تایید نخواهد شد.
  •  چنانچه از لینک سایر وبسایت ها و یا وبسایت خود در دیدگاه استفاده کرده باشید تایید نخواهد شد.
  •  چنانچه در دیدگاه خود از شماره تماس، ایمیل و آیدی تلگرام استفاده کرده باشید تایید نخواهد شد.
  • چنانچه دیدگاهی بی ارتباط با موضوع آموزش مطرح شود تایید نخواهد شد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


Fatal error: Uncaught ErrorException: md5_file(/home/ramznegar24/public_html/wp-content/litespeed/css/94334e037af7e8d4bbca6b6145d3c96f.css.tmp): failed to open stream: No such file or directory in /home/ramznegar24/public_html/wp-content/plugins/litespeed-cache/src/optimizer.cls.php:140 Stack trace: #0 [internal function]: litespeed_exception_handler(2, 'md5_file(/home/...', '/home/ramznegar...', 140, Array) #1 /home/ramznegar24/public_html/wp-content/plugins/litespeed-cache/src/optimizer.cls.php(140): md5_file('/home/ramznegar...') #2 /home/ramznegar24/public_html/wp-content/plugins/litespeed-cache/src/optimize.cls.php(837): LiteSpeed\Optimizer->serve('https://ramzneg...', 'css', true, Array) #3 /home/ramznegar24/public_html/wp-content/plugins/litespeed-cache/src/optimize.cls.php(330): LiteSpeed\Optimize->_build_hash_url(Array) #4 /home/ramznegar24/public_html/wp-content/plugins/litespeed-cache/src/optimize.cls.php(264): LiteSpeed\Optimize->_optimize() #5 /home/ramznegar24/public_html/wp-includes/class-wp-hook.php(324): in /home/ramznegar24/public_html/wp-content/plugins/litespeed-cache/src/optimizer.cls.php on line 140