اثبات کار (PoW) چیست؟

0

در سال 1997 پروژه ای برای جوگیری سوءاستفاده از منابع اینترنتی مانند ایمیل،توسط رمزنگار بریتانیایی Adam Back به وجود آمد.او ایده خود را در سال 2002 با مقاله ای تحت عنوان هش کش شرح داد.

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

برای یک کاربر ایمیل معمولی، این مقدار استفاده از CPU ناچیز است و در بدترین حالت، ممکن است که ارسال ایمیل به مدت چند ثانیه به تأخیر بیفتد.

در حالیکه، برای کسی که سعی دارد هزاران ایمیل اسپم در هر دقیقه ارسال کند، قدرت ترکیبی CPU لازم برای هر ایمیل به اندازه ای زیاد می شود که این عمل غیرممکن شود و اگر همچنان به ارسال اسپم ادامه دهد، هزینه برق مرتبط با محاسبات مورد نیاز را نیز باید بپردازد.

ساتوشی ناکاماتو با اشاره به هش کش در وایت پیپر بیت کوین، گفت: “برای پیاده سازی سرور ثبت تراکنش ها به صورت توزیع شده و همتا به همتا، ما به استفاده از یک سیستم اثبات کار مشابه با هش کش Adam Back نیاز داریم.”

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

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

در شبکه بلاکچین کاربران توکن های دیجیتالی را به یکدیگر ارسال می کنند و این معاملات در یک دفترکل توزیع شده جمع بندی می شود و در داخل بلاکچین قرار می گیرد. با این وجود باید در تایید معاملات و ترتیب بلاک ها دقت کرد. این مسؤلیت بر عهده نود ها یا اعضای شبکه که از آن ها با نام ماینرهای شبکه یاد می شود است و عملی که انجام می دهند استخراج یا ماینینگ نام دارد.

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

اما منظور از معادلات ریاضی چیست؟

این معادلات در واقع مسئله های هستند که برای حل آن قدرت محاسباتی بالایی نیاز است. به عنوان مثال:

  • عملکررد هش (hash) و یا چگونگی یافتن ورودی با خواندن خروجی .
  • فاکتورگیری عدد صحیح (integer factorization) ، یا به عبارت دیگر، تجزیه یک عدد به حاصل ضرب مجموعه ای از اعداد اول، که یک مسئله ریاضیاتی است و معمولا برای امنیت سیستم های رمز نگاری از آن استفاده می شود.
  • پروتکل راهنمای پازل (guided tour puzzle protocol) که در واقع راهنمای چگونگی پیدا کردن مقادیر مشکل عملکرد توابع هش در شبکه است.

هرچه شبکه در حال رشد باشد، با سختی بیشتری روبه رو می شود و  این الگوریتم برای حل مسائل نیاز به قدرت محاسباتی بیشتر و بیشتر دارد. بنابراین سختی شبکه یک موضوع حساس است.

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

همینطور اگر این معادلات خیلی آسان باشند باعث آسیب پذیری سیستم توسط حملات DOS و اسپم ها می شود.

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


این الگوریتم چگونه در بلاکچین پیاده سازی شده است


ماینرها معادلات را حل می کنند، تراکنش را تایید می کنند و بلاک جدید را تشکیل می دهند .

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

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

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


بررسی مزایا و معایب اثبات کار (PoW)


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

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

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

این سیستم همچنین معایبی دارد که به بررسی آن ها خواهیم پرداخت:

اولین مورد که مشکلی بزرگ در سیستم های متنی بر اثبات کاراست، این است که آن ها مقادیر بسیار زیادی از انرژی را هدر می دهند که این برای محیط زیست بد است. از آن جا که سیستم سخت افزاری ماینرها محاسبات سنگینی را انجام می دهند، برق زیادی نیز مصرف می کنند. در digiconomist نوشته شده که ماینرهای بیت کوین به تنهایی در هر ساعت نزدیک به 54 ترا وات برق مصرف می کنند. این میزان به اندازه برق مصرفی ۵ میلیون خانوار در آمریکا یا حتی کل برق مورد استفاده در نیوزلند یا مجارستان است. البته این موضوع به آن اندازه که فکر می کنید وحشتناک نیست. گزارشی از استخراج رمزارزها در نوامبر 2018 منتشر شده، که تخمین می زند حدود %80 درصد از برق مورد استفاده در ماینینگ، انرژی سبز است. در بعضی موارد، عملیات استخراج از برق اضافی استفاده می کند که شبکه برق یک کشور به هیچ وجه قادر به ذخیره و توزیع آن نیست.

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

اما موضوع به همین جا ختم نمی شود. یکی از خطرهایی که سیستم اثبات کار را تهدید می کند، به حمله %51 معروف است .

حمله %51 چیست ؟؟

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

نتیجه گیری

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

امکان نظردهی غیر فعال شده.