الگوریتم اثبات کار یا Proof of Work چیست؟ +ویدئو
الگوریتم اثبات کار (Proof of Work) چیست؟
الگوریتم اثبات کار (یا به اختصار PoW) مکانیسمی برای جلوگیری از دوبار خرج کردن است. بسیاری از ارزهای دیجیتال بازار از PoW به عنوان الگوریتم اجماع استفاده میکنند. این الگوریتم اولین الگوریتم اجماعی بود که ابداع شد، و تا به امروز همچنان کاربرد دارد. اگرچه این الگوریتم توسط ساتوشی ناکاموتو معرفی شد، اما این تکنولوژی مدتها قبل اختراع شده بود. ایده PoW برای اولین بار توسط Dwork و Naor در سال 1993 ارائه شد. آنها ایده استفاده از الگوریتم اثبات کار را برای مقابله با هرزنامه ایمیل(spam) مطرح کردند. طبق پیشنهاد آنها ، ارسال كننده ایمیل باید یک معمای ریاضی پرمصرف را حل کرده و راه حل آن را در ایمیل به عنوان اثبات انجام کار، ارائه دهد. گیرنده ایمیل فقط در صورت تأیید راه حل، ایمیل را می پذیرد. در محیط بلاکچین نیز، مفهوم مشابهی اتخاذ شده است.
دوباره خرج کردن یا پرداخت مضاعف چیست؟
دوباره خرج کردن (Double-spend) زمانی اتفاق میافتد که یک وجه ثابت، بیشتر از یکبار خرج شود. این اصطلاح تقریبا به طور اختصاصی فقط برای پول دیجیتال کاربرد دارد، نمیتوانید به کافیشاپ رفته و با پول یک قهوه، دو فنجان قهوه بخرید زیرا امکان خرج پول فیزیکی بیشتر از یکبار وجود ندارد. اما در بازار ارزهای دیجیتال، این امکان وجود دارد. همانطور که میتوانید یک ایمیل یکسان را به چندین نفر بفرسید.
از آنجایی که پول دیجیتال یک داده است، ممکن است افرادی این دادهها را کپی کرده و بیشتر از یکبار در مکانهای مختلف خرج کنند. در این صورت ارز دیجیتال شما ریزش میکند.
چرا استفاده از اثبات کار ضروری است؟
در مقاله ماینینگ ارز دیجیتال چیست؟، دانستید که کاربران تراکنشها را در شبکه منتشر میکنند. گرچه این تراکنشها به سرعت تایید نمیشود. باید ابتدا اعتبار آنها تایید شده و سپس به بلاکچین اضافه میشوند. بلاکچین پایگاه داده گستردهای است، که به کاربران این امکان را میدهد تا بررسی کنند که وجه مورد نظر قبلا خرج شده یا نه. این الگوریتم از اینکه کاربران پولی را خرج کنند که حق خرج آن را ندارند جلوگیری میکند. این الگوریتم با استفاده از تئوری بازی و علم رمزنگاری کار میکند. الگوریتم اثبات کار هرکسی را قادر میسازد تا زنجیره را طبق قوانین سیستم به روز کند.
عملکرد اثبات کار چگونه است؟
در پروتکل اجماع PoW ، ماینر یک معمای رمزنگاری پیچیده را حل میکند تا فرصتی برای پیوست بلوک بعدی به بلاکچین و کسب پاداش کار انجام شده و انرژی مصرف شده داشته باشد. هر گره باید ثابت کند که کار کافی را برای ایجاد فرصتی برای پیوستن بلوک بعدی به زنجیره بلوک انجام داده است. بنابراین ، این مدل Proof-of-Work نامیده می شود.
هر مکانیسم PoW به یک آستانه وابسته است، که در بسیاری از سیستمهای بلاکچین به عنوان پارامتر سختی شناخته میشود. سختی معمای رمزنگاری توسط فرآیند بلاکچین به صورت پویا کنترل میشود. اثبات کننده محاسبات را در چند دور انجام میدهد تا نتیجه با سختی تعیین شده مطابقت داشته باشد و هر دور به عنوان یک تلاش اثبات شده شناخته شود. PoW پرکاربردترین مکانیسم برای دستیابی به اجماع توزیع شده بین شرکت کنندگان در مورد ترتیب بلاک و وضعیت آن در بلاکچین است.
در الگوریتم اثبات کار، باید دادههایی ارائه دهید که هش آنها با شرایط خاصی مطابقت داشته باشد. برای اینکار یک راه وجود دارد، شما باید دادههای خود را از طریق یک تابع هش عبور داده و مطابقت آن با شرایط مربوطه را بررسی کنید. اگر مطابقت نداشت، باید دادههای خود را اندکی تغییر دهید تا هش متفاوت ایجاد شود. حتی با تغییر یک کاراکتر، نتیجه کاملا متفاوتی حاصل میشود، بنابراین راهی برای پیشبینی خروجی وجود ندارد.
ساخت بلوک مثل بازی حدس زدن است. معمولاً تمام اطلاعات مربوط به تراکنشها و برخی دادههای مهم دیگر را وارد کرده و سپس همه را هش میکنید. اما از آنجایی که مجموعه داده شما تغییر نمیکند، باید برخی اطلاعات متغییر را دستی وارد کنید. در غیر این صورت، هش یکسانی را دریافت میکنید. این داده متغییر همان عدد نانس است. در فرایند استخراج، این عدد را بارها تغییر میدهید تا هربار هش متفاوتی دریافت شود. همانطور که پیداست، این حدس زدنهای متوالی هش، هزینه زیادی برای کامپیوتر شما دارد. و چرخه محاسباتی و برق زیادی را هدر میدهید. اگر مبتدی هستید، پیوستن به یک استخر راهی عالی برای به دست آوردن پاداش کم در مدت زمان کوتاه است. در واقع استخرها ماینرهای کوچک را به فعالیت تشویق میکنند.
تا اینجا 3 نتیجه کلی گرفتیم:
- ماین کردن برای شما هزینه بالایی دارد.
- اگر بتوانید هش معتبری ایجاد کنید، پاداش دریافت خواهید کرد.
- با دانستن یک ورودی معتبر، کاربر میتواند هش خود را بررسی کند. و باقی کاربران اعتبار آن را تایید کنند.
اما اگر کسی بخواهد تقلب کند چه اتفاقی میافتد؟ چه چیزی مانع فردی میشود که بخواهد یک تراکنش تقلبی را وارد بلوک کرده و هش معتبر تولید کند؟
کاربرد رمزنگاری کلید عمومی (public-key) در اینجا مشخص میشود. به طور خلاصه، شامل برخی ترفندهای مرتب رمزنگاری است. در این حالت از کاربر سوال میشود که آیا شخصی حق انتقال وجهی که میخواهد هزینه کند را دارد یا نه.
وقتی تراکنشی انجام میدهید، امضای شما پای آن ثبت میشود. کاربران شبکه میتواند امضای شما را با کلید عمومی چک کرده و مطابقت آن را بررسی کنند. هر بلوکی که شامل معامله نامعتبر باشد خودکار از شبکه حذف میشود. از آنجایی که با تقلب کردن منابع خود را هدر داده و پاداشی دریافت نمیکنید، حتی اقدام به اینکار برای شما هزینه زیادی خواهد داشت.
سخن پایانی
الگوریتم اثبات کار، راه حل اصلی برای مشکل دوبار خرج کردن است. این الگوریتم ثابت کرده که ایمن و قابل اعتماد عمل میکند. استفاده هوشمندانه از علم رمزنگاری، توابع هش و تئوری بازی، به کاربران این امکان را میدهد تا در یک محیط غیرمتمرکز درباره وضعیت پایگاه داده مالی به توافق برسند.
فکت کوینز مرجع خبر،تحلیل،آموزش رمز ارز
برای دیدن آموزش های رایگان بیشتر،عضو شوید