الگوریتم اثبات کار (Proof of Work) چیست؟
PoW چیست؟
اولین کاربرد گسترده ایده الگوریتم اثبات کار (Proof of Work)، در سال 2009 با پیدایش بیت کوین اتفاق افتاد. وقتی ساتوشی ناکاموتو (نام خالق بیت کوین که هویتی نامشخص دارد) بیت کوین را ایجاد کرد به دنبال از بین بردن سیستمهای نقدی نامطمئن و ایجاد سیستمی بود که در آن کاربران با هویتهای نامشخص بتوانند با دیگر افراد با هویت نامشخص معامله کنند، بدون اینکه نگران روبرو شدن با خطر کلاهبرداری باشند. الگوریتم اجماع اثبات کار مرکزیترین بخش این ایده و تامینکننده امنیت بیشتر برای بلاک چین بیت کوین بود.
الگوریتم اثبات کار برای سنجش اعتبار تراکنشها و استخراج توکنهای جدید یک ارز دیجیتال، مانند بیت کوین استفاده میشود. وجود همین الگوریتم اثبات کار باعث میشود تا تراکنشهای بیت کوین و دیگر ارزهای دیجیتال بدون نیاز به وجود شخص ثالث و به صورت همتا به همتا، اعتبارسنجی و تائید شود. در نتیجه این الگوریتم تمرکززدایی اتفاق میافتد که یکی از اهداف بلاک چین بیت کوین و دیگر بلاک چینها است. در واقع این یکی از چند مکانیسم یا الگوریتم اجماع است که قصد داریم در این مقاله در توکن خان به آن بپردازیم، پس با ما همراه باشید.
مکانیسم یا الگوریتم اجماع در بلاک چین چیست؟
مکانیسم اجماع Consensus Mechanism نقش بسیار مهمی در شبکه بلاک چین و ارزهای دیجیتال دارد و در واقع تامینکننده امنیت این شبکه است. با این روش یک توافق مشترک بین افرادی که در شبکه بلاک چین حضور دارند در رابطه با مقدار دادهها و وضعیت شبکه بلاک چین صورت میگیرد.
از آنجا که شبکه بلاک چین یک شبکه غیرمتمرکز است و تحت کنترل و نظارت هیچ شخص یا نهادی نیست، باید اعتبار شبکه بلاک چین و اعتماد بین نودها که کاربرانی هستند که به صورت همتا به همتا و ناشناس با هم ارتباط دارند ایجاد شود، این کار با الگوریتم اجماع صورت میگیرد.
الگوریتم اجماع در شبکه بلاک چین، این مورد که هر بلاک جدیدی که به شبکه اضافه میشود، یک نسخه واقعی است که توسط نودها تائید شده است را ضمانت میکند. این الگوریتم همچنین مواردی مانند برابر بودن حق نودها، تعامل و مشارکت نودها را تامین میکند. در نتیجه الگوریتم اجماع یک توافق مشترک است که به تائید تمام نودها یا کاربرانی که در شبکه بلاک چین حضور دارند، رسیده است.
مکانیسم اجماع به هر تعدادی از روشهای مورد استفاده برای دستیابی به توافق، اعتماد و امنیت در یک شبکه کامپیوتری غیرمتمرکز اشاره دارد. در زمینه بلاک چینها و ارزهای دیجیتال، اثبات کار (PoW) و اثبات سهام (PoS) دو مورد از رایجترین مکانیسمهای اجماع هستند. منتقدان استخراج و ماینرهای بیت کوین بر این عقیده هستند که الگوریتم اثبات کار در بلاکچین انرژی زیادی مصرف میکند و همین موجب به وجود آمدن الگوریتمهای اجماع جدیدتر، کممصرفتر و کارآمدتر شده است.
الگوریتم اثبات کار چیست؟
الگوریتم اثبات کار روشی برای اعتبارسنجی تراکنشها و اضافه شدن بلاکهای جدید به شبکه بلاک چین است. از آنجا که شبکههای بلاک چین ارزهای دیجیتال، غیرمتمرکز هستند هیچ شخص، شرکت یا نهاد خاصی بر آنها نظارت و کنترل ندارد و قدرت حاکمیتی مرکزی ندارند، بنابراین از این الگوریتم برای یکپارچه کردن دادههای جدید در شبکه خود بهره میبرند.
الگوریتم اثبات کار که مفهومی معادل با ماینینگ است به این علت با این نام شناخته میشود چون شبکه بلاک چین برای انجام آن به قدرت پردازشی زیادی نیاز دارد. بلاک چینهایی که از الگوریتم اثبات کار استفاده میکنند با دستگاههایی با توان پردازشی بالا به نام ماینر در تمام دنیا، تائید میشوند و به این ترتیب امنیت این شبکهها تامین میشود. در واقع تائید این تراکنشها با انجام محاسبات ریاضی ساده و یا پیچیده توسط اولین ماینری که آن را حل کند، صورت میگیرد.
برنده یا همان ماینری که سریعتر بتواند این محاسبات ریاضی را حل کند، میتواند بلاک چین را با آخرین تراکنشهای تایید شده بهروزرسانی کند و شبکه با مقدار از پیش تعیینشده رمزارز به او پاداش میدهد و این همان پاداش استخراج است.
اهمیت وجود الگوریتم اثبات کار در شبکه بلاک چین
این پرسش برای بسیاری از کاربران به وجود میآید که چرا الگوریتم اجماع گواه کار در شبکه بلاکچین مورد نیاز است؟ ما فرض را بر این میگذاریم که تا اینجا متوجه شدهاید که الگوریتم اثبات کار چیست و سیستمهای ارزهای دیجیتالی مانند بیتکوین چگونه کار میکنند. این فرایند بسیار پرهزینه و دشوار است اما چرا با این وجود ارزهای دیجیتال بر انجام آن اصرار دارند؟
پاسخ این پرسش یک کلمه است، امنیت. وجود الگوریتم اثبات کار برای رسیدن سیستمهای ارز دیجیتال به امنیت ضروری است. مهمترین هدف این سیستم آن است که کاربران با داشتن امنیت و بدون ترس از کلاهبرداری از آنها، بتوانند با خیالی آسوده با کاربران ناشناس دیگر معامله کنند.
الگوریتم اثبات کار به ماینرهایی متکی است که به عنوان پردازشگرهای مستقل دادهها عمل میکنند تا تاریخچه تراکنشهای یک ارز دیجیتال را ترتیب دهند. انجام این کار دشواری تغییر دادهها را در طول زمان افزایش میدهد تا دسترسی و تغییرات غیرمجاز رخ ندهد.
الگوریتم اثبات کار چگونه عمل میکند؟
همانطور که گفتیم الگوریتم اثبات کار یک مدل اجماع یا توافق است که به منظور تائید و ثبت تراکنشهای صورت گرفته بین کاربران در رمزارزها استفاده میشود.
ارزهای رمزنگاری شده بر روی بلاک چین اجرا میشوند که از چندین بلاک تشکیل شده است. در ارزهای دیجیتال با الگوریتم اثبات کار هر بلاک دارای هش منحصربهفردی است که برای تائید بلاک موردنظر باید هش هدفی توسط ماینر ارز دیجیتال تولید شود که مقدار آن کمتر یا مساوی با هش بلاک باشد. (هش یک تابع است که ورودی آن حروف و اعداد و خروجی آن کدهای رمزنگاری شده هستند.)
این عمل توسط دستگاههای ماینر یا استخراج انجام میشوند که قدرت پردازشی بالایی دارند و محاسبات پیچیده ریاضی را به سرعت انجام میدهد. این مهم است که قدرت پردازش ماینر بالا باشد تا اولین ماینری باشد که هش هدف را تولید میکند و در نتیجه پاداش رمزنگاری به آن میرسد.
مدل اثبات کار به خوبی در تولید ارزهای دیجیتال عمل میکند چون آنچه در این فرآیند سخت است پیدا کردن هش هدف است و نه تائید کردن آن. در واقع پیدا کردن هش هدف به دلیل پیشگیری از دستکاری کردن سوابق تراکنشها سخت است و پس از پیداکردن آن بقیه کار برای ماینرها بسیار ساده است.
الگوریتم اثبات کار بیت کوین چگونه است؟
یکی از معروفترین نمونههای الگوریتم اثبات کار بیت کوین است که از این مدل اجماع برای ایجاد یکپارچگی در شبکه بلاک چین خود بهره میبرد. تراکنشهای بیت کوین پس از انجام برای تائید در یک صف انتظار در یک بلاک دستهبندی میشوند. الگوریتم اثبات کار بیت کوین یک هش با 64 کاراکتر برای بلاک ایجاد میکند.
در این زمان رقابت ماینرها بر سر تولید هش هدف که از هش بلاک کمتر باشد اتفاق میافتد و برنده این رقابت آخرین بلاک تراکنشها را به بلاک چین بیت کوین اضافه میکند. پاداش این عمل به شکل مقداری بیت کوین تازه تولید شده به علاوه کارمزدی است که کاربران برای تائید تراکنشهای خود به شبکه پرداخت میکنند.
در الگوریتم اثبات کار بیت کوین باید هر ده دقیقه یک بلاک جدید به شبکه بلاک چین اضافه شود که به این منظور سختی ماینینگ با توجه به سرعت ماینر تنظیم میشود. اگر سرعت استخراج زیاد باشد حل محاسبات و تولید هش هدف دشوارتر و در صورتی که سرعت استخراج کم باشد حل محاسبات آسانتر است.
الگوریتم اثبات کار در مقابل الگوریتم اثبات سهام
الگوریتم اثبات کار (Proof of Work) اولین مکانیسم اجماع در ارزهای دیجیتال بود، اما در سال 2012 با توجه به مشکلات این مدل، الگوریتم اثبات سهام (Proof of stake) به عنوان جایگزینی برای آن ارائه شد. در این روش برخلاف الگوریتم اثبات کار اعتبارسنجی تراکنشها نه بر اساس قدرت پردازش ماینرها بلکه بر اساس میزان ارز دیجیتال قفل شده در شبکه انجام میشود.
در الگوریتم اثبات سهام نیازی به قدرت محاسباتی نیست در نتیجه مقیاسپذیری بیشتر است، زیرا تراکنشها در شبکه با هزینه و مصرف انرژی کمتر و از همه مهمتر با سرعت بیشتری پردازش میشوند. رمزارزهایی که از الگوریتم اثبات سهام استفاده میکنند را نسبت به مدل دیگر، سازگارتر با محیط زیست میدانند. تائید و اعتبار تراکنشها در الگوریتم اثبات سهام نیازی به خرید تجهیزات گران قیمت و مکان مناسب برای نگهداری این تجهیزات ندارد و به کار گرفتن آن بسیار آسانتر و ارزانتر از استخراج یا همان الگوریتم اثبات کار است.
علیرغم تمام موارد بالا امنیت الگوریتم اثبات کار بیشتر از الگوریتم اثبات سهام است. یکی از مسائلی که در مورد الگوریتم اثبات سهام وجود دارد، افزایش قدرت تصمیمگیری نهادهایی است که به دلیل سرمایهگذاری یا همان قفل کردن دارایی بیشتر در شبکه بلاک چین اتفاق میافتد، مشکلی که در الگوریتم اثبات کار وجود ندارد.
مزایا و معایب الگوریتم اثبات کار چیست؟
الگوریتم اثبات کار به دلیل تجهیزات گران قیمت و برق زیادی که ماینرها مصرف میکنند، در سالهای اخیر بسیار مورد انتقاد قرار گرفته اند. همانطور که میدانید بیت کوین به عنوان بزرگترین و ارزشمندترین ارز دیجیتال از طریق ماینینگ یا استخراج که همان الگوریتم اثبات کار است تولید میشود. بخش بزرگی از این عمل در کشورهایی مانند چین اتفاق میافتد که هنوز هم بخش زیادی از برق خود را از زغال سنگ تامین میکند، در نتیجه این موضوع خطرات زیست محیطی زیادی را به دنبال دارد که یکی از بزرگترین معایب الگوریتم اثبات کار است.
با این وجود مزایایی نیز برای این الگوریتم برشمرده اند، به طور کلی مزایا و معایب این الگوریتم را میتوان در موارد زیر خلاصه کرد:
مزایای الگوریتم اثبات کار
- سطح امنیت بالا
- ارائه یک روش غیرمتمرکز برای تائید تراکنشها
- اهدای پاداش به ماینرها در مقابل انجام استخراج
معایب الگوریتم اثبات کار
- ناکارآمد بودن و سرعت پایین تراکنشها در کنار کارمزد بالا
- مصرف بالای انرژی
- نیاز به تجهیزات گران قیمت در بیشتر موارد
معرفی ارزهای دیجیتال با الگوریتم اثبات کار
در این بخش چند مورد از ارزهای دیجیتال قابل توجهی که از اثبات کار استفاده میکنند را برای نمونه معرفی میکنیم که یکی از معروفترین آنها بیت کوین است. بیت کوین اولین ارز رمزنگاری شده از زمان راهاندازی آن یعنی در سال 2009 است. این ارز دیجیتال مفهوم اثبات کار در ارزهای دیجیتال را معرفی کرد که بعدها توسط بسیاری از ارزهای دیجیتال دیگر پذیرفته شد.
دومین ارز دیجیتال با الگوریتم اثبات کار لایت کوین Litecoin با نماد LTC است که یکی از اولین آلت کوینها یا جایگزینهای بیت کوین است. این ارز دیجیتال در سال 2011 و بر اساس کد بیت کوین راهاندازی شد با این تفاوت که سرعت تراکنشها در آن بهینه شده بود.
ارز دیجیتال بعدی دوج کوین Dogecoin با نماد DOG است که یک ارز رمزپایه است که در سال 2013 راهاندازی شد و بر اساس میم دوج ساخته شده است. علیرغم اینکه دوج کوین در ابتدا به عنوان یک شوخی ایجاد شد، اما طرفداران زیادی پیدا کرد که همچنان نیز به استخراج آن مشغول هستند.
ارز دیجیتال اتریوم Ethereum با نماد ETH که در سال 2015 توسط ویتالیک بوترین راهاندازی شد نیز یک ارز دیجیتال با الگوریتم اثبات کار بود. اتریوم که به عنوان دومین رمزارز بازار ارزهای دیجیتال شناخته میشود با راهاندازی اتریوم 2 و برای دستیابی به هدف خود و افزایش سرعت تراکنشها، در حال تغییر الگوریتم اجماع خود به الگوریتم اثبات سهام است.
الگوریتم اثبات کار مکانیسم اجماع انتخابی برای ارزهای دیجیتال اولیه بود که به روشی امن و غیرمتمرکز برای پردازش تراکنشها نیاز داشتند. اگرچه الگوریتم گواه اثبات سهام به عنوان جایگزینی با مصرف انرژی بسیار کمتر برای اثبات کار به وجود آمده است، اما الگوریتم گواه اثبات کار، هنوز هم توسط بسیاری از ارزهای دیجیتال استفاده میشود.
سخن آخر
الگوریتم اثبات کار و اثبات سهام الگوریتمهای توافقی هستند که استفاده از آنها در بلاک چین، امنیت دادهها را متحول کرده است. الگوریتم اثبات کار با توجه به تضمین امنیت بالا در ارزهای دیجیتال محبوب است. این مدل بر اساس یک مدل امنیتی انرژیبر کار میکند که ماینرها را ملزم میکند تا تمام تراکنشها را تائید کرده و آنها را در بلاک چین ترتیب دهند.
الگوریتم اثبات کار (PoW) با توجه به ناکارآمدی هزینه، مصرف بیش از حد زمان و ضایعات الکترونیکی بالا مورد انتقاد قرار گرفته است. الگوریتمهای اجماع مانند الگوریتم اثبات سهام (PoS) در این موارد بهتر از اثبات کار هستند. آنها مقرون به صرفه و مقیاسپذیر هستند، اما آنچه باعث میشود ارزهای دیجیتال تمایل بیشتری به الگوریتم اثبات کار داشته باشند امنیت بالای آن است.
مطالب زیر را حتما مطالعه کنید
بررسی رفتار توابع View و Pure در سالیدیتی Solidity
توابع Payable در قراردادهای هوشمند Solidity
سالیدیتی Solidity چیست؟
سطح دسترسی Visibility در سالیدیتی Solidity
توابع Function در سالیدیتی Solidity
انواع حافظه در قرارداد هوشمند سالیدیتی
8 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
بسیار گویا و شفاف بیان کردید
مطلب خوبی بود
این مطلب حرف نداشت
مطلب خوبی بود همکار گرامی
مطلب بی نظیری بود
خیلی ممنون از توضیحات خوبتون
مقالاتتون عالین واقعا!
من یکی از کاربران دائمی سایت شما هستم