الگوریتم اثبات کار
گواه اثبات کار یا به اختصار (PoW) یا همان (Proof of Work ) یک سیستم (تابع یا پروتکل) اندازه گیری است تا در برابر حملات محروم‌سازی از سرویس یا به اختصار (DoS) و دیگر سیستم هایی که قصد اذیت کردن را دارند مانند اسپم های شبکه از طریق مستلزم دانستن کاری از طرف درخواست کننده سرویس جلوگیری کند ، معمولاً این قضیه به معنی زمان پردازش شدن عملیاتی توسط یک کامپیوتر است.این طرح و یا مفهوم توسط و در سال 1993 در قالب مقاله ژورنال کشف شد. اصطلاح "Proof of work" یا به اختصار PoW اولین بار در مقاله ای در سال 1999 توسط و Ari Juels ابداع و بکار گرفته شد.
یکی از ویژگی های کلیدی این طرح ها، عدم تقارن آنها است: کار باید برای درخواست کننده نسبتاً سخت(اما قابل حل) باشد ولی چک کردن آن برای تامین کننده سرویس(سرور) میبایست آسان باشد.
همچنین این قضیه به عنوان ، تابع هزینه CPU ،، پازل محاسباتی یا تابع ارزش گذاری CPU نیز شناخته میشود.
این قضیه با کپچا فرق میکند به این صورت که کپچا برای حل سریع توسط انسان درنظرگرفته شده است نه یک کامپیوتر.
یک سیستم معروف که در هش کش استفاده میشود، با استفاده از مقداری hash معکوس ثابت میکند کار انجام شده است و یک ایمیل به عنوان نشانه خوب ارسال میکند.به عنوان نمونه هدری که در ادامه قرار دارد تقریباً یک هش 2 محاسباتی است که پیامی را برای ایمیل زیر درتاریخ 19 ژانویه ، 2038 ارسال میکند.  با یک محاسبات تکی از طریق تابع اس اچ ای-1 هش تمبری که معتبرشده است(در مثال بالا نام هدر codice_1که شامل دونقطه میباشد و هرچه فضای خالی بعد از آن تا شماره 1 حذف میشود)
با 52 صفر باینری معادل 13 صفر هگزادسیمال آغاز میشود.  این که آیا سیستم های PoW در حقیقت می توانند مسئله حملات محروم‌سازی از سرویس خاصی را مانند مشکل اسپم را حل کنند، موضوع قابل بحثی است؛ این سیستم میبایست ارسال ایمیل های اسپم را برای تولید کنندگان هرزنامه را مشکل ساز کند اما نباید جلوی کاربران مجاز را برای ارسال پیامشان بگیرد. به عبارت دیگر، یک کاربر واقعی نباید با هیچ گونه مشکلی موقع ارسال پیام خود مواجه شود، اما تولید کننده هرزنامه باید مقدار قابل توجه قدرت پردازشی را برای هربار ارسال ایمیل صرف کند . اکنون سیستم های گواه اثبات کار به عنوان مکانیزم اصلی توسط دیگر سیستم های پیچیده رمزنگاری مثل بیتکوین که از سیستمی مشابه هش کش بهره میگیرد ، استفاده میشود.
دو دسته پروتکل گواه اثبات کار وجود دارد.  پروتکل های راه حل-شناخته شده نسبت به پروتکل های مشکلات احتمالی نا محدود به واریانس پایین تری تمایل دارند چرا که واریانسی که از نشات گرفته به نسبت واریانسی که از توزیع پواسون نشات میگیرد کمتر است(نیاز به توضیح بیشتر درباره واریانس توزیع های پواسیون و مستطیلی میباشد) . یک تکنیک کلی که برای کمتر کردن واریانس می باشد که از طریق چندین زیر-چالش مستقل استفاده میشود ، به عنوان میانگین چندین نمونه واریانس کمتری نیز خواهد داشت.
همچنین توابع هزینه ثابت مانند زمان قفل پازل وجود دارد.
علاوه بر این، توابع پایه ای که توسط این طرح ها استفاده می شود، ممکن است موارد زیر باشند:
در نهایت، برخی از سیستم های PoW محاسبات میانبر را ارائه میکنند که به شرکت کنندگانی که رمزی را میدانندکه معمولاً یک کلید خصوصی است اجازه میدهد تا POW های کم ارزش را تولید کنند . منطق و اساس کار این است که صاحبان لیست نامه ممکن است تمبری برای هر گیرنده، بدون هزینه ی زیاد تولید کنند. این که چنین کاری خوب و معقول است ، بستگی به سناریوی استفاده از آن دارد.
در اینجا لیستی از معیارهای کار شناخته شده است:
دانشمند کامپیوتر Hal Finney بر روی ایده اثبات کار ساخته شده، سیستمی را تولید کرد که از استفاده مجدد از اثبات کار ("RPOW") بهره میگیرد. ایده ساخت اثبات گواه کار با قابلیت استفاده مجدد برای اهداف چند منظوره پیش تر در سال 1999 اجرا شده بود. هدف فینی برای RPOW ساخت پول توکنی بود. درست همانطور که ارزش سکه های طلا که به نظر میرسد بر اساس طلای خام مورد نیاز برای ساخت آن پایه ریزی شده است ، ارزش یک توکن RPoW با ارزش منابع مورد نیاز در دنیای واقعی برای «ضرب سکه» یک PoW تضمین می شود. در نسخه Finney RPoW، توکن PoW یک تکه هش کش می باشد .
وبسایتی نیز می تواند در ازای سرویسی یک توکن PoW درخواست کند. درخواست یک توکن PoW از طرف کاربر مانع از استفاده بیهوده و بیش از اندازه میشود و یا موجب صرفه جویی از منابع نظیر پهنای باند اینترنت یا محاسبات ، فضای دیسک، برق و یا سربار اجرایی می شود.
سیستم RPoW Finney با یک سیستم PoW در اجازه دادن تبادل توکن های تصادفی و رندوم بدون تکرار کار مورنیاز برای تولید آن ها فرق میکند. پس از آنکه یک نفر توکن «PoW» را در یک وب سایت «صرف» کرد، اپراتور وب سایت میتواند توکن PoW را برای مبادله یک توکن RPOW جدید ذخیره کند، که بعداً میتواند در برخی از وبسایتهای شخص ثالث مجهز به پذیرش توکنRPoW خرج شود .ویژگی ضد-تقلبی بودن توکن RPoW میتواند ازطریق نیز گارانتی شود. سرور RPoW که برای مبادلات از توکن PoW یا RPoW برای یک مقدار جدید از یک مقدار برابر با استفاده از گواهی سنجی از راه دور استفاده میکند نیز به هر طرف که علاقه‌مند است ، این اجازه را میدهد که تایید یا انتخاب کند که چه نرم‌افزاری در سرور RPoW اجرا می شود . از زمانی که کد منبع نرم‌افزار RPoW Finney منتشر شد (تحت یک مجوز BSD )، هر برنامه نویسی که به اندازه کافی واردبکار باشد، با بررسی کد، میتواند تأیید کند که این نرم‌افزار (و به عبارتی سرور RPoW) هرگز یک توکن جدید صادر نمی‌کند، به استثنای مواقعی که در ازای یک توکن با ارزش برابر صرف شده باشد .
تا سال 2009، سیستم فینی تنها سیستم RPoW بود که پیاده سازی شد؛ از این سیستم در اقتصاد هرگز به طور قابل توجهی مورد استفاده قرار نگزفت.
RPoW توسط کلیدهای خصوصی ذخیره شده در ماژول پلت فرم اعتماد سخت افزار و تولیدکنندگان دارای کلید خصوصی TPM محافظت می شود. سرقت یک کلید تولید کننده TPM یا به دست آوردن کلید با بررسی تراشه TPM خود نیز این تضمین را از بین می برد.
در سال 2009 شبکه Bitcoin آنلاین شد. بیتکوین یک رمز ارز بر حسب اثبات گواه کار است که مانند RPoW Finney نیز مبتنی بر Hashcash PoW است. اما بیتکوین از یک پروتکل غیر متمرکز یک-به-یک به جای استفاده از ماژول پلت فرم اعتمادسازی سخت افزار که درRPoW استفاده می شد ، بهره میگیرد که دلیل جلوگیری از هزینه های دوگانه میباشد. ، . Bitcoin دارای اطمینان بهتری است زیرا با محاسبات محافظت می شود. بیت کوین ها توسط تابع گواه اثبات کار هش کش توسط ماینر های منحصر به فرد استخراج میشود و توسط نود یا گره های غیر متمرکز در شبکه یک به یک به تایید میرسند .
یک زنجیره بلوکی مبتنی بر الگوریتم گواه اثبات کار که به اندازه کافی دارای کاربر باشد، در برابر حملات سایبری به شدت مقاوم است، زیرا برای نفوذ و در اختیار گرفتن قدرت در این شبکه نیاز به تلاش محاسباتی بسیار بالایی است. البته از طرفی نیاز به تجهیزات فراوان و مصرف برق بسیار بالا از معایب بزرگ این گواه است.
در جامعه بیت کوین گروه هایی با هم در استخر های ماینینگ(ماینینگ به معنی استخراج بیتکوین ) درکنار هم کار میکنند . برخی از ماینر ها از ASIC ( مدار مجتمع کاربردی خاص ) برای PoW استفاده می کنند. برخی از PoW ها ادعا می کنند که مقاوم به ASIC هستند، یعنی محدود کردن افزایش بهره وری که ASIC می تواند بر سخت افزار چیزی مانند یک پردازنده گرافیکی داشته باشد، به میزان قابل توجهی تحت نظارت باشد. در عمل چنین ادعاهایی از زمان آزمایش مقاومت نمی‌کنند.