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