الگوریتم گواه اثبات کار یا PoW عبارتی است که در نگاه اول درک آن شاید کمی پیچیده به نظر بیاید. اما ما در این مقاله از آکادمی مزدکس اثبات کار را به زبانی ساده برایتان توضیح خواهیم داد. شما در انتهای این مطلب کاملا با این الگوریتم و ساز و کار آن آشنا خواهید شد.
گواه اثبات کار (Proof of Work) الگوریتمی است که شالوده امنیت بسیاری از رمزارزها مانند «بیت کوین» بر پایه آن بنا شده است. برخی از داراییها مانند ارزهای رسمی (دلار یا ریال)، دارای یک نهاد مدیریت مرکزی برای رهگیری فعالیتهای کاربران و تراکنشها آنها هستند. بیت کوین اما بینیاز از چنین نهاد مرکزی است. این رمزارز از الگوریتم اثبات کار برای پردازش و تأیید تراکنشها استفاده میکند و بر هیچ نهاد دولتی یا خصوصی، متکی نیست.
الگوریتم گواه اثبات کار و مسئله دو بار خرج کردن
الگوریتم گواه اثبات کار با حل مسئله «دو بار خرج کردن» (Double Spending) راه را برای خلاصی از دست نهادهای متمرکز هموار کرده است. اگر کاربران بتوانند در شبکه یک ارز دیجیتال، کوینهای خود را دو بار یا بیشتر خرج کنند، تورم آن ارز سر به فلک میگذارد. در نهایت، ارزش خود را از دست میدهد!
پیش از ابداع بیتکوین، انجام تراکنشهای آنلاین بدون اتکا به یک نهاد مدیریت مرکزی، ناممکن بود. زیرا کپی و تکرار اسناد و کنشهای دیجیتال، کار دشواری نیست. الگوریتم اثبات کار با هدف حل و فصل این مسئله، معرفی شد.
باید بدانید به کمک این الگوریتم، هزینهکرد دوباره پول، ناممکن یا دستکم بسیار بسیار دشوار میشود. نام این الگوریتم نیز به خوبی میتواند سازوکار آن را توضیح دهد. هر فرد برای «اثبات» صلاحیت خود باید مقادیر بسیار هنگفتی از «کار» یا توان رایانشی را در اختیار بگذارد. به این شکل میتواند مجوز انجام یک کنش یا عمل را دریافت کند.
تاریخچه الگوریتم گواه اثبات کار | PoW
اثبات کار به بیانی دیگر، شکلی از اثبات رمزنگارانه است که در آن یک فرد (اثباتکننده) به فرد یا افراد دیگر (تأییدکنندگان) ثابت میکند که مقدار معینی از کار یا توان رایانشی را مصرف کرده است. سپس تأییدکنندگان به سادگی میتوانند درستی ادعای فرد اثباتکننده را با محاسبه توان رایانشی صرفشده از سوی او صحتسنجی کنند.
نخستین بار، مفهوم گواه اثبات کار در سال ۱۹۹۳ از سوی دو تن از پژوهشگران علوم رایانه به نامهای «سینتیا دورک» (Cynthia Dwork) و «مونی ناور» (Moni Naor) معرفی شد. جلوگیری از حملات «منع سرویس» (Denial-of-Service) و ممانعت از ارسال انبوه «هرزنامه» (Spam) روی شبکههای رایانهای از جمله اهداف ابداع روش اثبات کار بود. با فراگیری این روش، رایانههای مهاجم برای ارسال هرزنامه یا ترتیب دادن دیگر حملات سایبری، مجبور بودند توان رایانشی چشمگیری را مصرف کنند. در نتیجه به دلیل هزینههای گزاف این کار، از اعمال مخرب خود دست میکشیدند.
عبارت «اثبات کار»، اولین بار در سال ۱۹۹۹ در مقالهای به قلم «مارکوس یاکوبسون» و «آری جولز» به طور رسمی به کار گرفته شد. در ادامه در سال ۲۰۰۴، «هال فینی» ایده استفاده از روش اثبات کار برای تأمین امنیت پول دیجیتال را در مقالهای مطرح کرد. عنوان این مقاله «اثبات کار با کاربستپذیری دوباره با تکیه بر الگوریتم هش SHA-256» بود.
سالها بعد، اثبات کار با ابداع و فراگیری بیت کوین، دوباره بر سر زبانها افتاد. توانست جایگاه خود را به عنوان یک سازوکار اجماع در «شبکههای نامتمرکز بینیاز از مجوز» تثبیت کند. در ساز و کار اجماع اثبات کار، ماینرها یا استخراجگران با هم بر سر پردازش تراکنشها و دریافت پاداش شبکه رقابت میکنند. در این روش، هر چقدر توان رایانشی آورده استخراجگر بیشتر باشد، بخت او برای دریافت پاداش بیشتر میشود.
سازوکار اجماع چیست؟
«سازوکار اجماع» (Consensus Mechanism)، سازوکاری خطاتاب Fault-Toleran است که در سامانههای رایانهای و بلاکچینی برای دستیابی به توافقی فراگیر میان تعدادی پردازشگر توزیعشده در مورد درستی یک داده یا وضعیت شبکه به کار میرود. مهمترین کاربرد این سازوکار ویژه، استفاده از آن در «سیستمهای چندعاملی» (Multi-Agent Systems) از جمله رمزارزها یا نگهداری و حفظ اسناد حیاتی است.
در بلاکچین بیتکوین، روش گواه اثبات کار، نقش ساز و کار اجماع را بازی میکند. در این روش، همه اعضای شبکه باید برای اثبات اصالت و درستی ادعای خود، توان رایانشی هنگفتی را صرف کنند تا بتوانند پس از حل یک معمای ریاضی دشوار، مجوز دیگر اعضا را برای پردازش و تأیید تراکنشها به دست بیاورند.
نحوه انجام گواه اثبات کار
روش انجام الگوریتم گواه اثبات کار را میتوان در چند مرحله خلاصه کرد:
مرحله اول: نخست، تراکنشها گرد هم آورده میشوند: کاربران رمزارز ابتدا تراکنشهای دلخواه خود را روی شبکه ارسال میکنند. سپس تمامی این تراکنشها در مخزنی به نام «بلاک» (Block) گردآوری میشود.
مرحله دوم: در این مرحله رقابتی نفسگیر میان استخراجگران آغاز میشود. استخراجگران یا همان ماینرها با بهکارگیری بیشینه توان رایانشی تلاش میکنند تا پیش از دیگر همتایان خود، معمای ریاضی شبکه را حل کنند. هر ماینری که موفق به حل این معما شود، میتواند مجوز شبکه را برای پردازش تراکنشهای گنجاندهشده در بلاک دریافت کند.
مرحله سوم: در این مرحله بلاک جدید، پردازش میشود. ماینر برنده، بلاک تراکنشها را پردازش و پاداش آن را دریافت میکند. سپس این بلاک را به بلاک چین میافزاید.
مرحله چهارم: در مرحله پایانی، بلاکچین بهروزرسانی میشود. بلاک جدید پس از اضافه شدن به بلاکچین، میان تمامی ماینرها توزیع میشود تا هر یک از آنها رونوشتی از نسخه بروزشده بلاکچین را در اختیار داشته باشند.
ویژگیهای اصلی
گواه اثبات کار در ارزهای دیجیتال، بهطور گستردهای برای اعتبارسنجی تراکنشها و استخراج کوینهای جدید به کار میرود. به کمک این روش منحصربهفرد، میتوان تراکنشهای بیت کوین یا دیگر رمزارزها را بهصورت «فرد به فرد» (Peer-to-Peer) و بدون نیاز به نهادهای واسطه، پردازش و تأیید کرد.
سازوکار گواه اثبات کار بهگونهای است که میتواند متضمن بقا و امنیت شبکههای رمزارزی مختلف باشد. در این روش، ماینرها برای مشارکت در تأیید تراکنشها باید توان رایانشی هنگفتی را مصرف کنند. همین ویژگی، مانع از آن میشود که خرابکارها بتوانند امنیت شبکه مبتنی بر اثبات کار را مخدوش کنند.
با این حال، استفاده از روش اثبات کار، مستلزم صرف مقادیر کلانی از انرژی است. شاید این به مذاق بسیاری، از جمله دوستداران محیط زیست، چندان خوش نیاید.
سهولت دسترسپذیری از دیگر ویژگیهای گواه اثبات کار است. هر کسی در هر جای دنیا که به اینترنت و برق دسترسی داشته باشد، میتواند از روش اثبات کار برای مشارکت در شبکه رمزارز دلخواه خود استفاده کند.
از دیگر ویژگیهای گواه اثبات کار این است که محدود به بیتکوین نیست و چندین رمزارز دیگر مانند اتریوم، دوج کوین، لایتکوین و مونرو هم از آن بهره میبرند.
امنیت در این الگوریتم به چه شکل است؟
اجرای الگوریتم اثبات کار در هر شبکه رمزارزی، مستلزم صرف مقادیر کلانی از انرژی و توان رایانشی است. بنابراین دستکاری و مداخله مخرب در این شبکهها بسیار دشوار است. هر فرد یا نهادی هم که بخواهد شبکه مبتنی بر گواه اثبات کار را دستخوش تغییرات دلخواه خود کند، دستکم باید کنترل نیمی از منابع رایانشی آن شبکه را در اختیار داشته باشد.
اگر فرد یا نهاد یاد شده بتواند ۵۱ درصد از توان محاسباتی یا «نرخ هش» (Hash Rate) استخراج شبکه را در دست بگیرد، میتواند با زیر پا گذاشتن قوانین حاکم بر شبکه، دست به حمله دوپرداختی بزند یا حتی تراکنشهای دیگران را در شبکه، مسدود و سانسور کند. این فرد یا نهاد تا زمان در اختیار داشتن ۵۱ درصد از توان شبکه، قادر است دیگر ماینرها را از مشارکت در فرایند تولید بلاکها منع کند و خود بهطور انحصاری، به پردازش تراکنشها و دریافت پاداش بلاک مشغول شود.
با این حال، انجام این حمله روی شبکه قدرتمندی همچون بیت کوین، بسیار دور از انتظار است. زیرا در اختیار گرفتن ۵۱ درصد از توان محاسباتی شبکه بیت کوین، بسیار هزینهبر و گران است. کمتر کسی، مایل یا قادر به پرداخت این هزینه بالا است.
مزایا و ویژگیهای PoW
میتوانیم به طور خلاصه، مزیتهای روش اثبات کار را در سه عنوان، خلاصه کنیم:
- فراگیری استفاده از روش اثبات کار در بسیاری از رمزارزها: شماری از پرآوازهترین و بزرگترین ارزهای دیجیتال از جمله بیت کوین و اتریوم، از پروتکل اثبات کار استفاده میکنند.
- امنیت بسیار بالا: اتکای روش اثبات کار بر شبکهای گسترده از منابع رایانشی، دستکاری شبکههای بنا شده بر پایه آن را ناممکن یا دستکم بسیار دشوار میکند.
- اعطای پاداش به استخراجگران یا همان ماینرها: در شبکههای مبتنی بر گواه اثبات کار، ماینرها میتوانند با اعتبارسنجی و پردازش تراکنشها پاداش دریافت کنند و به جریان درآمدی پایدار و سرشاری دست یابند.
معایب و محدودیتهای PoW
روش اثبات کار بهرغم بهرهمندی از مزیتهای چشمگیری همچون امنیت بالا دارای نقاط ضعفی نیز هست که در ادامه بهطور خلاصه به آنها اشاره میکنیم.
- انرژیبر بودن: پیادهسازی روش اثبات کار، مستلزم صرف مقادیر کلانی انرژی است تا بتوان فعالیت استخراج را سر پا نگه داشت.
- گرانی دستگاهها و سختافزارهای ویژه استخراج: کسب درآمد و سود در صنعت استخراج، کار سادهای نیست و به سختافزارهای ویژهای نیاز دارد که بسیار گرانقیمت هستند.
- دشوار بودن استخراج برای ماینرهای انفرادی: نبض کنترل شبکههای رمزارزی مبتنی بر گواه اثبات کار در اختیار مزارع بزرگ استخراج و گردانندگان استخرهای ماینینگ است و در این میان، استخراجگرانی که به طور مستقل و انفرادی، مشغول به فعالیت هستند، بخت چندانی برای کسب سود ندارند.
چرا رمزارزها از الگوریتم PoW استفاده میکنند؟
بسیاری از رمزارزها از گواه اثبات کار استفاده میکنند و برخی دیگر هم در پی یافتن روشهای بهتری برای پیادهسازی سازوکار اجماع خود هستند. از جمله رمزارزهای پرطرفداری که بر پایه پروتکل اثبات کار بنا شدهاند، میتوانیم به بیت کوین، اتریوم، بیت کوین کش، لایت کوین و مونرو اشاره کنیم. در این میان، اتریوم درصدد است تا با گذار به نسخهای جدید، روش اثبات کار را کنار گذاشته و از الگوریتم «اثبات سهام» (Proof-of-Stake) استفاده کند.
اما چرایی اقبال شبکههای رمزارزی به روش اثبات کار به دو دلیل عمده بازمیگردد:
- مصون بودن پروتکل اثبات کار در برابر حملات منع سرویس: پروتکل اثبات کار، دست اعضای شبکه را برای انجام مداخلات آسیبزا میبندد. هر عضو برای انجام هر کنشی در بستر شبکه مبتنی بر اثبات کار، به تلاش بسیار زیادی نیاز دارد. بنابراین مهاجمان و بازیگران مخرب به سختی میتوانند توان رایانشی لازم برای دستکاری شبکه را فراهم کنند و به این ترتیب، آسیبپذیری شبکه بسیار کاهش مییابد.
- قابلیت استخراج: تمامی کاربران شبکههای رمزارزی مبتنی بر روش اثبات کار میتوانند فارغ از آورده اولیه خود در اجرای پروتکل اثبات کار و استخراج رمزارز مشارکت کنند. با این حال، کاربری که منابع رایانشی بیشتری داشته باشد، سهم بیشتری هم از پاداش شبکه دریافت میکند؛ اما در مقام تصمیمگیری برای اجرای پروتکلهای شبکه، هیچ کاربری بر کاربر دیگر ارجحیت ندارد.
این الگوریتم چگونه یک تراکنش کریپتو را تایید میکند؟
همانطور که پیشتر توضیح دادیم، هر کاربر در یک شبکه رمزارزی مبتنی بر اثبات کار میتواند در فرایند اعتبارسنجی تراکنشها مشارکت کند.
برای مثال، در شبکه بیتکوین، اجرای پروتکل اثبات کار، مستلزم تکرار چندین و چند باره الگوریتم SHA-256 است. ماینری که بتواند پیش از همه با صرف منابع هنگفت انرژی، معمای ریاضی اثبات کار را کشف کند، از سوی شبکه اجازه مییابد که تراکنشهای موجود در «ممپول» (Mempool) را تجمیع کند، در یک بلاک بگنجاند و آن را به زنجیره بیفزاید. گفتنی است که ممپول، حافظهای برای ذخیره موقت تراکنشهای تأییدنشده است.
PoW معمولا کجا اجرا میشود؟
هر شبکه رمزارزی که برخورداری از امنیت را سرلوحه اهداف خود قرار میدهد، به طور معمول، سراغ الگوریتم اثبات کار میرود. پرآوازهترین شبکهای که از این الگوریتم بهره میگیرد، شبکه بیتکوین است. بیتکوین بهدلیل استفاده از الگوریتم اثبات کار، توانسته به امنیتی رسوخناپذیر دست پیدا کند. با این حال، ظرفیت این الگوریتم برای پردازش حجم انبوهی از تراکنشها ناکافی است.
شبکههای مبتنی بر اثبات کار به دلیل محدودیتهای ذاتی خود نمیتوانند از پس پردازش میلیونی تراکنشها بربیایند. از این رو، توسعهدهندگان این شبکهها در پی یافتن الگوریتمهای مناسبتری برای اجماع هستند. آنها به دنبال این هستند که بتوانند به تقاضای فزاینده برای افزایش ظرفیت پردازشی خود پاسخ بدهند. اتریوم، نمونه بارزی از این شبکهها است که میخواهد طی فرایندی تدریجی از الگوریتم اثبات کار به پروتکل اثبات سهام گذار کند.
چرا باید از الگوریتم اثبات کار استفاده کرد؟
بلاکچینها و شبکههای رمزارزی به دلیل ماهیت غیرمتمرکز و طراحی مبتنی بر ارتباط فردبهفرد خود به روشی پایدار برای دستیابی به اجماعی فراگیر نیاز دارند. اثبات کار، یکی از این روشها است که با تکیه بر مصرف مقادیر هنگفت انرژی، این هدف را محقق میکند. با این حال، سازوکارهای دیگری نیز برای اجماع طراحی شدهاند که هر یک مزایا و معایب خاص خود را دارند. بدون سازوکار اجماع، شبکه و دادههای ذخیره شده در بستر آن به شدت در برابر حملات سایبری یا سرقت، آسیب پذیر میشود.
مطالعه مطالب زیر را به شما توصیه میکنیم:
جمعبندی
- روش اثبات کار، ساز و کاری برای اجماع غیرمتمرکز است. در این روش، اعضای شبکه، تمام تلاش خود را صرف حل یک معمای ریاضی میکنند. آنها در تلاشند تا هم بتوانند تراکنشها را پردازش و تأیید کنند و هم مانع از مداخله بازیگران مخرب در شبکه بشوند.
- علاوه بر بیتکوین، رمزارزهای دیگری نیز از روش اثبات کار برای اعتبارسنجی تراکنشها و استخراج کوینهای جدید استفاده میکنند.
- تراکنشها در شبکه بیتکوین و دیگر شبکههای رمزارزی مبتنی بر اثبات کار، بهصورت فردبهفرد و بینیاز از یک نهاد مدیریت مرکزی، پردازش و تأیید میشوند.
- پیادهسازی روش اثبات کار در مقیاسی وسیع به مقادیر هنگفتی انرژی نیاز دارد.
لینک کوتاه کپی شد https://mazdax.ir/academy/?p=1801