موضوع مقاله: الگوریتم اثبات کار | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # الگوریتم اثبات کار | مقدمه: اثبات کار (به انگلیسی: ، همچنین به‌صورت PoW خلاصه می‌شود) نوعی اثبات رمزنگارانه است که در آن یک طرف (اثبات‌کننده) برای دیگران (تأییدکنندگان) نشان می‌دهد که مقدار مشخصی از تلاش محاسباتی صرف شده‌است. | ## بخش 1: الگوریتم اثبات کار | این مفهوم نخستین بار در سال ۱۹۹۳ (۱۳۷۱) توسط مونی نائور و سینتیا دورک به‌عنوان راهکاری برای جلوگیری از حمله محروم‌سازی از سرویس و سوءاستفاده‌های دیگری مانند اسپم پیشنهاد شد. اصطلاح «اثبات کار» نخستین بار در مقاله‌ای در سال ۱۹۹۹ (۱۳۷۷) توسط مارکوس یاکوبسون و آری جوئلز رسمی شد. اثبات کار بعدها توسط بیت‌کوین به‌عنوان پایه‌ای برای اجماع در یک شبکهٔ غیرمتمرکز بدون مجوز مطرح شد؛ در این شبکه ماینرها برای افزودن بلوک‌ها و استخراج ارز جدید با یکدیگر رقابت می‌کنند و احتمال موفقیت هر ماینر متناسب با تلاش محاسباتی اوست. اثبات کار (PoW) و گواه بر سهام (PoS) دو سازوکار شناخته‌شدهٔ بازدارنده از حمله سیبیل هستند و در زمینهٔ رمزارزها پرکاربردترین سازوکارهای اجماع به‌شمار می‌روند. ویژگی کلیدی طرح‌های اثبات کار، عدم تقارن آن‌هاست: انجام محاسبات برای اثبات‌کننده باید نسبتاً دشوار اما شدنی باشد، در حالی که بررسی آن برای تأییدکننده آسان است. این ایده با نام‌های دیگری مانند تابع هزینهٔ پردازنده، ، معمای محاسباتی یا تابع قیمت‌گذاری پردازنده نیز شناخته می‌شود. یکی دیگر از ویژگی‌های رایج این طرح‌ها، ساختارهای انگیزشی درونی است که تخصیص ظرفیت محاسباتی به شبکه را با ارزش به شکل رمزارز پاداش می‌دهد. پیشینه مفهوم اثبات کار ریشه در پژوهش‌های اولیه برای مبارزه با اسپم و جلوگیری از حملات محروم‌سازی از سرویس دارد. یکی از نخستین پیاده‌سازی‌های اثبات کار، بود که توسط رمزنگار بریتانیایی آدام بک در سال ۱۹۹۷ (۱۳۷۵) ایجاد شد. این وظیفه برای کاربران عادی ناچیز بود، اما برای اسپمرهایی که قصد ارسال حجم انبوه پیام داشتند، هزینه‌ای قابل‌توجه دربرداشت. سیستم هش‌کش بر پایهٔ یافتن یک مقدار درهم‌سازی که شرایط خاصی را برآورده کند، استوار بود؛ وظیفه‌ای که نیاز به تلاش محاسباتی داشت و از این رو به‌عنوان «اثبات کار» عمل می‌کرد. منطق پشت این ایده آن بود که با گران‌کردن ارسال حجم زیاد ایمیل از نظر محاسباتی، اسپمینگ کاهش یابد. یکی از سیستم‌های رایج، مورد کاربرد در هش‌کش، از وارون‌سازی جزئی درهم‌سازی برای اثبات انجام محاسبات استفاده می‌کند؛ این به‌عنوان نشانهٔ حسن‌نیت برای ارسال ایمیل عمل می‌کند. به‌بیان دیگر، کاربر واقعی نباید با دشواری خاصی روبرو شود، اما اسپمر باید برای ارسال انبوه ایمیل توان محاسباتی قابل‌توجهی صرف کند. سیستم‌های اثبات کار توسط سیستم‌های رمزنگارانهٔ پیچیده‌تری مانند بیت‌کوین نیز به‌کار گرفته می‌شوند. سیر تکامل الگوریتم‌های اثبات کار اثبات کار ریشه‌های نظری خود را در تلاش‌های اولیه برای مبارزه با سوءاستفاده‌های دیجیتال دارد و در طول زمان برای پاسخ به نیازهای امنیتی، دسترس‌پذیری و کاربردهای گسترده‌تری فراتر از هدف اولیهٔ ضداسپم تکامل یافته‌است. این ایده نخستین بار در سال ۱۹۹۳ (۱۳۷۱) به‌عنوان بازدارنده از نامه‌های ناخواسته مطرح شد، اما این مقاله ساتوشی ناکاموتو در سال ۲۰۰۸ (۱۳۸۷) با عنوان «بیت‌کوین: یک سیستم پول الکترونیک نظیر به نظیر» بود که پتانسیل اثبات کار را به‌عنوان سنگ بنای شبکه‌های بلاکچین تثبیت کرد. نخستین ظهور اثبات کار در سال ۱۹۹۳ (۱۳۷۱) بود، زمانی که سینتیا دورک و مونی نائور سیستمی برای کاهش ایمیل‌های ناخواسته پیشنهاد کردند که در آن فرستندگان ملزم به انجام وظایف محاسباتی دشوار می‌شدند. | ## بخش 2: الگوریتم اثبات کار | در مقاله‌شان با عنوان «قیمت‌گذاری از طریق پردازش یا مبارزه با نامه‌های ناخواسته»، روش‌هایی مانند محاسبهٔ جذر مدولار که برای حل دشوار اما برای تأیید آسان بودند، ارائه شد. این پایه‌ریزی مفهومی در سال ۱۹۹۷ (۱۳۷۵) با هش‌کش آدام بک کاربرد عملی یافت؛ سیستمی که فرستندگان را ملزم می‌کرد وارون‌سازی جزئی درهم‌سازی الگوریتم اس‌اچ‌ای-۱ را محاسبه کنند تا یک درهم‌سازی با تعداد مشخصی از صفرهای ابتدایی تولید شود. هش‌کش یک هزینهٔ محاسباتی برای بازدارندگی از اسپم تحمیل می‌کرد در حالی که گیرندگان می‌توانستند کار را بدون دشواری تأیید کنند و بدین‌ترتیب پایه‌ای حیاتی برای پیاده‌سازی‌های بعدی اثبات کار در رمزنگاری و فناوری بلاکچین فراهم ساخت. بیت‌کوین که در سال ۲۰۰۹ (۱۳۸۷) توسط ساتوشی ناکاموتو راه‌اندازی شد، نقطهٔ عطفی بود که اثبات کار هش‌کش را برای رمزارز انطباق داد. مقالهٔ بیت‌کوین سیستمی با استفاده از الگوریتم SHA-256 طراحی کرد که در آن ماینرها برای حل معماهای رمزنگارانه جهت افزودن بلوک‌ها به بلاکچین رقابت می‌کنند و در این فرایند پاداش دریافت می‌کنند. برخلاف اثبات‌های ایستای هش‌کش، الگوریتم اثبات کار بیت‌کوین دشواری خود را بر اساس میانگین زمان استخراج یک بلوک در دورهٔ قبلی به‌صورت پویا تنظیم می‌کند تا زمان بلوک‌سازی ثابت حدوداً ده دقیقه‌ای حفظ شود. در ابتدا بیت‌کوین با پردازنده‌های معمولی استخراج می‌شد، اما به‌سرعت به پردازنده‌های گرافیکی، سپس به FPGAها و در نهایت به ASICها منتقل شد که در حل معماهای SHA-256 عملکرد بسیار بهتری از سخت‌افزار عمومی داشتند. برای پاسخ به وابستگی فزایندهٔ بیت‌کوین به سخت‌افزار تخصصی، لایت‌کوین تابع درهم‌سازی هش‌کش را از SHA-256 به Scrypt تغییر داد. Scrypt که توسط کولین پرسیوال توسعه یافت، به‌عنوان الگوریتمی حافظه‌بر طراحی شد که به مقدار متوسطی از حافظهٔ دسترسی تصادفی نیاز داشت. با این حال هدف لایت‌کوین از دسترس‌پذیرتر کردن استخراج برای کاربران با سخت‌افزار عمومی دوام نیاورد، زیرا استخراج مسیر مشابهی از پردازنده از طریق پردازنده‌های گرافیکی و FPGA تا ASIC طی کرد. پروتکل‌های چالش-پاسخ فرض می‌کنند که یک پیوند تعاملی مستقیم بین درخواست‌دهنده (کلاینت) و ارائه‌دهنده (سرور) وجود دارد. ارائه‌دهنده یک چالش انتخاب می‌کند و درخواست‌دهنده پاسخ مرتبط را پیدا می‌کند که به ارائه‌دهنده ارسال و توسط او بررسی می‌شود. از آنجا که چالش توسط ارائه‌دهنده در لحظه انتخاب می‌شود، دشواری آن می‌تواند متناسب با بار جاری تنظیم شود. 550px|center پروتکل‌های تأیید راه‌حل چنین پیوندی را فرض نمی‌کنند: در نتیجه، مسئله باید پیش از جستجو برای راه‌حل توسط درخواست‌دهنده خودتحمیل باشد و ارائه‌دهنده باید هم انتخاب مسئله و هم راه‌حل یافت‌شده را بررسی کند. 550px|center پروتکل‌های با راه‌حل شناخته‌شده تمایل دارند واریانس اندکی کمتر از پروتکل‌های احتمالاتی نامحدود داشته باشند، زیرا واریانس توزیع یکنواخت کمتر از واریانس توزیع پواسون (با همان میانگین) است. علاوه بر این، توابع زیرین مورد استفاده در این طرح‌ها می‌توانند باشند: پردازنده‌محور (CPU-bound): محاسبات با سرعت پردازنده اجرا می‌شوند، که با گذر زمان به‌شدت متفاوت است و از سرورهای پرقدرت تا دستگاه‌های سبک کم‌توان متغیر است. حافظه‌محور (Memory-bound): سرعت محاسبات توسط دسترسی به حافظهٔ اصلی (از نظر تأخیر یا پهنای باند) محدود می‌شود و انتظار می‌رود عملکرد آن نسبت به تکامل سخت‌افزار کمتر حساس باشد. شبکه‌محور (Network-bound): اگر کلاینت باید محاسبات کمی انجام دهد اما پیش از ارسال درخواست به ارائه‌دهندهٔ نهایی، باید برخی نشانه‌ها را از سرورهای راه‌دور جمع‌آوری کند. | ## بخش 3: الگوریتم اثبات کار | در این حالت کار در واقع توسط درخواست‌دهنده انجام نمی‌شود اما به هر حال به دلیل تأخیر در دریافت نشانه‌های لازم تأخیر ایجاد می‌کند. برخی سیستم‌های PoW محاسبات میانبر ارائه می‌دهند که به شرکت‌کنندگانی که یک راز، معمولاً یک کلید خصوصی، می‌دانند اجازه می‌دهد اثبات‌های کار ارزان تولید کنند. منطق این است که دارندگان فهرست پستی می‌توانند برای هر گیرنده بدون هزینهٔ زیاد تمبر تولید کنند. به‌جای آنکه ماینرها انرژی را در حل معماهای پیچیده اما اساساً بی‌فایده برای تأیید تراکنش‌ها مصرف کنند، اوفلیموس در حین دستیابی به اجماع یک حل‌کنندهٔ مسئلهٔ بهینه‌سازی غیرمتمرکز نیز ارائه می‌دهد. کاربرد در رمزارزها فرایند در رمزارزهایی که از روش اثبات کار برای افزودن بلوک جدید به بلاکچین بهره می‌گیرند، هر ماینر باید محاسباتی پرهزینه از نظر زمان و انرژی انجام دهد تا مجموعهٔ تراکنش‌های یک بلوک را رمزگذاری کند. از آنجا که یک بلوک در فواصل منظم ایجاد می‌شود، دشواری یافتن راه‌حل متناسب با تعداد شرکت‌کنندگان در شبکه در لحظهٔ محاسبه تنظیم می‌شود. رایانه یا گروهی از رایانه‌ها که نخست راه‌حل را پیدا می‌کنند، نتیجه را به دیگر شرکت‌کنندگان شبکه اعلام می‌کنند. هر بلوک حاوی درهم‌سازی بلوک قبلی است، بنابراین هر بلوک زنجیره‌ای از بلوک‌های پیشین دارد که همگی حاوی زنجیرهٔ بزرگی از کار هستند. تغییر یک بلوک مستلزم بازمحاسبهٔ تمامی بلوک‌های پس از آن است که این امر جعل را بسیار دشوار یا غیرممکن می‌سازد. برخی ماینرها از مدارهای مجتمع با کاربرد خاص (ASIC) برای اثبات کار بهره می‌گیرند. برخی سیستم‌های اثبات کار ادعا می‌کنند در برابر ASIC مقاوم هستند، یعنی کارایی که یک ASIC نسبت به سخت‌افزار معمولی مانند پردازنده‌های گرافیکی می‌تواند به دست آورد را به یک مرتبهٔ کوچک‌تر محدود می‌کنند. مقاومت در برابر ASIC مزیت دسترس‌پذیرتر کردن استخراج را دارد، اما خطر مرتبط با آن را نیز افزایش می‌دهد که مهاجمی بتواند به‌طور کوتاه‌مدت به مقدار زیادی از توان محاسباتی تخصصی‌نشده دسترسی پیدا کند و حمله‌ای ۵۱ درصدی راه بیاندازد. انتقادات زیست‌محیطی سیستم‌های اثبات کار توسط برخی محیط‌زیست‌گراها مورد انتقاد قرار گرفته‌اند که استدلال می‌کنند این سیستم‌ها پیامدهای خارجی ایجاد می‌کنند که در قیمت‌های بازار برق منعکس نمی‌شوند. بانک تسویه‌های بین‌المللی از سیستم‌های اثبات کار به‌عنوان «فاجعهٔ زیست‌محیطی» انتقاد کرده‌است. از سوی دیگر، ویژگی‌های بار قابل وقفه در استخراج اثبات کار، خدمات پاسخ تقاضا را فراهم می‌آورند و در شرایط خاص بازار و شبکه از ادغام انرژی‌های تجدیدپذیر متغیر پشتیبانی می‌کنند. آتریوم سرانجام در سپتامبر ۲۰۲۲ (شهریور ۱۴۰۱) سازوکار اجماع خود را از اثبات کار به گواه بر سهام تغییر داد. این تغییر نخستین تغییر در این مقیاس بزرگ بود که امنیت سرمایه‌ای بیش از ۱۵۰ میلیارد دلار را (در اواسط سال ۲۰۲۲) پوشش می‌داد. | ## جمع‌بندی | یادداشت‌ها هدر X-Hashcash شامل: نسخه، بیت‌های مورد نیاز، تاریخ، منبع، افزونه، افزونهٔ رمزگذاری‌شده، و شمارنده (در شانزده‌شانزدهی) است.