ایران چارت بلاک چین الگوریتم اثبات کار (PoW) چیست؟

الگوریتم اثبات کار (PoW) چیست؟

تخمین زمان مطالعه

۸ دقیقه
شنبه 28 فروردین 1400
الگوریتم اثبات کار (PoW) چیست؟

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

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


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

الگوریتم «اثبات کار» (Proof of Work) از جمله الگوریتم‌های اجماع شبکه‌های بلاک چین است که در تعدادی از رمز ارزهای موجود همچون بیت کوین مورداستفاده قرار می‌گیرد. مفهوم پایه‌ای الگوریتم اثبات کار در سال ۱۹۹۳ و در جهت مقابله با حملات به سرویس‌های اینترنتی مطرح گردید ولی هیچ‌وقت به مرحله‌ی اجرا نرسید. اما در سال ۲۰۰۹، در شبکه‌ی بلاک چین رمز ارز بیت کوین، شکل تازه‌ای از الگوریتم گواه اثبات کار جهت استفاده در قالب «الگوریتم اجماع» (Consensus Algorithm) معرفی گردید. منظور از الگوریتم اجماع، پروسه‌ای است که بر طبق آن تمام شبکه در مورد یک داده به توافق و تأیید کلی می‌رسند.

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

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


تاریخچه الگوریتم اثبات کار

ایده‌ی اولیه‌ی الگوریتم اثبات کار در ابتدای دهه‌ی ۹۰ میلادی توسط «سینتیا دوورک» (Cynthia Dwork) و «مونی نوار» (Moni Naor) که در آن وقت در بخش تحقیقاتی کمپانی IBM فعالیت می‌کردند، به‌عنوان یک الگوریتم جهت محافظت در مقابل ایمیل‌های اسپم مطرح گردید.

چند سال بعد، در سال ۱۹۹۷، سیستم کاری مبتنی بر این الگوریتم توسط «ادام بک» (Adam Beck) در پروژه‌ای تحت عنوان «هش کش» (HashCash) اجرا گردید. این پروژه با هدف مقابله با ایمیل‌های اسپم پیاده‌سازی شده بود که پیش‌تر هم در روش‌های رمزنگاری استفاده می‌شد و در حال حاضر در بلاک چین بیت کوین کاربرد دارد. همان‌گونه که «ساتوشی ناکاموتو» (Satoshi Nakamoto) در وایت پیپر ارز دیجیتال بیت کوین نیز ذکر کرده بود ادام بک را می‌توان خالق الگوریتم PoW عنوان کرد.

تاریخچه الگوریتم اثبات کار


الگوریتم اثبات کار چگونه عمل می‌ کند؟

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

در طرف دیگر ماینرهایی که به نام «شرکت‌کنندگان غیرمتمرکز» (Decentralized Participants) نیز شناخته می‌شوند وظیفه‌ی تأیید اعتبار بلوک‌ها را از طریق قدرت محاسباتی سخت‌افزارهای ماینینگ خود برعهده دارند که آن‌ها نیز پاداش دریافت خواهند کرد. آیا می‌دانید حل یک مسئله‌ی دشوار ریاضی به چه معناست؟


منظور از مسئله دشوار ریاضی در الگوریتم اثبات کار چیست؟

حال بیایید ببینیم اصلاً منظور از حل یک مسئله‌ دشوار ریاضی چیست؟ منظور مسئله‌ای است که نیاز به توان محاسباتی زیادی برای حل شدن دارد. مسائل بسیاری از این دست وجود دارد که از جمله آن‌‌ها می‌توانیم به موارد زیر اشاره کنیم:

  • «تابع هش» (Hash Function) یا پیدا کردن یک ورودی از طریق دانستن خروجی.
  • «فاکتورگیری از عدد صحیح» (Integer Factorization) یا پیدا کردن عددی که حاصل‌ضرب دو عدد در یکدیگر است.
  • «پروتکل مسئله هدایت‌شده» (Guided Tour Puzzle Protocol) که از توابع هش استفاده می‌کند.

حال برگردیم به الگوریتم گواه اثبات کار؛ در حقیقت در این الگوریتم به جواب مسئله دشوار ریاضی، «هش» (Hash) گفته می‌شود. الگوریتم اثبات کار در شبکه ارز دیجیتال بیت کوین مبتنی بر الگوریتم هشینگ SHA-256 است.

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

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

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

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



حمله ۵۱ درصدی

حمله 51 درصدی چیست؟ یکی از اتفاقاتی که ممکن است در شبکه‌هایی که از الگوریتم اثبات کار پیروی می‌کنند، رخ دهد، حمله ۵۱ درصدی است. حمله اکثریت یا ۵۱ درصدی زمانی رخ می‌دهد که کاربر یا گروهی از کاربران، موفق می‌شوند اکثریت قدرت استخراج شبکه‌ی یک ارز دیجیتال را کنترل کنند. در حقیقت در این نوع حملات سایبری، مهاجمین موفق می‌شوند کنترل ایجاد بلوک‌های جدید را در اختیار بگیرند. مثلاً مهاجمان می‌توانند از کامل شدن بلوک‌ها توسط ماینرهای دیگر جلوگیری کنند و تمام پاداش را از آن خود نمایند.

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

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

حمله 51 درصدی چیست


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

به‌طور کلی الگوریتم گواه اثبات کار، امنیت شبکه‌ی یک ارز دیجیتال را ارتقاء خواهد داد و از شبکه در برابر حملات سایبری همچون حمله‌ اکثریت یا حمله‌ ۵۱ درصدی محافظت خواهد کرد. همچنین معمولاً شبکه‌ای غیرمتمرکز را شکل می‌دهد که هیچ شخص ثالثی در کنترل آن دخالت ندارد.

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

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


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

در حال حاضر الگوریتم اثبات کار در بسیاری از ارزهای دیجیتال مورد استفاده قرار گرفته است که شناخته‌شده‌ترین این رمز ارزها بیت کوین است. بیت کوین را می‌توان نماد استفاده از الگوریتم اجماع اثبات کار در ارزهای دیجیتال نامید. از دیگر رمز ارزهایی که مبتنی بر این الگوریتم اجماع هستند می‌توان به «لایت کوین» (Litecoin) و «اتریوم» (Ethereum) اشاره کرد.


سخن پایانی

نزدیک به ده سال از پیدایش بیت کوین، ارز دیجیتالی که با ظهور خود باعث رخ دادن تحولی عظیم در دنیای مبادلات مالی شد، گذشته است. کارکرد شبکه‌ی ارز دیجیتال بیت کوین بر اساس الگوریتم اثبات کار است. الگوریتم اثبات کار، تلاش می‌کند تا با ارائه‌ی یک سری مشوق (توکن یا کوین شبکه آن ارز دیجیتال) به کاربران خود، امنیت و پایداری شبکه‌ی آن رمز ارز را حفظ کرده و راه جدیدی جهت توزیع عادلانه‌ی دارایی‌ها، بر اساس توان محاسباتی کاربران پیشنهاد دهد.

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

تگ ها:

درباره نویسنده

امیررضا دستانی

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

نظر شما

نظرات کاربران