الگوریتم اثبات کار یکی از الگوریتمهای اجماع در شبکههای بلاک چین است که در برخی از ارزهای دیجیتال از جمله بیت کوین استفاده میشود.
مفهوم اولیه الگوریتم اثبات کار در سال ۱۹۹۳ به منظور جلوگیری از حملات به سرویسهای اینترنتی ارائه شد اما هیچگاه کاربردی نشد.
در سال ۲۰۰۹، بیت کوین شکل جدیدی از اثبات کار را برای استفاده به عنوان الگوریتم اجماع (Consensus Algorithm) معرفی کرد. افراد فعال در شبکه با استفاده از الگوریتم اثبات کار (PoW) تراکنشهایی که درون یک بلاک از شبکه بیت کوین قرار میگیرند را تایید میکنند و بدین ترتیب شبکه بلاک چین بیت کوین شکل میگیرد.
پس از بیت کوین بود که بسیاری از ارزهای دیجیتال دنیا از سیستم اثبات کار به عنوان الگوریتم اجماع خود استفاده نمودند.
در این سیستم ماینرها با یک دیگر بر سر حل معماهای پیچیده محاسباتی به رقابت میپردازند. این معماها به سختی حل میشوند، اما بلافاصله پس از حل شدن امکان تایید شدن آن توسط دیگران وجود دارد. بنابراین زمانی که یک ماینر پاسخ این یک معما را که در واقع هش یک بلاک است را پیدا میکند، آن بلاک را به شبکه ارسال مینماید. سایر ماینرها این پاسخ را تایید میکند و بلاک مذکور طی مدت کوتاهی تایید میشود.
بیت کوین یک شبکه مبتنی بر بلاک چین است که توسط تعداد بسیاری گره (Node) در سرتاسر اجرا نگهداری میشود. برخی از این گرهها تحت عنوان ماینر شناخته میشوند و مسئول اضافه کردن بلاکهای جدید به شبکه هستند. برای این کار، ماینرها باید شروع به امتحان کردن شماره تصادفی (نانس “nounce”) روی بلاک کنند. این شماره زمانی که با داده موجود در بلاک ترکیب شود، باید با عبور از تابع هش به یک هش تبدیل شود که با شرط بلوک یکسان باشد، به عنوان مثال، یک هش با ۴ صفر آغاز میشود. زمانی که یکی از ماینرها موفق به پیدا کردن هش درست شد، بقیه گرهها نتیجه را تایید خواهند کرد و ماینر مذکور نیز پاداش استخراج بلاک را دریافت میکند.
بنابراین غیر ممکن است که یک بلاک بدون آن که هش صحیح مربوط به آن پیدا شده باشد وارد شبکه شود. هر کدام از بلاکها به همراه خود هش منحصربهفرد خود را همراه دارند که این هش نشاندهنده آن است که این بلاک به درستی توسط ماینرها استخراج و وارد شبکه بلاک چین بیت کوین شده است. به همین دلیل است که به این الگوریتم، الگوریتم اثبات کار میگویند.
یک بلاک چین مبتنی بر الگوریتم اثبات کار که به اندازه کافی دارای کاربر باشد، در برابر حملات سایبری به شدت مقاوم است، زیرا برای نفوذ و در اختیار گرفتن قدرت در این شبکه نیاز به تلاش محاسباتی بسیار بالایی است.