Skip to main content
الگوریتم اثبات کار (Proof of Work)

الگوریتم اثبات کار (Proof of Work) راهکاری هوشمند جهت جلوگیری از دوبار خرج کردن (Double Soending) و حمله هکرها است. اثبات کار در بلاکچین دارای نقش مهمی است و اغلب رمز ارزها از آن به عنوان الگوریتم اجماع پلتفرمشان استفاده می‌کنند.

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

گواه اثبات کار جهت جلوگیری از دابل اسپندینگ (Double Spending) یا دوبار خرج کردن در شبکه بلاکچین ایجاد گردید. اغلب رمز ارزهای بزرگ نظیر بیت کوین، دوج کوین، لایت کوین، شیبا اینو، بیت کوین کش، زی کش، مونرو و … مبتنی بر الگوریتم اجماع اثبات کار (PoW) هستند.

همچنین الگوریتم فعلی اتریوم برای اجماع نیز اثبات کار pow است؛ البته بلاکچین اتریوم درحال گذار از گواه اثبات کار به اثبات سهام یا الگوریتم pos در بروزرسانی اتریوم 2.0 می‌باشد. الگوریتم اثبات کار (Proof of Work) در واقع روشی برای تامین امنیت دفتر کل یک رمز ارز به شمار می‌رود که در ادامه این مطلب بیشتر بدان خواهم پرداخت. 

مفهوم الگوریتم اجماع

مفهوم الگوریتم اجماع

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

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

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

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

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

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

الگوریتم pos یا اثبات سهام pos یکی دیگر از الگوریتم‌های اجماعی است که جهت جایگزینی برای اثبات کار در بلاکچین ایجاد شده است. برای نمونه الگوریتم فعلی اتریوم برای اجماع مبتنی بر اثبات کار pow است؛

اما بلاکچین این رمز ارز درحال گذار از گواه اثبات کار به الگوریتم اثبات سهام pos در بروزرسانی اتریوم 2.0 می‌باشد.

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

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

در الگوریتم اثبات کار یا PoW، ماینرها در ماینینگ که نوعی لاتاری با استفاده از یک تاس مجازی چندین میلیون وجهی جهت تولید هش مشخص می‌باشد. زمانی که ماینر با استفاده از این روش دیجیتال در کامپیوتر به هش موردنظر در لاتاری اثبات کار pow دست یابند، اجازه اضافه کردن یک بلوک به لجر رمز ارز خواهند داشت.

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

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

ماینرها در فرایند اثبات کار pow

ماینرها در فرایند اثبات کار pow

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

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

اهمیت الگوریتم اثبات کار (Proof of Work)

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

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

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

لازم به توجه است که الگوریتم اثبات کار در بلاکچین می‌تواند از هرگونه اختلال در شبکه بیت کوین جلوگیری نماید. این موارد سبب شده تا بتوان Proof of Work به عنوان یکی از مهم‌ترین الگوریتم اجماع را روشی بهینه برای رفع مشکلات پیش روی رمز ارزها درنظر گرفت.

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

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

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

هرچقدر شبکه بلاکچین گسترده‌تر و تعداد کاربران آن بیشتر باشد، احتمال حمله 51% کاهش خواهد یافت؛ زیرا دستیابی به توان هش لازم غیر ممکن می‌باشد. سختی استخراج در شبکه بیت کوین بگونه‌ای تنظیم می‌شود که زمان محاسبه هش هر بلاک جدید تقریبا 10 دقیقه زمان ببرد.

این کار در صورت داشتن هش ریت کافی، بواسطه طولانی نموده زمان محاسبه مقدار هش جدید همه بلاک‌های شبکه امکان دستکاری داده‌ها را بسیار دشوار می‌کند. بیت کوین به سبب هزینه حمله 1.5 میلیون دلاری برای هر ساعت، تنها شبکه‌ای به شمار می‌رود که احتمال حمله 51% به آن غیرممکن بنظر می‌رسد.

مقایسه الگوریتم اثبات کار pow با الگوریتم اثبات سهامpos

مقایسه الگوریتم اثبات کار pow با الگوریتم اثبات سهامpos

شاید شما بعد از مطالعه مطالب بالا در ارتباط با الگوریتم اجماع اثبات کار در بلاکچین به این پرسش برخورده‌اید که پس الگوریتم اثبات سهام یا Proof of stake چیست؟

در پاسخ باید بگویم الگوریتم اثبات سهامpos یک راه حل جدید برای رفع مشکلات مکانیزم اجماع اثبات کار pow است که در سال 2011 در انجمن Bitcointalk مطرح شد. هر دو الگو امکان تایید تراکنش‌های دریافتی و اضافه نمودن آن به یک بلاکچین را دارند.

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

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

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

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

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

الگوریتم اثبات کار (Proof of Work) دارای مزایای زیادی است که سبب شده اغلب ارزهای دیجیتال از آن استفاده کنند. در ادامه به مزایای الگوریتم اثبات کار (PoW) خواهم پرداخت:

جلوگیری از حملات هکرها و دو بار خرج کردن

همانطور که در بالا اشاره شد الگوریتم اثبات کار روشی هوشمند برای جلوگیری از دو بار خرج کردن (Double Soending) و حملات هکرهاست. در این روش ماینرها ورودی‌هایی به دستگاه ارائه داده و این ورودی‌ها به خروجی‌های مناسب با عنوان کد هش توسط دستگاه براساس توان پردازشی آن تبدیل می‌شود. کدهای هش هر بلاک اختصاصی بوده و هیچ تراکنشی با تراکنش دیگر شباهت ندارد و از همین‌رو هک کردن ارزهای دیحیتال مبتنی بر الگوریتم اجماع اثبات کار روشی دشوار است.

امکان استخراج رمز ارزها

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

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

علاوه بر مزایای وجود مکانیسم اجماع اثبات کار در بلاکچین، این مکانیسم معایبی نیز دارد:

مصرف برق زیاد

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

حملات 51 درصدی

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

تمرکزگرایی ماینینگ

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

ارزهای دیجیتال مبتنی بر گواه اثبات کار (Proof of Work)

با راه اندازی و ایجاد بیت کوین در سال 2008، الگوریتم اثبات کار به عنوان مکانیسم اجماعی مناسب و امن برای دیگر رمز ارزها نشان داده شد. امروزه ارزهای مهمی مبتنی بر این الگوریتم فعالیت می‌کنند که از جمله آن‌ها می‌توان به بیت کوین، اتریوم، لایت کوین، دوج کوین، شیبا اینو، بیت کوین کش، مونرو، دکرد، دش، زی کش و … اشاره نمود.

البته لازم به ذکر است که اگرچه الگوریتم فعلی اتریوم برای اجماع، اثبات کار است، اما در بروزرسانی مرج اتریوم 2.0 از این الگوریتم به اثبات سهام کوچ می‌کند.

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

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

ارسال پاسخ