راهنمای جامع الگوریتم اثبات کار (PoW)

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

اثبات کار چیست؟

اثبات‌کار یا (Proof of work (PoW، در سال 2004، توسط هال فینی (Hal Finney) برای به دست آوردن پول دیجیتال با استفاده از الگوریتم هش SHA-256 ارائه شد. از اثبات‌کار برای جلوگیری از ایمیل‌های اسپم (spam) و استفاده نادرست از قدرت محاسباتی استفاده می‌شود. بیت کوین به عنوان اولین ارز دیجیتال اثبات‌کار، در سال 2009 راه‌اندازی شد. از این الگوریتم در سایر رمزارزها نیز به دلیل ویژگی های اجماع امن و غیرمتمرکز، استفاده می‌شود. اثبات‌کار یک روش برای تایید تراکنش ها در شبکه های غیرمتمرکز است که ماینرها برای تولید رمزارز جدید از آن استفاده می کنند.

در مکانیزم اثبات‌کار، شبکه تایید کنندگان تراکنش ها و بلاک ها را مجبور می کند تا از قدرت پردازش خود و حل معاملات پیچیده ریاضی، تراکنش ها را تایید کنند و با تایید تراکنش ها و تولید بلاک جدید به آنها پاداش می دهد.

تاریخچه اثبات کار

اولین الگوریتمی که به اثبات‌کار شباهت داشت، توسط سینتیا دوارد (Cynthia Dward) و مونی نائور (Moni Naor) در سال 1993 ارائه شد. این الگوریتم در مقاله‌ای به عنوان «روش‌هایی برای جلوگیری از اسپم» منتشر شد. در این مقاله، روش کار به این صورت تعریف شده بود که برای اثبات اسپمر نبودن، باید مدتی از قدرت CPU مصرف می شد (برای مثال 10 ثانیه).

طبق اظهارات دوارد و نائور، اسپمرها باید 10 ثانیه از زمان پردازنده خود را صرف کنند و در نهایت به جای ارسال نامحدود اسپم تنها می‌توانند 8000 اسپم در روز ارسال کنند. چک کردن عملکرد اثبات‌کار، کار سختی نیست اما محاسبه آن برای اسپمرها مشکل است. اصطلاح اثبات‌کار در مقاله‌ای به نام «اثبات‌کار و پروتکل‌های پودینگ نان» به نویسندگی مارکوس جاکوبسون (Markus Jakobsson) و آری ژولز (Ari Juels) در سال 1999 به وجود آمد.

ویژگی‌های اثبات کار

اثبات‌کار به عنوان یک مکانیزم اجماع که محبوبیت زیادی در حوزه کریپتو دارد، دارای ویژگی های منحصر به فردی است که همین ویژگی ها باعث اقبال بلاک چین های مختلف از این مکانیزم شده است.

منع دوباره خرج کردن

اثبات‌کار (Proof of work)، از دوباره خرج کردن (double-spending) جلوگیری می‌کند. تمامی معاملات در بلاک چین با استفاده از یک رمزارز که نشان‌دهنده ارزش پولی است، پشتیبانی می‌شود. برای مثال اگر بخواهید مقدار 50 دلار را برای دوست خود ارسال کنید باید مقدار مشخصی بیت کوین را ارسال کنید. اما از کجا اطمینان حاصل شود که این تعداد کوین قبلا برای کالای دیگری پرداخت نشده است؟ به همین دلیل برای جلوگیری از دوباره خرج کردن از الگوریتم اثبات کار استفاده می‌شود.

با استفاده از یک مرجع واحد می‌توان اطمینان پیدا کرد که کوین‌ها دوباره خرج نمی‌شوند. اما این کار باعث متمرکز بودن می‌شود، زیرا دقیقا مانند بانک‌ها عمل می‌کنند. با دانستن تاریخچه تراکنش‌ها می‌توان از دوبار خرج کردن جلوگیری کرد. این دقیقا همان کاری است که ساتوشی ناکاموتو با دادن دسترسی به همه شرکت کنندگان شبکه به کل تاریخچه تراکنش‎ها انجام داده است.

برچسب زمانی

برای تعیین زمان ایجاد تراکنش در بیت کوین از سرور برچسب زمانی استفاده می‌شود. این ویژگی نه تنها زمان و اتفاقی که در بلاک چین بیت کوین رخ می دهد را نشان می دهد، بلکه هش یک بلاک که شامل تراکنش‌های زیادی است را به طور رسمی در شبکه اعلام می‌کند. یکی از مولفه‌های اصلی برچسب زمانی شامل نمایش زمانی بلاک قبلی در هش فعلی آن است.

در واقع این ویژگی برای مشخص و تعیین کردن زمان دقیق هر تراکنش به آن می چسبد و با این کار امنیت را تامین می کند. به همین جهت، برای داشتن یک سرور برچسب زمانی برای هر عملیات، نیاز به یک سیستم اثبات‌کار داریم. همچنین شبکه بیت کوین که از گواه اثبات‌کار استفاده می کند، با استفاده از برچسب زمانی تاکنون حمله انحراف را تجربه نکرده است. 

نحوه عملکرد اثبات کار به چه صورت است؟

هنگام ارسال بیت کوین، آن تراکنش به همراه سایر تراکنش‌ها زمان سنجی می‌شود و در یک بلاک قرار می‌گیرد. این بلاک‌ها در شبکه غیرمتمرکز قرار می‌گیرند و ماینرها از قدرت محاسباتی خود، برای اعتبارسنجی بهره می‌برند. نودهای شبکه برای حل مسائل ریاضی با یکدیگر به رقابت می‌پردازند و در نهایت کسی که عدد صحیح را پیدا کند، آن را به سایر نودها ارسال می‌کند.

 هنگامی که اکثر نودها آن را تایید کنند، پاداشی‌ از طرف شبکه به ماینر تعلق می‌گیرد و آن بلاک به بلاک چین اضافه می‌شود. نودها برای استخراج رمزارز از منابع، زمان و انرژی زیادی استفاده می‌کنند.

استخراج اثبات کار به چه صورت انجام می‌شود؟

استخراج ارزهای دیجیتال با استفاده از الگوریتم اثبات کار از طریق روش‌های زیر استخراج می‌شود:

انتخاب یک ارز دیجیتال

زمانی که یک کوین را انتخاب می‌کنید، باید هش ریت (قدرت) و پیچیدگی ماینینگ آن را نیز در نظر داشته باشید (می‌توانید قیمت، موجودی کیف پول ها، بلاک چین های مختلف و … را در سایت /bitinfocharts.com/ru مشاهده کنید). با استفاده از این اطلاعات می‌توانید تجهیزات مورد نیاز برای استخراج آن را خریداری و چشم اندازهای آینده را تجزیه و تحلیل کنید.

ایجاد مکان استخراج

در روش اثبات کار قبل از خرید تجهیزات ماینینگ، باید شرایط ایده‌آل را ایجاد کنید. مکان استخراج باید دارای تهویه مناسب به خصوص در فصل تابستان باشد. به همین دلیل در صورت نیاز باید تهویه مناسب جهت خنک سازی تهیه شود.

خرید تجهیزات

تنها دو گزینه برای ماینینگ وجود دارد. گزینه‌ی اول خرید دستگاه اسیک (ASIC) و گزینه دوم ساخت مزرعه با استفاده از کارت گرافیک است. در حالت اول باید دستگاه های استخراج متناسب با شبکه و رمزارز خاص تهیه شود، برای مثال در استخراج بیت کوین از ماینرهای S15 و Antminer S11 استفاده می شود.

اما در حالت دوم به وسیله کارت های گرافیک می توانید رمزارزهایی مانند زیکش (Zcash) و اتریوم کلاسیک (Ethereum Classic) به دست آورد. مدل های Nvidia GTX 1060 و برد های AMD RX 480/580 برای استخراج این نوع از رمزارزها مناسب هستند. افزون بر تهیه کارت گرافیک باید هزینه های مادربرد، پردازنده، RAM و منبع تغذیه را نیز پرداخت کنید.

دانلود برنامه برای استخراج

برای استخراج در الگوریتم اثبات کار باید دانلود برنامه‌هایی نظیر CG Miner (برای استخراج بیت کوین)، Miner Gate (برای استخراج بیت کوین، لایت کوین، اتر، مونرو، دش و سایر ارزهای دیجیتال محبوب)، Claymore’s Dual Miner (برای ماینینگ همزمان اتر و یکی از 4 ارز Pascal ،Decred ،Lbry یا Siacoin) صورت گیرد.

ثبت نام در استخر استخراج

می‌توانید سایت‌هایی نظیر pool.btc.com, antpool.com, f2pool.com را انتخاب کنید تا قدرت ماینرها را با یکدیگر ترکیب کنند. همچنین سایت‌هایی نظیر 2miners.com/ru, solopool.org با در اختیار قرار دادن منابع، این امکان را فراهم می‌کنند تا به ماینینگ انفرادی بپردازید.

دانلود کیف پول برای ذخیره ارزهای استخراج شده

می‌توانید از کیف پول‌های اصلی نظیر بیت کوین و لایت کوین، کیف‌پول‌هایی که از چند ارز پشتیبانی می‌کنند مانند Jaxx ،Exodus، کیف پول‌های آنلاین (coin.space ،blockchain.com)، کیف پول‌های سخت‌افزاری مانند Ledger Nano S و یا کیف پول‌های کاغذی استفاده کنید.

محاسبه سودآوری ماینینگ در الگوریتم اثبات کار

می‌توانید میزان سودآوری خود را محاسبه کنید اما باید مقدار برق مصرفی خود را هنگام محاسبه در نظر بگیرید. همچنین می‌توان با استفاده از nicehash.com/profitability-calculator، سودآوری را محاسبه کرد. اما توجه به این نکته ضروری است که داده‌ها به دلیل افزایش و یا کاهش سختی استخراج شبکه متفاوت هستند.

تنظیم برنامه‌ای برای استخراج با استفاده از الگوریتم اثبات کار

قدرت تجهیزات وابسته به انتظار شما است. به این صورت که اگر به درآمد ماهانه نیاز دارید مزارع باید به صورت شبانه روزی استخراج را انجام دهند. برای تداوم استخراج رمزارزها باید از ماینرها به صورت دوره ای استفاده کرد.

ارسال کوین‌ها به کیف پول

بعد از کسب کردن کوین‌ها از استخرها، آن‌ها را به کیف پول خود ارسال کنید تا هنگام متوقف شدن سیستم، آن‌ها را از دست ندهید. پس از جمع‌آوری کوین‌ها می‌توانید آن‌ها را به ارز فیات تبدیل و یا ترید کنید.

تفاوت بین اثبات کار و اثبات سهام

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

اما اگر کسی در شبکه‌ای که از الگوریتم اثبات سهام استفاده می‌شود تقلب کند، مقداری از سهم خود را که در شبکه استیک کرده است از دست می‌دهد. این مقدار که برای مجازات از نودها در نظر گرفته می‌شود، به شبکه بستگی دارد.

مزایا و معایب اثبات کار

الگوریتم اثبات‌کار سیستمی بر مبنای معماهای ریاضی است که دارای معایب و مزایایی می‌باشد.

مزایا

  • مقاوم در برابر حملات منع سرویس توزیع‌ شده (DDoS)
  • ایجاد محدودیت برای کاربران متقلب
  • محدود کردن فعالیت های خرابکارانه در شبکه

معایب

  • لوازم‌های جانبی پر هزینه
  • دستگاه‌های گران قیمت
  • سختی استخراج به دلیل محدودیت بیت کوین
  • محاسبات دشوار و معماهای پیچیده
  • منجر به متمرکز شدن بلاک چین می‌شود
  • مصرف انرژی زیاد

کلام پایانی

همان طور که گفته شد، الگوریتم اثبات کار یک روش اساسی برای حل مشکل دوباره خرج کردن است. بیت کوین، اثبات کرده است که برای جلوگیری از دوباره خرج کردن نیازی به مراجع متمرکز نمی‌باشد. کاربران می‌توانند با استفاده از توابع هش و تئوری بازی در یک شبکه غیرمتمرکز به توافق برسند.

منبع: coinrivet , bitcoinminershashrate , cryptogeek