هنگامی که صحبت از رمزارزها میشود یکی از مهمترین مسائلی که ذهن علاقهمندان به این بازار را مشغول به خود میکند این است که آیا این رمزارزها ایمن هستند؟ خرید و فروش ارز دیجیتال که از طریق این بازار انجام میشود چگونه به تایید میرسد؟ نکتهای که باید به آن توجه داشته باشید این است که اکثر این رمزارزها از شبکههای بلاکچین استفاده میکنند که اگر میخواهید به ادامه مطالعه این مقاله بپردازید باید با شبکههای بلاکچین آشنا باشید.
بلاک چین الگوریتمهای اجماع (Consensus Algorithms) متفاوتی دارد که یکی از این الگوریتمها اثبات کار است. موضوع الگوریتم اجماع اثبات کار (Proof of work) از اهمیت فراوانی برخوردار است و اگر قصد دارید به طور جدی وارد بازار رمزارزها شوید لازم است با آن آشنا شوید. بنابراین به طور کلی قصد داریم در این مقاله پاسخ دهیم که «الگوریتم اثبات کار چیست؟» در ادامه با هلدینگ سیمیا همراه باشید.
فهرست محتوا
مفهوم اولیه گواه اثبات کار PoW
پیش از آنکه به نحوه کارکرد الگوریتم اثبات کار (PoW) در بلاکچین بپردازیم لازم است ابتدا روشن کنیم مفهوم گواه اثبات کار یعنی چه؟ الگوریتم اثبات کار به مکانیزمی گفته میشود که توسط کامپیوترها و سیستمهای بلاکچین استفاده میشود تا ارزش یک قطعه از داده را تأیید کند.
همچنین با استفاده از الگوریتم اثبات کار به تأیید ارزش وضعیت یک شبکه در میان فرایندهای چندعاملی سیستمها پرداخته میشود؛ این دقیقاً کاراییای است که گواه اثبات کار برای رمزارزها ایفا میکند. یکی دیگر از استفادههای الگوریتم اثبات کار در حفظ کردن گزارشات مرتبط با رمز ارزها است.
اگر همچنان این مفهوم برایتان مبهم باقی مانده است اجازه دهید تا با مثالی مسأله را روشن کنیم. برای مثال: «اثبات کار در بلاکچین مرتبط با بیت کوین از طریق یک سری فرایندهای پیچیده کامپیوتری برای حل کردن معماهای ریاضیاتی است که به آن اثبات کار یا PoW میگویند. این محاسبات سخت کامپیوتری که انرژی برق زیادی نیز مصرف میکنند برای آن هستند که تمام نودهای مورد استفاده در شبکه را صحیح و سالم حفظ کنند.»
اثبات کار شکلی از افزودن بلاکهای جدید حاوی تراکنش به بلاک چین یک رمزارز است که به عنوان اولین روش برای اعتبارسنجی تراکنشهای بلاک چین، نقش مهمی در تاریخچه رمزارزها ایفا کرده است. رمزارزها برای تایید صحت تراکنشها و دادههای جدیدی که به بلاک چین اضافه میشوند نیازی به واسطه ندارند. درعوض، برای اعتبارسنجی تراکنشهای دریافتی و اضافه کردن آنها به عنوان بلاکهای جدید در زنجیره به شبکه توزیع شدهای از اعضا متکیاند.
اثبات کار مکانیزمی است که به شبکهای غیرمتمرکز اجازه میدهد تا به اجماع و توافق برسند. اینکار باعث میشود تا کاربران نتوانند کوینهای خود را دو بار خرج کنند و تضمین میکند که شبکه برای هجوم یا دستکاری بسیار مقاوم است.
اثبات کار Proof of work یک مکانیسم اجماع است جهت انتخاب اینکه کدام یک از اعضای این شبکه به عنوان ماینر مجاز به تایید دادههای جدید هستند. این روش کاری سودآور است زیرا ماینرها وقتی دادههای جدید را به دقت تایید میکنند و سیستم را فریب نمیدهند با دریافت رمزارزهای جدید، پاداش میگیرند.
چرا اثبات کار Proof of work اهمیت دارد؟
اولین رمز ارز دنیا، بیت کوین، توسط ساتوشی ناکاموتو (Satoshi Nakamoto) به وجود آمد. البته بسیاری تردید دارند که این نام اصلی خالق بیت کوین باشد. با این وجود از ابتدای حضور بیت کوین به عنوان یک رمز ارز چندین چالش جدی وجود داشت که باید حل میشدند.
یکی از بزرگترین چالشهای بیت کوین این بود که چطور میتوان مطمئن شد کسی از این رمز ارز برای چند منظور و کار استفاده نمیکند. حال ناکاموتو برای حل این مشکل وایت پیپر معروفی را منتشر کرد که درون آن با پروتکل مشخصی نشان میداد که چطور میتوان مبادلات رمز ارزی را بدون دخالت یک مرجعیت مرکزی انجام داد و نیز امنیت آن را به صورت همزمان حفظ کرد.
مسئلهای که سبب شد ناکاموتو یا خالق بیت کوین سراغ پیدا کردن الگوریتم اثبات کار PoW برود، مشکل دوبار خرج کردن بود. رمز ارز صرفاً یک داده اطلاعاتی است و مسئله اینجا بود که چطور میتوانستیم این داده را طوری طراحی کنیم که نتوان یک کپی از آن به وجود آورد یا استفاده کرد. با الگوریتم اثبات کار که شامل حل مسائل پیچیده محاسبات ریاضی بود ناکاموتو این دشواری را حل کرد.
اکنون شما نمیتوانید پول کاغذی را دوبار مصرف کنید، ولی هر کسی که با کامپیوتر کار کرده باشد میتواند تصور کند که چطور با کپی کردن فایل میتوان از آن دو نمونه داشت. بنابراین الگوریتم اجماع اثبات کاری که از جانب ناکاموتو به وجود آمد توانست مسئله استفاده دوباره از یک رمز ارز را با تشویق کردن ماینرها به معتبر کردن مبادلاتشان پیش از ثبت ارز در بلاک چین حل کند.
نکته دیگری که شاید باید به آن توجه داشت این است که با الگوریتم اثبات کار PoW فضایی رقابتی برای توسعه دهندگان بازار رمز ارز به وجود میآید و در آن هر کس سعی میکند تا به بهترین شکل ممکن و به علت اینکه دیگران از آن سوء استفاده نکنند، بر اساس پروتکلی که دریافت کرده عمل کند و بلاک چین را در سطحی مناسب و ایمن قرار دهد.
نکته دیگر این است که الگوریتم اثبات کار میتواند از کسانی که میخواهند اختلالی در شبکه بیت کوین ایجاد کنند جلوگیری کند. این موارد سبب میشود که اثبات کار به عنوان یکی از مهمترین الگوریتم اجماع را شیوهای بهینه برای مشکلاتی در نظر بگیریم که رمز ارزها با آن مواجه شده بودند.
توضیحی تکمیلی درباره اجماع اثبات کار PoW
همانطور که گفتیم الگوریتم اثبات کار PoW در سیستمهای کامپیوتری و بلاکچین استفاده میشود. یکی از مهمترین استفادههای اثبات کار در بلاکچین در رمز ارزها است. حال اجازه دهید تا قدری بیشتر این موضوع را توضیح دهیم.
در هر سیستم مرکزیای که در نظر بگیریم مثل سیستم مرکزیای که دادههای مربوط به گواهینامههای راهنمایی و رانندگی هر کشوری را حفظ میکند، مدیریت اصلی دیتابیس تسلط کامل برای حفظ و بروزرسانی کردن دیتابیس را دارد. یعنی قدرت تمام و کمال در دست مدیریت اصلی دیتابیس است. فعالیت اضافه کردن، حذف کردن، تغییر دادن یا هر کاری در زمینه اطلاعات کسانی که دارای گواهینامه راهنمایی و رانندگی هستند در دست این ادمین قرار دارد.
اما نکته اینجاست که بلاکچینهای عمومی سیستمهای مرکزی نیستند. یعنی سیستمهایی هستند که خودساخته بوده و هیچ مدیریت اصلیای در هیچ کجای جهان ندارند و به صورت عمومی برای همه میتوانند در دسترس باشند. سیستمهای بلاکچین توسط صدها بلکه صدها هزار مشارکتکننده ایجاد و حفظ میشوند که تأییدات و اصالت مبادلاتی که در بلاک چین اتفاق میافتد را حفظ میکنند.
بنابراین اثبات کار PoW در بلاک چین به صورت تک نفری انجام نمیشود و همه در آن میتوانند شریک باشند. از این موضوع به سادگی میتوانید نتیجه بگیرید که چرا همیشه گفته میشود که هک کردن سیستم بلاکچین و دستیابی به اطلاعات آن تقریباً غیر ممکن است. سیستم بلاکچین مرکزیتی ندارد، شخص اگر بخواهد به این سیستم برای تغییر اطلاعات نفوذ کند، باید کامپیوتر تمام آن صدها هزار نفر مشارکتکننده در شبکه بلاکچین را هک کرده باشد.
در چنین شرایطی داینامیک و پویایی که در سیستم بلاکچین برقرار است ما با حالتی مساوی، عادلانه، برابر، کاربردی، قابل اعتماد و ایمن رو به رو هستیم و از این جهت میتوانیم مطمئن باشیم تمام تبادلاتی که در شبکههای بلاکچین اتفاق میافتد از طریق الگوریتم اثبات کار که صورت گرفته ایمن بودهاند.
بنابراین این را میتوان معنی گواه اثبات کار دانست و از اینجا فهمید گواه اثبات کار PoW چیست. اما مسأله به همینجا ختم نمیشود و موضوع ادامه دار است. در ادامه به انواع الگوریتم اثبات کار خواهیم پرداخت و نشان میدهیم چگونه گواه اثبات کار در بلاکچین عمل میکند.
بررسی نحوه کارکرد الگوریتم اثبات کار
همانطور که بیان شد بلاکچین ساختار غیر مرکزی دارد و الگوریتم اثبات کار PoW در این شبکهها وجود دارد که میتوانیم آن را بررسی کنیم.
ایده اصلی پشت الگوریتم اثبات کار PoW آن است تا معماهای ریاضیاتی بسیار پیچیده را از طریق محاسبات کامپیوتری بسیار سخت حل کنیم. حل کردن این معماها انرژی کامپیوتری زیادی میبرد و به همین دلیل لازمهاش علاوه بر داشتن یک سیستم بسیار قوی، مصرف برق فراوان است. نودی که این معما را زودتر از همه حل میکند میتواند ماینر شود و به بلاک بعدی برسد. از این طریق میتواند پاداش بلاک را نیز دریافت کند.
علاوه بر بیت کوین رمزارزهای دیگری نظیر لایت کوین (Litecoin) نیز از این الگوریتم استفاده میکنند. برای استفاده از این الگوریتم نیاز به یک نود مشارکتکننده هست که کار انجام شده را تأیید کند و مبادله درست و جدید را به بلاک چین اضافه کند. این مسیر یکی از اساسیترین راههای اثبات کار در بلاک چین است. البته تمام این مکانیزم نیاز به انرژی زیادی دارد و علاوه بر آن زمان زیادی نیز طول میکشد تا کامپیوتر بتواند این معماهای پیچیده را حل کند.
لازم است به این نکته اشاره کنیم که الگوریتم اثبات کار، کارکرد خود را در شبکه بیت کوین دارد. روشی که کاربران از طریق اثبات کار میتوانند توکنهای بیت کوین را ماین کنند از طریق حل کردن مجموعه طولانی و رشتههای بلندی از اعداد است که به عنوان اثبات کار قرار گرفتهاند.
نکتهای که وجود دارد این است که برای الگوریتم اثبات کار از هشینگ (Hashing) استفاده میشود. مجموعهای از دادهها را درون پروسه هش قرار میدهیم و تنها از طریق آن یک هش به دست میآید. حتی اگر یک اختلال در دادههای اصلی رخ دهد سبب میشود که هش به دست آمده به طور کلی قابل خواندن نباشد. هر مقدار که حجم داده اصلی را در نظر بگیریم، هشی که از آن به دست میآید به همان اندازه خواهد بود.
نکتهای که باید به آن توجه داشته باشید این است که چون هر مجموعه دادهای یک هش تولید میکند، چطور ماینرها میتوانند مطمئن شوند که هش معتبری را به دست آوردهاند؟ آنها ورودی انتگرالی دیگری به نام نانس (nonce) اضافه میکنند. زمانی که هش معتبر پیدا شده باشد به شبکه وارد میشود و بلاک آن را به بلاک چین اضافه میکند.
ماین کردن یا به دست آوردن بیت کوین فرایندی رقابتی است ولی بیشتر از آن شبیه برنده شدن در قرعهکشی است. به طور میانگین هر کس میتواند با استفاده از الگوریتم اثبات کار هر ده دقیقه یک هش تولید کند اما این که چه کسی در این ده دقیقه برنده مسابقه خواهد بود تنها حدس است. استفاده از الگوریتم اثبات کار سبب میشود که تغییر دادن هر جنبهای از بلاک چین به شدت دشوار باشد. زیرا لازمه تغییر دادن دوباره ماین کردن تمام بلاک بعدی است.
برای مثال جهت استفاده از الگوریتم اثبات کار نیاز به کامپیوتری داریم تا به صورت رندوم در کارکردهای هشینگ وارد شود تا خروجیای بگیرد که حداقلیترین تعداد صفرها را داشته باشد.
تفاوت الگوریتم اجماع اثبات کار (PoW) با اثبات سهام (PoS)
یکی دیگر از راههای معمول در میان الگوریتمهای اجماع، گواه اثبات سهام است که آن را با عنوان اختصاری PoS میشناسیم. این راه بهینهتر است و از انرژی کمتری برای فعالیتهایش بهره میبرد. برای همین رمزارزی مانند اتریوم سعی کرده تا این الگوریتم را به جای الگوریتم اثبات کار که بالاتر ذکر شد، جایگزین کند تا کاربران بیشتری که شاید نه سیستم عاملهای پیشرفته دارند و نه میتوانند برق زیاد مصرف کنند از این الگوریتم استفاده کنند. از الگوریتم اثبات سهام برای پراسس کردن مبادلات و ایجاد بلاکهای جدید در بلاکچین استفاده میشود.
گواه اثبات سهام میزان کارهای کامپیوتری لازم برای اثبات بلاک و مبادلات را تقلیل میدهد تا بلاکچین حفظ شود و بنابراین رمزارزها را حفظ میکند. اثبات سهام کاری که میکند تغییر دادن مسیر بلاکهای تأیید شده با استفاده ماشینهای دارندگان سکههای رمزارز است.
دارندگان این سکهها داراییهایشان را به عنوان غرامت برای احتمال تأیید شدن بلاکها ارائه میکنند و از این طریق به اثباتگران تبدیل میشوند. بعد از این به صورت کاملاً رندوم از میان اثباتگران عدهای انتخاب میشوند تا اصطلاحاً «ماین کردن» را انجام دهند یا بلاک را ثبت کنند.
اما سؤال اینجاست که چرا از این الگوریتم اثبات کار PoW استفاده میشود؟ وقتی که شما بیت کوین را ماین میکنید در ازای مصرف برق، بیت کوین دریافت میکنید و از این جهت ماین کردن رمزارز بیت کوین با استفاده از الگوریتم اثبات کار تأثیر زیادی روی پویایی بازار و سود دهی دارد. آنچه که باید بدان توجه داشته باشید این است که اثبات کار در بلاکچین با نگرانیهایی پیرامون مسائل مربوط به محیط زیست همراه بود.
زیرا همانطور که اشاره کردیم انرژی برق زیادی برای اثبات کار در بلاکچین استفاده و مصرف میشد. بنابراین الگوریتم اثبات سهام بالا میآید تا گواه اثبات کار باشد آن هم به گونهای که نگرانیهای مربوط به ثبات محیط زیست را پاسخگو بوده باشد.
اگر دنبال رمزارز بیت کوین هستید، نمیتوانید از اثبات سهام برای این رمزارز هم اکنون استفاده کنید زیرا بیت کوین علی رغم تمام مسائلی که ذکر شد همچنان از الگوریتم اثبات کار استفاده میکند اما اتریوم که رمزارزی دیگر است و تا حد زیادی آینده خوبی دارد، ابتدا کار خود را با الگوریتم اثبات کار شروع کرد و اکنون سراغ اثبات سهام رفته است و از این طریق میتوانید اتریوم را به دستآورید.
در نهایت گفتیم که اثبات کار یکی از مهمترین روشهایی است که بلاک چین در بیت کوین میتواند مبادلات رمز ارزی را تأیید و ثبت کند اما الگوریتم اثبات کار تنها مورد نیست. به جای گواه اثبات کار میتوان از انواع گوناگون الگوریتم اجماع از جمله اثبات وزن، اثبات اهمیت استفاده کرد اما اثبات کار و اثبات سهام معروفترین آنها هستند.
نکته دیگری که باید به آن توجه داشته باشیم این است که شبکههای بلاکچین نمیتوانند بدون گواه اثبات کار، فعالیت خاصی را انجام دهند زیرا ایمنی این شبکهها و تأیید شدن تمام مبادلات رمز ارزی که در این شبکهها اتفاق میافتد منوط به این است که الگوریتم اثبات کار به خوبی انجام شود و شبکه بلاکچین از خطرات مرتبط با هکرها ایمن بماند.
اثبات کار PoW ، نگهبان امنیت شبکه
در این مقاله مسائل متعددی را پیرامون الگوریتم اثبات کار مطرح کردیم. ابتدا پیش از هر چیز به بررسی این موضوع پرداختیم که گواه اثبات کار چیست و به طور خلاصه میتوان گفت طریقهای است که به واسطه آن توسعهدهندگان شبکه بلاکچین میتوانند مبادلات و تمام اتفاقاتی که در این شبکه میافتد را ثبت و تأیید کنند. همانطور که گفتیم الگوریتم اجماع فقط یک مورد نیست و موارد متعدد و متدهای متفاوتی وجود دارد که هر رمز ارزی از آنها ممکن است استفاده کند.
اثبات کار PoW روشی است که رمزارز معروف بیت کوین از آن استفاده میکند و به روشی اطلاق میشود که در آن اثبات کار از طریق انجام یک سری محاسبات کامپیوتری پیچیده برای حل کردن مسائل ریاضیاتی سخت انجام میشود. این روش انرژی زیادی را مصرف میکند و برخی نگرانیها درباره محیط زیست بابت این روش به وجود آمده است.
از طرف دیگر الگوریتم اثبات سهام نیز وجود دارد که بر اساس آن اشخاص با داشتن مقدار مشخصی ارز میتوانند تبدیل به اثباتگر شوند. اثباتگران در یک شبکه به صورت رندوم انتخاب میشوند و قابلیت ماین کردن به دست میآورند. این روشی است که جدیداً رمزارز معروف اتریوم برگزیده است و بهینهتر و کمهزینهتر است و همچنین نگرانیهای مربوط به محیط زیست نیز در آن یافت نمیشود.
ارز دیجیتال امروزه به موضوعی داغ برای علاقهمندان به بازارهای سرمایه تبدیل شده است. بسیاری افراد به خرید و فروش ارز دیجیتال برای سودآوری آن رو آوردهاند.
برای مقابله با تقلب و دستکاری اطلاعات، رمزارز کلید عمومی کاربردی میشود. در واقع، ترفندهای دقیقی در بلاک چین بکار گرفته میشوند که به هر کاربری اجازه میدهد بررسی کند که آیا شخصی حق دارد دارایی دیجیتالی را که میخواهد خرج یا جابجا کند. در روش رمزنگاری، وقتی تراکنشی ایجاد میشود آن را امضا میکنید. هرکسی در شبکه میتواند امضای شما را با کلید عمومی شما مقایسه کند و بررسی کند که آیا آنها با هم مطابقت دارند یا خیر.
آنها همچنین می توانند بررسی کنند که آیا واقعا میتوانید وجوه خود را خرج کنید و مجموع ورودیهای شما از مجموع خروجیهای شما بیشتر نباشد. هر بلاکی که شامل تراکنشهای نامعتبری باشد به طور خودکار توسط شبکه رد میشود. حتی تلاش برای تقلب کردن هم گران و مستلزم مصرف زیاد انرژی است.
از زیباییهای الگوریتم اثبات کار این است که تقلب در آن گران تمام میشود در حالی که صادقانه عمل کردن آن را سودآور میکند. هر ماینری که بخواهد منطقی عمل کند و به دنبال بازگشت سرمایه باشد، به گونهای رفتار میکند که درآمدش را تضمین کند.
هدف اثبات کار، گسترش زنجیره است. طولانیترین زنجیره بهعنوان معتبرترین زنجیره پذیرفته میشود، زیرا بیشترین کار محاسباتی را انجام داده است. تقلب در این روش تقریبا غیرممکن است و دلیل آن این است که یک ماینر مخرب باید همیشه نانس Nonce بلاک را سریعتر از دیگران پیدا کرده و آن را به اصطلاح ماین کند.
برای ایجاد پیوسته بلاکهای مخرب و دستکاری شده و در عین حال معتبر، به بیش از ۵۱ درصد از قدرت استخراج شبکه نیاز است. این عمل به حمله ۵۱ درصدی معروف است و برای اینکه این مقدار کار انجام شود به قدرت محاسباتی زیادی نیاز است در حالی که انرژی صرفشده حتی ممکن است بیشتر از دستاوردهای یک حمله باشد.
سوالات متداول:
+الگوریتم اجماع اثبات کار چگونه مبادله رمزارز را معتبر میکند؟
بیتکوین از الگوریتم هشینگ SHA-256 استفاده میکند. «برنده» هر راند از هشینگ مبادلات را با خود جمع کرده و به بلاک بعدی میبرد. زیرا «برنده» به صورت رندوم انتخاب میشود، سبب میشود که همه تشویق شوند تا صادقانه در شبکه فعالیت کنند.
+چرا رمز ارزها نیاز به اثبات کار دارند؟
علتش این است که رمز ارزها طراحی غیر مرکزی دارند و بلاک چینهایی مثل شبکههای رمز ارزی نیازمند نوعی راه برای رسیدن به امنیت و اطمینان دارند. اثبات کار یکی از آن روشهاست.
+آیا بیت کوین از الگوریتم اثبات کار استفاده میکند؟
بلکه بیت کوین از PoW بر اساس هشینگ SHA-256 استفاده میکند تا مبادلات خود را تأیید و معتبر کند و همچنین بیت کوینهای جدید را وارد محاسبه کند.