الگوریتم اثبات کار (PoW) در ارزهای دیجیتال چیست؟
اگر میخواهید به دنیای رمز ارزها وارد شوید، باید با مبحث امنیت شبکه هایی که ارزهای دیجیتال براساس آن ها شکل گرفته اند، آشنا شوید. یکی از این موارد که امنیت شبکه بلاک چین ارزهای دیجیتال به خصوص امنیت دارایی ها و اعتبارسنجی تراکنش ها را فراهم می کند، الگوریتم اجماع یا الگوریتم اثبات کار است.
به جرات می توان گفت که یکی از مهمترین الگوریتم های اجماع، الگوریتم اثبات کار است. الگوریتم اثبات کار (PoW)، پایه و اساس استخراج تمامی ارزهای دیجیتال از جمله بیت کوین است. این نوع سیستم، بر اساس قدرت محاسباتی کامپیوتر عمل می کند که کاربران در این اکوسیستم برای اعتبار سنجی تراکنش ها، از مسائل ریاضی بسیار پیچیده استفاده می کنند.
الگوریتم اثبات کار، یافتن راه حل برای معادلات بسیار پیچیده ریاضی، تایید سایر ماینرها و در نهایت تایید بلوک برای پیوستن به شبکه بلاک چین است. شبکه بلاک چینی که بر اساس PoW و مبتنی بر الگوریتم اثبات کار کار می کند در صورتی که از تعداد کاربر کافی برخوردار باشد، می تواند در برابر حملات سایبری مقاومت زیادی از خود نشان دهد. در این صورت اگر هکری بخواهد به این شبکه بلاک چین نفوذ کند باید قدرت محاسباتی بسیار بالایی داشته باشد.
این موضوع به حمله 51 درصدی معروف است. یعنی هکر باید به اندازه کافی تجهیزات لازم برای استخراج رمز ارز را خریداری یا اجاره کند تا بتواند بیش از 50 درصد شبکه بلاک چین را تحت کنترل خود درآورد.
بیت کوین که اولین ارز دیجیتال و پرچمدار آنها می باشد، از الگوریتم اثبات کار برای اعتبار سنجی تراکنش های خود استفاده می کند. استفاده از این مکانیسم باعث می شود تا شبکه بتواند قدرت را به صورت نامتمرکز پیاده سازی کند و کنترل شبکه را بین کاربران توزیع کند و از سوی دیگر تغییرات عمده اقتصادی و همچنین فنی را در شبکه بلاک چین پیاده سازی کند.
می توان گفت الگوریتم اجماع یکی از مفاهیم اساسی در فناوری بلاک چین است و الگوریتم اثبات کار – Proof of Work یکی از امنترین آنها به شمار میرود. اگر می خواهید بیشتر با مفهوم الگوریتم PoW در بلاک چین و ارز دیجیتال آشنا شوید، این مقاله را دنبال کنید
الگوریتم اثبات کار (PoW) چیست؟
در سال 1993 بود که به منظور جلوگیری از حملات به سرویسهای اینترنتی مفهوم الگوریتم اثبات کار ارائه شد اما هیچگاه کاربردی نشد. در سال 2009، بیت کوین شکل جدیدی از مفهوم الگوریتم اثبات کار را برای استفاده به عنوان الگوریتم اجماع (Consensus Algorithm) معرفی کرد. افرادی که در شبکه بلاک چین فعالیت دارند با استفاده از الگوریتم اثبات کار (PoW) بلاک حاوی تراکنشهای تایید بیت کوین را میسازند و بدین ترتیب شبکه بلاک چین بیت کوین شکل میگیرد.
مکانیسم اثبات کار، به شبکه غیر متمرکز اجازه میدهد تا به اجماع و توافق برسند. این کار باعث میشود تا کاربران نتوانند کوینهای خود را دو بار خرج کنند و تضمین میکند که شبکه غیر متمرکز در مقابل هجوم یا دستکاری بسیار مقاوم است.
همانطور که در بالا نیز به آن اشاره کردیم، بیت کوین (BTC)، اولین رمز ارزی است که در سال 2009 با کمک مکانیسم اجماع اثبات کار راه اندازی شد. رمز ارز لایت کوین (LTC) نیز در سال 2011 بر اساس کد بیت کوین به وجود آمد و مدعی شد که در مقایسه با بیت کوین، سرعت انجام تراکنشها را بهبود بخشیده است. در میان میم کوینهای محبوبی که از این مکانیسم استفاده میکنند، دوج کوین (DOGE) را می توان نام برد.
در الگوریتم اثبات کار (PoW)، ماینرها بر سر حل معماهای پیچیده محاسباتی با یکدیگر به رقابت میپردازند. این معماها به سختی حل میشوند، اما پس از اینکه حل شدند، دیگران می توانند آنها را تایید کنند. بنابراین زمانی که یک ماینر یا به عبارتی استخراج کننده رمز ارز پاسخ این یک معما که در واقع هش یک بلاک است را پیدا میکند، آن بلاک را به شبکه ارسال مینماید. سایر ماینرها پاسخ را تایید میکنند و بلاک مذکور در مدت زمان کوتاهی تایید میشود.
در الگوریتم اثبات کار (PoW)، برای اینکه یک بلاک در بلاک چین ایجاد شود، باید یک بازی انجام دهید! بازی حدس زدن! فرض کنید تابعی وجود دارد (مثلا تابعی که بیت کوین از آن استفاده میکند SHA-256 نام دارد)، که جواب یا ویژگیهای خاص مورد قبولی که با آن بدست آورده میشود، توسط پروتکل مشخص شده است.
شما برای اینکه به آن جواب برسید، باید متغیرهای تابع را تغییر داده و به روش آزمون و خطا، بهترین ترکیب را برای دستیابی به متغیر درست بدست آورید. در الگوریتم اثبات کار، فرمول به دست آوردن هش باید به صورتی باشد که تغییر حتی یک کاراکتر در دادههای شما نتیجهای کاملا متفاوت تولید کند و بنابراین هیچ راهی برای پیش بینی خروجی وجود نداشته باشد.
مثلا در الگوریتم اجماع ارز دیجیتال بیت کوین با استفاده از تابع SHA-256، همیشه هشهایی با 64 کاراکتر تولید میشود که تغییر حتی یک ورودی، کل هش را تغییر میدهد. هر بلاک اطلاعات مربوط به تمام تراکنشهایی را در خود دارد که ترکیب آن دادهها با هم یک هش ثابت را تولید میکند. برای تولید هش و دستیابی به محدوده جواب مورد قبول، باید اطلاعات اضافی را با این دادهها به عنوان متغیر تصادفی ترکیب کنید.
این داده متغیر همان چیزی است که ما آن را نانس (nonce) مینامیم. نانس عددی است که هر بار آن را تغییر میدهید، یک پاسخ متفاوت از تابع یا هش متفاوتی دریافت میکنید. در واقع هربار که نانسهای متفاوت را با یکدیگر ترکیب می کنید، هش متفاوتی تولید میکنید تا تصادفا به جواب مورد نظر برسید و با اعلام آن به شبکه، در استخراج رمز ارز به روش الگوریتم اثبات کار، شانس خود را برای به اصطلاح بستن و استخراج یک بلاک در زنجیره امتحان کنید.
به طور کل می توان گفت که در الگوریتم PoW شما با به دست آوردن نانس مورد نظر، در فرآیند استخراج رمز ارز شرکت کرده و به شبکه اثبات میکنید که وقت و انرژی لازم را صرف کرده و باید در قبال آن پاداش دریافت کنید.
در این روش، فرآیند جمعآوری دادههای بلاک چین و هش کردن آن به همراه یک nonce تا زمانی که هش خاصی را پیدا کنید و حق اضافه کردن بلاک جدیدی را به مجموعه بلاک چین داشته باشید، ماینینگ یا استخراج رمز ارز نام دارد. در نظر بگیرید که هرچه هش ریت شبکه بیشتر باشد، یافتن هش معتبر و استخراج بلاک دشوارتر خواهد بود.
همه این کارها برای این است که مطمئن شویم بلاکها خیلی سریع پیدا نشوند و همانطور که میتوانید تصور کنید، تلاش برای حدس زدن مقادیر زیادی هش میتواند چقدر هزینه بر باشد. به عنوان مثال در مورد ارز دیجیتال بیت کوین الگوریتم اثبات کار به صورت افزودن یک بلاک جدید در هر 10 دقیقه است.
برای انجام این کار، خود سیستم سختی استخراج بیت کوین را بسته به سرعتی که ماینرها بلاکها را اضافه میکنند، تنظیم میکند. اگر استخراج رمز ارز خیلی سریع انجام شود، محاسبات هش سختتر میشود و اگر خیلی کند پیش برود، رسیدن به هش مورد نظر راحتتر است.
اگر شما نرخ هش کافی و دستگاه ماینری با قدرت مناسب در اختیار داشته باشید و هش معتبر را پیدا کنید، طبق قوانین به شما با ارز دیجیتال پاداش داده میشود. برنده باید آخرین بلاک تراکنشها را به بلاک چین اضافه کند و در مقابل پاداش را در قالب کوینهای تازه و کارمزد تراکنشها دریافت کند.
در مورد بیت کوین حداکثر عرضه ثابت آن 21 میلیون کوین است، اما پس از استخراج همه آنها، ماینرها با دریافت کارمزد تراکنش در ازای خدمات خود به کارشان ادامه خواهند داد. از آنجایی که ماینرها به صورت غیر متمرکز و مستقل کار می کنند، چند بلاک معتبر میتوانند به صورت همزمان استخراج شوند. این پروسه یک فورک موقت ایجاد میکند. اما در نهایت، با گذشت زمان، آن شاخهای مورد قبول است که نودهای بیشتری داشته باشد.
در بلاک چین های مختلف، روش پذیرش شاخه معتبر با هم متفاوت است؛ به عنوان مثال در زنجیره اصلی شبکه اتریوم برای حصول اطمینان از تایید تراکنش بیش از یک دقیقه زمان لازم است. این بدان معناست که تراکنش مورد نظر باید در بلاکی در زنجیره طولانیتر بوده باشد تا مورد تایید و پذیرش قرار بگیرد. در غیر این صورت تراکنش تایید نمی شود.
امنیت در الگوریتم اثبات کار
برای اینکه کسی نتواند اطلاعات را دستکاری کند، رمزنگاری کلید عمومی کاربردی میشود. در پاسخ به این سوال که رمزنگاری کلید عمومی چیست و چه فوایدی دارد، میتوان گفت که ترفندهای رمزنگاری دقیقی در بلاک چین بکار گرفته میشوند که به هر کاربری اجازه میدهد بررسی کند که آیا شخصی حق دارد دارایی دیجیتالی را که میخواهد خرج یا جابجا کند یا خیر.
در روش رمزنگاری، وقتی تراکنشی ایجاد میشود، آن را امضا میکنید. هر کسی در آن شبکه بلاک چین میتواند امضای شما را با کلید عمومی شما مقایسه کند و بررسی کند که آیا آنها با هم مطابقت دارند یا خیر. آنها همچنین می توانند بررسی کنند که آیا واقعاً میتوانید وجوه خود را خرج کنید و مجموع ورودیهای شما از مجموع خروجیهای شما بیشتر است یا خیر.
شبکه بلاک چین به طور خودکار هر بلوکی که تراکنش نامعتبری در آن باشد، رد میکند. در نظر داشته باشید که حتی تلاش برای تقلب کردن هم گران تمام می شود و مستلزم مصرف زیاد انرژی است. میتوان گفت کسی که صادقانه در یک شبکه بلاک چین با الگوریتم اثبات کار فعالیت دارد، کسب سود می کند اما کسی که قصد تقلب در این شبکه را دارد باید هزینه پرداخت کند.
پس منطقی است که هر ماینر که به دنبال بازگشت سرمایه می باشد، باید به گونهای رفتار کند که درآمدش را تضمین کند. یکی از اهدافی که مکانیسم اثبات کرا به دنبال آن است، گشترش زنجیره می باشد. طولانیترین زنجیره بهعنوان معتبرترین زنجیره پذیرفته میشود، زیرا بیشترین کار محاسباتی در آن زنجیره صورت میگیرد.
تقلب در این روش تقریبا غیرممکن است و دلیلش این است که یک ماینر مخرب باید همیشه نانس بلاک را سریعتر از دیگران پیدا کرده و آن را به اصطلاح ماین یا استخراج کند.
برای اینکه یک هکر بتواند بلاکهای مخرب و دستکاری شده پیوسته و در عین حال معتبر ایجاد کند، باید به بیش از 51 درصد از قدرت استخراج شبکه دسترسی داشته باشد تا بتواند دیگران را شکست دهد و برای انجام این کار به قدرت محاسباتی زیادی نیاز است، در حالی که انرژی صرف شده حتی ممکن است بیشتر از دستاوردهای یک حمله باشد.
مشکلات الگوریتم اثبات کار
مهمترین مشکلی که الگوریتم اثبات کار با آن مواجه است، میزان انرژی است که برای محاسبه هش بلاک در شبکه بلاک چین نیاز دارد. در حقیقت، امنیت بلاک چینی که بر اساس الگوریتم اجماع PoW کار می کند را مقدار انرژی مصرفی آنها تضمین میکند نه مقدار هش شبکه.
ماینرها در بلاک چین هایی مانند بیت کوین برای محاسبه مقدار هش و بهدست آوردن پاداش استخراج، به دستگاههای استخراج رمز ارز قدرتمند و میزان زیادی انرژی برق نیاز دارند و در نتیجه آنها برای اینکه بتوانند با یکدیگر به رقابت بپردازند و شانس خود را برای دریافت پاداش استخراج بیشتر کنند، به سختافزارهای قویتر و انرژی بیشتری نیاز دارند.
در این الگوریتم هرچه سرعت استخراج بیشتر باشد، محاسبه مقدار هشهای جدید نیز سختتر خواهد شد. بنابراین برای انجام یک کار یکسان میزان انرژی مورد نیاز مرتباً افزایش می یابد. میزان انرژی که الگوریتم اثبات کار مصرف می کند به محیط زیست آسیب میرساند و از این رو منتقدان زیادی دارد. علاوه بر اینکه الگوریتم اثبات کار انرژی زیادی مصرف می کند، مشکل مهم دیگری نیز دارد: انگیزش.
هدف این مکانیسم این است که امنیت شبکه را حفظ کند، در حالی که هدف ماینرها کسب درآمد از استخراج رمز ارزها است. ماینرها هر کاری می کنند تا سود حاصل از استخراج خود را افزایش دهند و از رقابت دیگران جلوگیری کنند، در حالی که این کارها به شبکه کمکی نمیکند.
ارزهای دیجیتالی که از PoW استفاده می کنند
راهاندازی بیت کوین با کمک الگوریتم اثبات کار نشان داد که PoW یک مکانیسم اجماع امن و مناسب برای ارزهای دیجیتال است. در حال حاضر این الگوریتم رایجترین مکانیسم اجماع است که ارزهای دیجیتال از آن استفاده می کنند. بیت کوین و اتریوم که دو رمز ارز بزرگ بازار کریپتو می باشند و البته دوج کوین، لایت کوین و مونرو از جمله ارزهایی هستند که از پروتکل PoW استفاده میکنند.
البته توسعه دهندگان شبکه اتریوم آن را به روز رسانی کرده اند و اتریوم 2 را ایجاد کرده اند که در حال مهاجرت از الگوریتم اثبات کار به الگوریتم اثبات سهام است. در زیر رمز ارزهایی را لیست کرده ایم که از الگوریتم اجماع اثبات کار بهره می برند:
- بیت کوین
- دوج کوین
- لایت کوین
- بیت کوین کش
- اتریوم کلاسیک
- مونرو
- دش
- دکرد
- زی کش
خرید مونرو با بهترین قیمت در صرافکس
سخن پایانی
در سیستم های غیرمتمرکز و توزیع شده، برای اینکه کاربران اطلاعات مشابهی را به شبکه اضافه کنند باید با یکدیگر به اجماع و توافق برسند. در عین حال این اجماع باید به گونهای باشد که امنیت اطلاعات در شبکه حفظ شود و همه کاربران اطلاعات یکسانی را در دفتر کل ذخیره کنند.
الگوریتم اثبات کار اولین الگوریتم اجماع است که در حوزه رمز ارزها مورد استفاده قرار گرفته است. این مکانیسم از کاربران می خواهد که برای رسیدن به اجماع از سختافزارهای محاسباتی خود استفاده کنند و معادلات طراحی شده برای بلاک را حل کنند. این فرآیند کاملا رقابتی است و اولین ماینری که بتواند معادله را حل کرده و بلاک را به شبکه اضافه کند، کوین استخراج شده را به عنوان کارمزد و پاداش استخراج دریافت میکند.
سوالات متداول
شبکههای بلاک چینی که از الگوریتم اثبات کار بهره میبرند، امنیت بسیار بالایی دارند و حمله به آنها توسط هکرها کار بسیار سختی است.
الگوریتم اثبات کار به دلیل مصرف زیاد انرژی و آسیب رساندن به محیط زیست، در حال منسوخ شدن هستند. علاوه بر این برای استخراج رمزارزها و راه اندازی دستگاههای ماینینگ، سرمایه اولیه نسبتا زیادی لازم است. مهمترین مزیت الگوریتم اثبات کار چیست؟
مهمترین دلایل منسوخ شدن الگوریتم اثبات کار چیست؟