الگوریتم اثبات کار چیست؟ بررسی اثبات کار در فرآیند استخراج
گواه اثبات کار (Proof of Work) که به اختصار PoW نشان داده میشود برای اولین بار توسط سینتیا دورک و مونی نایر پایه گذاری شد. معروفترین کاربرد این الگوریتم، ارزهای دیجیتال و بیت کوین میباشد. این مکانیزم یک الگوریتم اجماع است که برای تایید تراکنشها، تولید بلاکهای جدید در بلاکچین و تامین امنیت شبکه مورد استفاده قرار میگیرد و از شبکه در مقابل حملات DDos و ایجاد اسپم محافظت میکند. شاید از خود بپرسید که گواه اثبات کار چگونه این کار را انجام میدهد؟
الگوریتم اجماع، یکی از مباحث مهم در امنیت بلاک چین و ارزهای دیجیتال محسوب میشود. شاید یکی از مهمترین راههای سرمایه گذاری بهتر در بازار ارزهای دیجیتال، قبل از بررسی نمودارهای قیمتی آنها، کسب آگاهی بیشتر درباره نحوه کارکرد و چگونگی حفظ امنیت در شبکه ارزهای دیجیتال باشد. تامین امنیت در بلاکچین و نیز روشهای اعتبار سنجی در تراکنشهای گوناگون به وسیله الگوریتمهای اجماع انجام میشود. ارزهای دیجیتال امروزه از الگوریتمهای اجماع مختلفی برای تامین امنیت و تایید تراکنشهای شبکه خود استفاده میکنند. مهمترین الگوریتمهای اجماعی در بلاک چینهای گوناگون مورد استفاده قرار میگیرند، اثبات کار و اثبات سهام هستند.
الگوریتم اجماع در بلاکچین ارزهای دیجیتال
در شبکههای متمرکز به عنوان مثال شبکه یک بانک، همه اطلاعات به صورت متمرکز و در سرور مرکزی بانک ذخیره میشود و وظیفه تایید تراکنشهای بانکی و حفظ امنیت شبکه و اطلاعات کاربران بر عهده بانک میباشد. اما در سیستمها و شبکههای غیرمتمرکز مبتنی بر بلاک چین اوضاع فرق میکند. در این شبکهها وظیفه تایید تراکنشها و تامین امنیت شبکه بر عهده اعضای شبکه میباشد.
حتما از خودتان میپرسید در این شبکههای امنیت چگونه تامین میشود؟ اگر کسی در شبکه اختلال ایجاد کند، چه خواهد شد؟ پاسخ به این سوالات در الگوریتم اجماع نهفته است. الگوریتم اجماع، راهی برای حفظ امنیت و یکپارچگی در یک بلاکچین است. این الگوریتمها برای رفع مشکل اعتماد بین افراد و یا نودهای گوناگون در آن شبکه به وجود آمده است.
-
الگوریتم اجماع در سیستمهای غیرمتمرکز
همانطور که میدانید همه تراکنشها در بلاک چین بصورت غیرمتمرکز ذخیره میشود. ثبت اطلاعات بصورت غیر متمرکز به این معنا است که اطلاعات تراکنشهای ارزهای دیجیتال در یک سرور پردازش و ذخیره نمیشود و میان تمام افراد فعال در شبکه توزیع میشود. در یک شبکه بلاکچینی تمام افراد میتوانند به اطلاعات تراکنشها دسترسی داشته باشند. اما چرا این اطلاعات به صورت توزیع شده و غیر متمرکز ذخیره سازی میشود؟ مهم ترین دلیل انجام این کار، حفظ امنیت شبکه و اطمینان از عدم دسترسی و تغییر اطلاعات است. اگر دادهها در یک نود از بین برود یا آسیب ببیند، هزاران نود دیگر وجود دارند که همین اطلاعات را در خود ذخیره کردهاند.
منظور از گواه اثبات کار چیست؟
بیت کوین در سال 2009 شکل جدیدی از اثبات کار را برای استفاده به عنوان الگوریتم اجماع (consensus algorithm) معرفی کرد. این ارز دیجیتال با سایر ارزهای دیجیتال قبل از خود فرق داشت ویژگیهای آن مانع از هک و نابودی شبکه میشد. گواه اثبات کار در بیتکوین به همراه هشینگ (hashing) مورد استفاده قرار گرفت. استفاده شبکه بیت کوین از این الگوریتم باعث شده است حمله به این شبکه نیازمند صرف هزینه و زمان بسیار زیادی باشد و عملا انگیزه حملات را از بین میبرد.
در شبکه بیت کوین استخراج کنندگان با بکار گیری این الگوریتم برای تایید تراکنشها و دریافت پاداش شبکه با یکدیگر رقابت میکنند. در شبکه ارزهای دیجیتال هنگامی که کاربران برای یکدیگر ارز دیجیتال ارسال میکنند اطلاعات مربوط به تراکنشها در بلاکها جمع آوری میشوند، مسئولیت تایید تراکنشها و آرایش بلاکهای زنجیره بر عهده ماینرها یا همان استخراجکنندگان ارزهای دیجیتال میباشد. این کار طی فرآیند استخراج ارزهای دیجیتال یا ماینینگ انجام میشود.
ماینرهای ارز دیجیتالی که شبکه آنها مبتنی بر گواه اثبات کار میباشد طی فرآیند استخراج باید معادلات سخت ریاضی را حل کنند و ماینری که بتواند زودتر از دیگران جواب صحیح معادله ریاضی که در واقع همان هش بلاک میباشد را بدست آورد میتواند تراکنشها را تایید کرده و بلاک حاوی تراکنشها را به زنجیره بلاک اضافه کنند و علاوه بر کارمزد تراکنشها واحدهای جدید تولید شده را نیز به عنوان پاداش دریافت کند.
هش در گواه اثبات کار چیست؟
الگوریتم اثبات کار روشی است که طی آن کاربران میتوانند اشکالات و مداخلات درون شبکه را تشخیص دهند. این کار به کمک هشها و مجموعهای طولانی از اعداد که با عنوان اثبات کار معرفی میشود انجام میشود. به این طریق که شما میتوانید اطلاعات خود را به یک الگوریتم هش بدهید و یک عبارت هش را تحویل بگیرید. این عبارت هش منحصر به فرد است. به طوری که اگر شما تغییرات جزئی در دادههای اصلی خود ایجاد کنید، آنگاه عبارت هش جدیدی دریافت خواهید کرد. ورودی توابع هش میتواند مقادیر متفاوت با طول نامعلوم باشد اما خروجی که حاصل میشود همواره طول ثابتی دارد. فرآیند تولید عبارت هش یک فرآیند یکطرفه است؛ یعنی این که شما با داشتن عبارت هش نمیتوانید به اطلاعات اصلی دسترسی پیدا کنید؛ اما میتوانید صحت آنها را با دادههای اصلی مطابقت دهید.
همانطور که قبلا بیان شد هش همان جواب معادلات ریاضی است که ماینرها برای حل آن باهم رقابت میکنند. در واقع ماینرها با امتحان کردن شمارههای تصادفی (نانس (nounce)) تلاش میکنند جواب معادله را پیدا کنند. برای بررسی عدد حدس زده شده آن را از درون تابع هش عبور میدهند تا مشاهده کنند که آیا آن عدد با شرایط بلاک یکسان است یا خیر؛ بنابراین زمانی که یک ماینر جواب معادله (هش) را پیدا کرد آن را به شبکه ارسال میکند تا سایر ماینرها جواب آن را تایید کنند و بلاک جدید ایجاد شود. به همین دلیل به الگوریتم هش، الگوریتم اثبات کار نیز میگویند.
ایجاد هش برای مجموعهای از تراکنشهای بیت کوین برای سیستمهای امروزی کار سادهای است؛ بنابراین شبکه با تبدیل این فرآیند به کار تلاش میکند تا سطح خاصی از سختی را برای شبکه بیتکوین ایجاد کند. سختی شبکه بیتکوین هر دو هفته یکبار و پس از ساخته شدن 2016 بلاک تغییر میکند. این سختی به گونهای است که استخراج یک بلاک جدید به طور متوسط 10 دقیقه زمان ببرد. اگر سختی شبکه وجود نداشته باشد، به مرور زمان با افزایش تعداد ماینرهای شبکه بیت کوین تعداد حدسهایی که برای هش هر بلاک زده میشود نیز افزایش مییابد، در نتیجه این احتمال وجود دارد که استخراج بلاکهای جدید کمتر از 10 دقیقه زمان ببرد و هیچ چیز نتواند جلوی ماینرها را بگیرید.
منظور از معادلات ریاضی در الگوریتم اثبات کار چیست؟
منظور از معادلات ریاضی در اثبات کار همان مسئلهای است که برای به دست آوردن جواب آن نیاز به نیروی محاسباتی قدرتمندی داریم. به جواب نهایی مسئله اثبات کار یا معادله که توسط ماینرها به دست میآید هش میگویند. پیچیدگی معادلات، به تعداد کاربران، هشریت (توان محاسباتی) کنونی شبکه و بار آن بستگی دارد. هر چه شبکه بلاک چین شما بزرگتر باشد، به دست آوردن جواب معادله نیز سختتر خواهد شد و بالعکس؛ بنابراین برای حل این معادلات پیچیده ریاضی نیاز به قدرت بیشتری دارید. پیچیدگی یک کار نکته بسیار حساسی است.
اگرچه پیچیدگی امر بسیار مهمی در شبکههای مبتنی بر اثبات کار میباشد اما این پیچیدگی ایجاد شده در اثر رشد شبکه نباید به گونهای باشد که ماینرها برای تولید بلاکهای جدید نیاز به صرف زمان زیادی داشته باشند و نتوانند جواب معادلات را در یک بازه زمانی مشخص بدست آورند به عبارت دیگر تولید بلاکهای زنجیره به نوعی معجزه باشد.
مطالب مرتبط: ریگ ماینینگ چیست؟ |
از طرف دیگر اگر این معادلات ساده باشند شبکه براحتی هدف حملات dos ،ddos و اسپم قرار خواهد گرفت. بنابراین درجه پیچیدگی معادلات باید بررسی شود.
همچنین لازم به ذکر است، هر چه قدرت رایانهای که به شبکه اضافه میشود بیشتر باشد، آنگاه برای حل معادله بلاک جدید نیاز به محاسبات زیادی خواهد بود. این روش باعث افزایش هزینه تولید بلاک در شبکه میشود؛ بنابراین استخراجکنندگان مجبور هستند عملکرد سیستم استخراج خود را تقویت کنند تا عمل ماینینگ برای آنها به صرفهتر باشد.
چرا استفاده از گواه اثبات کار ضروری است؟
استفاده از الگوریتم اثبات کار به چند دلیل مختلف در شبکه بلاک چین ضروری است که در زیر به آنها اشاره میکنیم.
-
دفاع از شبکه در مقابل حملات
اثبات کار محدودیتهایی برای کنشهای مختلف اعمال میکند. حمله به این الگوریتم نیازمند تلاش زیادی است و انجام محاسبات آن به نیروی رانشی و زمان زیادی احتیاج دارد. این عوامل باعث میشود حمله عملا کار بیفایدهای باشد.
-
امکان استخراج
در الگوریتم اثبات کار برخلاف الگوریتم اثبات سهام، میزان دارایی کاربران، در تصمیمات شبکه نقش تعیینکنندهای ندارد؛ یعنی مهم نیست در کیفپول شما چقدر ارز دیجیتال وجود دارد؛ بلکه وجود نیروی پردازشی قوی برای حل معادلات ریاضی و ایجاد بلاکهای جدید تاثیر گذار است و اهمیت زیادی دارد.
الگوریتم اثبات کار در چه مواردی کاربرد دارد؟
همانطور که در ابتدای مقاله بیان کردیم معروفترین کاربرد این الگوریتم ارزهای دیجیتال بخصوص بیت کوین میباشد. اگرچه از این الگوریتم پیش از بیت کوین نیز استفاده میشد اما ساتوشی ناکاموتو با استفاده از این تکنیک در ارز دیجیتال خود باعث تغییر شکل معاملات سنتی و انقلابی در این زمینه شد. ارزهای دیجیتال دیگری مانند لایت کوین هم که مبتنی بر بیت کوین میباشند از این الگوریتم اجماع استفاده میکنند.
یکی دیگر از ارزهای دیجیتال بزرگی که از الگوریتم اثبات کار استفاده میکند اتریوم میباشد. از آنجایی که حدود سهچهارم ارزهای دیگر بروی بلاکچین اتریوم اجرا شدهاند با اطمینان میتوان گفت که بیشتر ارزهای دیجیتال این الگوریتم اجماع را بکار گرفتهاند.
گواه اثبات کار امنتر است یا گواه اثبات سهام؟
هر سیستم کامپیوتری باید در مقابل حملات احتمالی هکرها ایمن باشد، این حساسیت باید در سیستمهای مرتبط با خدمات پولی بیشتر باشد.
در گواه اثبات کار هکرها نمیتوانند شبکه را به راحتی هک کنند؛ زیرا برای این کار قدرت رایانشی بالایی نیاز دارند و همچنین هزینه آن زیاد است. این هزینه از میزان دارایی که به سرقت خواهند برد، بیشتر است؛ بنابراین هک شبکه مبتنی بر گواه اثبات کار برای سارقان به صرفه نیست. به همین دلیل میتوان با قاطعیت جواب داد که امنیت این شبکهها تامین شده است.
در گواه اثبات سهام حملات سایبری، برای سارقان ارزانتر است و نحوه هک شبکه نیز به مراتب راحتتر است؛ بنابراین میتوان گفت که امنیت شبکههای مبتنی بر اثبات کار بیشتر است. هر چند که در حال حاضر بوترین (vitalik buterin)، خالق اتریوم (eth)، پروتکل casper را برای حل این مشکل در الگوریتم اثبات سهام ایجاد کرده است تا در آن تمام افراد مشکلساز را حذف کنند.
تفاوت اثبات کار و اثبات سهام
در حال حاضر در دنیای ارزهای دیجیتال از دو الگوریتم اثبات سهام (proof of stake) و اثبات کار استفاده میشود. این دو طرفداران زیادی دارند اما تفاوتهایی در شیوه کار آنها وجود دارد که در زیر به آنها اشاره میکنیم.
- در اثبات کار برای استخراج ارزهای دیجیتال به سختافزاریهای پیشرفته برای حل معادلات ریاضی نیاز دارید؛ اما در گواه اثبات سهام ماینرها نیازه به استفاده از کامپیوترهای خود ندارند و تنها تعداد کوینهایشان عامل موثر بر شانس آنها برای انتخاب به عنوان ماینر منتخب میباشد.
- در اثبات کار به اولین کسی که جواب معادله را پیدا کند پاداش تعلق میگیرد؛ اما در اثبات سهام تمام واحدهای ارز دیجیتال از قبل استخراج شده است و تعداد آنها تغییری نمیکند. این بدان معناست که ماینرها با استخراج بلاک ارز دیجیتال به عنوان پاداش دریافت نمیکنند و تنها کارمزد شبکه متعلق به آنها میباشد.
- در الگوریتم اثبات کار ماینرها بر سر جواب معادلات ریاضی باهم رقابت میکنند؛ اما در الگوریتم اثبات سهام چنین چیزی وجود ندارد و ماینر هر بلاک بصورت قطعی انتخاب میشود. هر عضو شبکه نیز نسبت به دارایی که در شبکه ارز دیجیتال سرمایه گذاری کرده است سهم دریافت میکند.
کاربردهای الگوریتمهای اثبات کار و اثبات سهام
به طور خلاصه میتوان گفت که الگوریتم اجماع روشی است که بر پایه آن تمام نودها در بلاک چین به یک توافق مشترک درباره وضعیت کنونی دفتر توزیع شده دست پیدا میکنند. به این ترتیب استفاده از الگوریتم اجماع نیاز به اعتماد را بین نودها از بین برده و اعتبار را در شبکه بلاکچین فراهم میکند. کاربردهای دیگر الگوریتمهای اجماع عبارت است از:
- تضمین یکدست سازی اطلاعات ثبت شده بر روی سیستمهای سرویس دهنده به شبکه
- انتخاب نودها و گرهها برای مدیریت امور در دفتر کل توزیع شده
- تصمیم گرفتن درباره این موضوع که آیا یک تراکنش خاص صلاحیت تایید و ذخیره روی بلاک چین را دارد یا خیر.
مزایا گواه اثبات کار
گواه اثبات کار امنیت شبکه را تامین کرده و آن را در برابر حملات سایبری محافظت میکند؛ زیرا هکرها برای این که بتوانند به شبکه حمله کنند باید توان محاسباتی بالایی داشته باشند؛ این کار ممکن است چند سال زمان ببرد.
ماینرها برای به دست آوردن ارز دیجیتال از طریق ماینینگ تنها باید به قدرت پردازش دستگاههای خود توجه کنید؛ بنابراین میزان دارایی استخراج کنندگان در شبکه، تعیینکننده سهم آنها از استخراج ارز دیجیتال نخواهد بود.
معایب گواه اثبات کار
استخراج ارزهای دیجیتال در الگوریتم اثبات کار نیاز به سختافزارهای خاصی دارند. این دستگاههای پیچیده قیمت بالا و برق زیادی را مصرف میکنند. به همین دلیل میتوانند تمرکز ماینرها را بر روی استخراج ارزهای دیجیتال بههم بزنند.
استخراجکنندگان ارز دیجیتال معمولا برای تولید بلاکهای جدید تلاش زیادی انجام میدهند. در حالی که این محاسبات کامپیوتری تنها برای تامین امنیت شبکه کاربرد دارد و در هیچ جای دیگر به درد نمیخورد.
هر چه میزان هشریت (قدرت محاسباتی یا hashrate) ماینرهای شبکه بالاتر باشد. امکان برنده شدن آنها در ساخت یک بلاک بیشتر خواهد بود. در نتیجه سود بیشتری را نسبت به ماینرهای کوچکتر دریافت میکنند. این کار برای ماینرهای ضعیف تر کمی سخت خواهد بود؛ اما پیوستن به استخرهای استخرا ارزهای دیجیتال (minings pool) تا حدودی این مشکل را حل کرده است.
چه ارزهای دیجیتالی از الگوریتم اثبات کار استفاده میکنند؟
در حال حاضر علاوه بر بیت کوین، ارزهای دیجیتال بسیار زیادی از این الگوریتم اجتماع استفاده میکنند که در ادامه به برخی از معروفترین این ارزها اشاره خواهیم کرد:
بیت کوین کش(bch)، مونرو (xmr)، زی کش (zec)، دوج کوین (doge)، بیت کوین اس وی (bsv)
علاوه بر موارد ذکر شده در بالا استخراج اتریوم نیز در حال حاضر از الگوریتم اثبات کار استفاده میکند اما این الگوریتم به زودی و پس از انتقال کامل و موفقیت آمیز اتریوم به شبکه اتریوم 2 تغییر خواهد کرد. اتریوم 2 از الگوریتم اثبات سهام استفاده خواهد کرد.
در این مقاله از همتاپی سعی کردیم شما را با یکی از شناخته شدهترین الگوریتمهای اجماع در ارزهای دیجیتال، نحوه کار، مزایا و معایب آن آشنا کنیم. چنانچه قصد خرید ارزهای دیجیتالی که از الگوریتم گواه اثبات کار تبعیت میکنند دارید، پیشنهاد ما به شما بازدید از صفحه خرید بیت کوین و خرید بیت کوین کش است.