یکی از مفاهیم اساسی در بلاکچین الگوریتم اجماع اثبات کار یا همان Proof of Work است. در این مطلب قصد داریم به طور کامل در مورد الگوریتم PoW و عملکرد آن صحبت کنیم.

PoW یا الگوریتم اجماع اثبات کار چیست؟

در سال 1993 اولین مفهوم الگوریتم اثبات کار توسط دو دانشمند به نام های مونی نور(Moni Naor) و سینتیا ورک(Cynthia Dwork) مطرح شد و آن جلوگیری از حملات DOS به سرویس های اینترنتی بود. این مفهوم پس از آن در سال 2004 به منظور افزایش امنیت پول دیجیتال توسط هال فینی(Hal Finney) توسعه داده شد. وی با استفاده از الگوریتم هش در مکانیسم اثبات کار امنیت داده ها را تامین کرد. در سال 2009 شکل جدیدی از الگوریتم اثبات کار(Proof of Work) توسط ساتوشی ناکاموتو و در وایت پیپر بیت کوین معرفی شد. بلاک های حاوی تراکنش های تایید شده توسط افراد فعال در شبکه با الگوریتم اثبات کار ایجاد شده و در نهایت شبکه بلاکچین شکل می گیرد.

مکانیزمی که به یک شبکه غیرمتمرکز اجازه اجماع و توافق می دهد اثبات کار(PoW) نامیده می شود. در این صورت کاربران قادر به خرج کردن دوباره کوین های خود نخواهند بود. همچنین منجر به مقاومت شبکه در برابر حملات و دستکاری ها می شود.

بیشتر بخوانید: فناوری بلاکچین چیست و چه کاربری دارد؟

بیت کوین یکی از انواع ارزهای دیجیتالی است که از الگوریتم اجماع اثبات کار بهره می برد. دوج کوین نیز از جمله میم کوین هایی است که از PoW استفاده می کند.

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

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

به منظور رسیدن به آن جواب لازم است متغیرهای تابع را با آزمون و خطا تغییر دهید.

لازم است در این الگوریتم فرمول نوشته شده برای هش تولیدی به گونه ای باشد که در صورت ایجاد تغییر در یک کاراکتر نتیجه کاملا متفاوت شود. در این صورت امکان پیش بینی خروجی وجود ندارد. به طور مثال در الگوریتم اجماع بیت کوین از تابع SHA-256 استفاده می گردد و هش هایی با تعداد 64 کاراکتر تولید می شود. بنابراین تغییر یک ورودی منجر به تغییر کل هش خواهد شد.

الگوریتم اجماع اثبات کار چیست

هش در الگوریتم اجماع اثبات کار چیست؟

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

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

تولید هش برای تعدادی از تراکنش های بیت کوین روی سیستم های امروزی کار آسانی است. سختی شبکه بیت کوین پس از ساخت هر 2016 بلاک و هر دو هفته یکبار تغییر می یابد. این سختی منجر به استخراج یک بلاک جدید به مدت 10 دقیقه می شود. بدون وجود سختی شبکه احتمال کاهش مدت زمان تولید هر بلاک به کمتر از 10 دقیقه وجود دارد.

بیشتر بخوانید: ارز دیجیتال بیت کوین چیست؟

امنیت در الگوریتم اثبات کار

در این الگوریتم به منظور جلوگیری از سرقت و تغییر اطلاعات لازم است کلید عمومی رمزنگاری شود. تقلب در این الگوریتم هزینه بر بوده اما انجام عمل صادقانه می تواند منجر به سود در این الگوریتم شود.

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

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

با این مکانیسم دیگر امکان دستکاری در داده های بلاک چین وجود ندارد. بنابراین نودها قادر به تایید نسخه های تغییر یافته بلاک ها نخواهند بود. بنابراین نودها دستکاری در مقدار هش ایجاد شده توسط PoW را تشخیص می دهند. یک تابع هش وظیفه دارد هر مقدار داده ورودی را به یک مقدار خروجی با طول مشخص تبدیل کند.  

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

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

الگوریتم اثبات کار pow

بیشتر بخوانید: آشنایی با مفهوم ارز دیجیتال

اهمیت استفاده از اثبات کار چیست؟

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

پرکاربردترین مکانیسم اجماع مورد استفاده توسط ارزهای دیجیتال الگوریتم اثبات کار است. در ادامه لیستی از ارزهای دیجیتال که از این الگوریتم استفاده می کنند آورده شده است:

  • بیت کوین
  • اتریوم
  • مونرو
  • دوج کوین
  • زی کش
  • دش
  • بیت کوین کش
  • اتریوم کلاسیک
  • لایت کوین
  • دکرد

مزایای الگوریتم اجماع اثبات کار

  • تایید تراکنش ها به صورت غیرمتمرکز و عدم نیاز به واسطه
  • دریافت پاداش در ازای تایید تراکنش ها توسط ماینرها
  • کاهش احتمال حملات 51 درصد در بلاکچین های PoW
  • امنیت بالا

الگوریتم اثبات کار

بیشتر بخوانید: توکن غیرقابل تعویض یا nft چیست؟

معایب الگوریتم اثبات کار

  • بالا بودن مصرف برق منجر به آسیب رساندن به محیط زیست می شود.
  • پایین بودن سرعت تایید تراکنش ها و بالا بودن میزان کارمزد برای تایید تراکنش ها
  • نیاز به سرمایه زیاد برای خرید ماینر
  • استخراج ارزهای دیجیتال تنها توسط دارندگان دستگاه های ماینر امکان پذیر است.
  • افراد با تعداد ماینرهای بیشتر میزان شانس بیشتر برای استخراج ارزهای دیجیتال و دریافت پاداش دارند.

جمع بندی

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