اثبات کار (Proof of Work بهاختصار PoW) مکانیزمی برای جلوگیری از کارمزدهای مضاعف است. بیشتر ارزهای رمزپایه اصلی از این اثبات بهعنوان الگوریتم اجماع استفاده میکنند. اثبات کار همان چیزی است که آن را روشی برای افزایش امنیت لجر ارزهای رمزپایه مینامند.
اثبات کار اولین الگوریتم اجماعی بود که تاکنون ظاهر شده و همچنان الگوریتمی غالب است. سال ۲۰۰۸، ساتوشی ناکاموتو (Satoshi Nakamoto) این الگوریتم را در وایت پیپر بیتکوین معرفی کرد؛ اما خود این فناوری مدتها قبل از آن طراحی شده بود.
Adam Back’s HashCash نمونه اولیهای از الگوریتم اثبات کار در روزهای قبل از ارز رمزنگاریشده است. با الزام فرستندگان به انجام مقدار کمی محاسبات قبل از ارسال ایمیل، گیرندهها میتوانند هرزنامهها را کاهش دهند. این محاسبه برای فرستنده قانونی تقریباً هزینهای ندارد؛ اما برای شخصی که بهصورت دستهجمعی ایمیل ارسال میکند، بهسرعت اضافه میشود.
در این مقاله از بلاگ تترلند، قصد داریم به پرسش اثبات کار (Proof of Work) چیست؟ بهطور کامل پاسخ دهیم؛ بنابراین، تا پایان مطلب با ما همراه باشید.
کارمزد دو برابر یا مضاعف چیست؟
کارمزد مضاعف مسئلهای مهم در سیستم نقدی دیجیتال است که در آنِ واحد بودجه همزمان برای دو گیرنده هزینه میشود.
چرا انجام اثبات کار (Proof of Work) لازم است؟
اگر اطلاعات مربوط به فناوریهای بلاکچین را مطالعه کرده باشید، میدانید که کاربران تراکنشها را به شبکه انتقال میدهند؛ گرچه معاملات خرید ارز دیجیتال و فروش آن بلافاصله تأیید نمیشوند. این مسئله، تنها زمانی اتفاق میافتد که به بلاکچین اضافه شوند.
بلاکچین پایگاه داده بزرگی است که هر کاربر میتواند آن را ببیند؛ بنابراین، میتواند. بررسی کند که آیا بودجه مدنظر قبلاً هزینه شده است یا خیر.
این مسئله را به این شکل تصور کنید: شما و سه تن از دوستان یک دفترچه یادداشت دارید. هر زمان یکی از شما میخواهد هر واحدی که استفاده میکند انتقال دهد، آن را یادداشت میکنید. در اینجا، پیچیدگی دیگری نیز وجود دارد: هربار که معاملهای در بازار خرید ارز دیجیتال انجام میدهید، به معاملهای که وجوه از آنجا تهیه شده است، مراجعه و سپس، ورودیها را مشخص میکنید.
ردیابی واحدها
اکنون، راهی برای ردیابی واحدها داریم. اگر شخص اول سعی کند معامله یا خرید ارز دیجیتال دیگری را با استفاده از همان واحدهایی انجام دهد که اخیراً برای شخص دوم ارسال کرده است، همه فوراً این موضوع را متوجه میشوند. این گروه اجازه نمیدهد تا معامله جدیدی (مثلاً خرید ارز دیجیتال) به دفترچه یادداشت اضافه شود.
حال، این روش ممکن است در گروهی کوچک به خوبی کار کند. در این گروه، همه افراد یکدیگر را میشناسند؛ بنابراین احتمالاً توافق خواهند کرد که کدامیک از دوستان باید تراکنشهای خرید ارز دیجیتال یا فروش آن را به دفترچه یادداشت اضافه کنند.
اگر گروهی با ۱۰هزار نفر شرکتکننده بخواهیم، چه میکنیم؟ ایده دفترچه یادداشت مقیاس مطلوبی ندارد؛ زیرا هیچکس نمیخواهد برای مدیریت آن به غریبه اعتماد کند. در اینجا، اثبات کار وارد میشود و اطمینان میدهد کاربران پولی که حق خرجکردن ندارند، خرج نمیکنند. با استفاده از ترکیبی از تئوری و رمزنگاری، الگوریتم اثبات کار هرکسی را قادر میسازد تا بلاکچین را طبق قوانین سیستم بهروز کند.
نحوه عملکرد اثبات کار (Proof of Work) چگونه است؟
دفترچه یادداشت ما در مثال بالا همان بلاکچین است؛ اما تراکنشهای خرید ارز دیجیتال یا فروش آنها را یکییکی اضافه نمیکنیم. درعوض، آنها را بهصورت بلاک درمیآوریم. تراکنشهای فروش یا خرید ارز دیجیتال را به شبکه اعلام میکنیم و پسازآن کاربران ایجادکننده بلاک آنها را در بلوک نامزد قرار میدهند.
معاملات فروش یا خرید ارز دیجیتال فقط زمانی معتبر در نظر گرفته میشوند که بلاک مشخصشده آنها به بلوک تأییدشده تبدیل شود؛ یعنی به بلاکچین اضافه شده باشد.
باوجوداین، اضافهکردن بلوک به زنجیره ارزان نیست. اثبات کار مستلزم این است که استخراجکننده (کاربری که بلوک را ایجاد میکند)، از برخی منابع خود برای این امتیاز استفاده کند. این منبع قدرت محاسباتی است که برای هش دادههای بلوک تا یافتن راهحل برای معما استفاده میشود.
هشکردن دادههای بلاک بدینمعنی است که آنها را ازطریق تابع هشکردن برای تولید هش بلوک منتقل میکنید. هش بلوک مانند «اثر انگشت» کار میکند که هویتی برای دادههای ورودی شما و برای هر بلاک منحصربهفرد است.
معکوسکردن هش بلوک برای دریافت دادههای ورودی تقریباً غیرممکن است. با دانستن یک ورودی، تأیید درستبودن هش برایتان بیاهمیت است. شما فقط باید ورودی را ازطریق تابع ارسال و بررسی کنید که آیا خروجی یکسان است.
ارائه دادهها در اثبات کار (Proof of Work)
در اثبات کار، باید دادههایی را ارائه دهید که هش آنها با شرایط خاصی مطابقت داشته باشد؛ اما شاید ندانید که چگونه باید به آنجا بروید. تنها گزینه این است که دادههای خود را ازطریق تابع هش عبور دهید و بررسی کنید که آیا با شرایط مطابقت دارد یا خیر.
اگر اینگونه نباشد، برای بهدستآوردن هش متفاوت باید دادههای خود را کمی تغییر دهید. تغییر حتی یک نویسه در دادههای شما نتیجهای کاملاً متفاوت خواهد داشت؛ بنابراین، راهی برای پیشبینی میزان خروجی وجود ندارد.
بهطور خلاصه، استخراج فرایند جمعآوری دادههای بلاکچین و هشکردن آنها بههمراه مقصود فعلی است تا زمانیکه هش خاصی پیدا کنید. اگر هشی پیدا کنید که شرایط تعیینشده پروتکل را برآورده کند، این حق را دارید که بلاک جدید را به شبکه منتقل کنید. در این مرحله، سایر شرکتکنندگان شبکههای بلاکچین خود را بهروز می کنند تا بلاک جدید را در آن قرار دهند.
مزایای اثبات کار (Proof of Work)
امروزه برای ارزهای رمزپایه اصلی، فراهمکردن شرایط ممکن است دشوار باشد. هرچه میزان هش در شبکه بیشتر باشد، یافتن هش معتبر دشوارتر است. این کار برای اطمینان از یافتن سریع بلوکها انجام میشود.
برای مثال، هر بلوکی که شامل معامله نامعتبر فروش یا خرید ارز دیجیتال باشد، بهطور خودکار بهدست شبکه رد میشود. حتی فریب و تقلب در اثبات کار برای افراد گران است و باعث میشود تا منابع خود را بدون هیچ پاداشی هدر دهند.
از مزایای اثبات کار این است که تقلب را گران و بیفایده میکند؛ اما صادقانه عمل میکند و سودآور است. استخراجکنندگان منطقی بهدنبال ROI هستند؛ بنابراین، میتوان انتظار داشت که آنها عملی را تضمین میکنند که درآمد و سود داشته باشد.
جمعبندی
اثبات کار (Proof of Work) راهحلی ایمن برای کارمزد دو برابر است. بیتکوین ثابت کرد که برای جلوگیری از کارمزد دو برابر وجوه مشابه، به واحدهای متمرکز نیاز نیست. با استفاده هوشمندانه از رمزنگاری و توابع هش و تئوریهای رمزنگاری، شرکتکنندگان در محیطی غیرمتمرکز میتوانند درباره وضعیت پایگاه داده مالی بهتوافق برسند.
رویهمرفته، میتوان گفت که اثبات کار یکی از اصطلاحات کریپتوکارنسی است که احتمالاً این اصطلاح را در حوزه بازار خرید ارز دیجیتال شنیده باشید. در این مقاله از بلاگ تترلند، شما را با مکانیزم اثبات کار آشنا کردیم. درصورت داشتن سؤال یا ابهام درباره این موضوع، آن را ازطریق کامنت با ما بهاشتراک بگذارید.