شبکههای بلاک چین به صورت غیرمتمرکز و بدون واسطه کار میکنند، این یعنی هیچ نهادی برای نظارت بر تراکنشها وجود ندارد. الگوریتمهای اجماع مانند الگوریتم اثبات کار (Proof of Work) یا الگوریتم اثبات سهام (Proof of Stake) برای پر کردن جای نهاد ناظر ایجاد شدهاند. مکانیزمهای اجماع شرایطی را تعیین میکنند که در آن کاربران میتوانند بر عملکرد صحیح شبکه نظارت داشته باشند و امنیت آن را تأمین کنند.
الگوریتمهای اجماع انواع مختلفی دارند. الگوریتم اجماع اثبات کار اولین روشی بود که برای تایید تراکنشها توسط بیت کوین مورد استفاده قرار گرفت. بعد از آن الگوریتمهای دیگری چون اثبات سهام، اثبات دانش صفر و… هم وارد بلاک چین شدند که هرکدام مزیتها و معایب منحصر به خودشان را داشتند. این مقاله از داموندمگ به بررسی کامل الگوریتم اجماع اثبات کار و ویژگیهای آن به زبان ساده اختصاص دارد.
الگوریتم اثبات کار از کجا آمده است؟
بسیاری از افراد تصور میکنند الگوریتم اجماع اثبات کار (Proof of Work) همزمان با بیت کوین به وجود آمده. اما واقعیت این است که Proof of Work که با مخفف PoW هم شناخته میشود، برای اولین بار در دهه ۱۹۹۰ در دنیای پردازشهای کامپیوتر و محاسبات مطرح شده است. Ari Juels و Markus Jakobsson هم دانشمندانی بودند که برای اولین بار در سال ۱۹۹۹ از نام اثبات کار در مقالات خود استفاده کردند.
با این حال این الگوریتم اجماع زمانی به شهرت رسید که ساتوشی ناکاماتو در وایت پیپر بیت کوین از آن صحبت کرد. ناکاماتو از این الگوریتم برای محاسبات نرخ هش در شبکه بیت کوین استفاده میکرد. یکی از مهمترین علتهای استفاده ناکاماتو از این الگوریتم اجماع این بود که به مرور زمان و با افزایش تعداد بلاکهای استخراج شده، حمله به بلاک چین بیت کوین سختتر میشد.
الگوریتم اثبات کار PoW چیست؟
برای درک بهتر عملکرد اثبات کار، توصیه میشود مقاله «هش ریت چیست» را بخوانید؛ زیرا الگوریتم اثبات کار برای محاسبه هشهای بیت کوین و اضافه کردن بلاکهای جدید به بلاک چین مورد استفاده قرار میگیرد. به بیان ساده هش رشتهای از اعداد و مفاهیم بیمعناست که برای رمزگذاری دادههای بلاک چین مورد استفاده قرار میگیرد.
گواه اثبات کار روشی است که تراکنشها را در بلاکهای جدید ذخیره میکند و بعد از تشکیل بلاک، آن را به زنجیره بلاک چین اضافه میکند. بلاک چینها برای اجرای این روش به دستگاههای ماینر نیاز دارند. ماینرها کامپیوترهای قدرتمندی هستند که قدرت پردازش خود را در اختیار شبکه بلاک چین قرار میدهند و در ازای آن پاداش میگیرند.
منظور از واژه «کار» در این الگوریتم هشگذاری است. ماینرها باید هش تراکنشهای مختلف را پیدا کنند، اولین ماینری که هش درست یک تراکنش را پیدا کند، میتواند آن را تایید کند و با اضافه کردن آن به زنجیره بلاک چین پاداش بگیرد.
Proof of Work چگونه کار میکند؟
اثبات کار یک روش توافقی برای تایید و ثبت تراکنشهای بلاک چین است. بلاک چینها دفاتر کل توزیع شده و عمومی هستند که اطلاعات تراکنشها روی آنها ذخیره میشود و هر نود عضو شبکه نسخهای از این دفتر کل را در خود دارد.
هر یک از بلاکها هش منحصر به فردی دارند که با توجه به آدرس تراکنشها و بلاکهای قبلی تشکیل میشود. ماینرها برای اینکه بتوانند یک بلاک را تایید کنند باید مقدار برابر یا کمتر از هش بلاک مورد نظر را پیدا کنند. زمانی که یک ماینر بتواند مقدار درست هش یک بلاک را پیدا کند، بلاک مورد نظر تایید میشود و به زنجیره بلاک چینی اضافه خواهد شد.
هدف ماینرهایی که با گواه اثبات کار فعالیت میکنند این است که اولین دستگاهی باشند که هش یک بلاک را پیدا میکنند، زیرا در این صورت است که میتوانند پاداش بگیرند. بنابراین مشخص نیست کدام میانر میتواند زودتر از سایرین هش بلاک را پیدا کند و پاداش بگیرد. این موضوع به معنی فرصت برابر برای ماینرهای مختلف است. بلاک چینهایی مثل بیت کوین برای مدیریت سرعت تایید تراکنشها، مقیاسی به نام سختی شبکه را تعریف میکنند.
زمانی که سختی شبکه بالا باشد، ماینرها باید زمان بیشتری برای پیدا کردن هش درست صرف کنند. البته پیدا کردن هش تنها کار پیچیدهای است که در الگویتم Proof of work وجود دارد، بعد از پیدا شدن هش، تراکنش در کوتاهترین زمان ممکن تایید میشود و بلاک به زنجیره اضافه خواهد شد.
زمانی که یک بلاک تشکیل میشود، همه ماینرها به هش درست آن دسترسی پیدا میکنند و نسخهای از آن را در دفتر کل توزیع شده موجود در خودشان ذخیره میکنند.
مثالی درباره کاربرد گواه اثبات کار در بلاک چین بیت کوین
از آنجایی که بیت کوین اولین و مشهورترین بلاک چینی است که از اثبات کار استفاده میکند، برای درک بهتر عملکرد این الگوریتم را در شبکه بیت کوین بررسی میکنیم.
زمانی که کاربر تراکنشی در بیت کوین انجام میدهد، تراکنش از مرحله تایید امنیتی عبور میکند و در یک بلاک قرار میگیرد و منتظر استخراج میماند. تا زمانی که بلاک استخراج نشده باشد، تراکنش مورد نظر کامل نمیشود.
در مرحله بعد الگوریتم اجماع اثبات کار بیت کوین بلاکی که تراکنش در آن قرار دارد را هش گذاری میکند. الگوریتم مورد استفاده در بلاک چین بیت کوین SHA-256 نام دارد و همیشه هشهایی ۶۴ کاراکتری برای بلاکها ایجاد میکند.
در این مرحله رقابت ماینرها شروع میشوند و هر ماینر سعی میکنند اولین دستگاهی باشد که هش هدفی که توسط الگوریتم SHA-256 برای بلاک تعیین شده است را پیدا کند تا بتواند پاداش بگیرد. زمانی که ماینر برنده هش بلاک را پیدا میکند و آن را به زنجیره بلاک چین میافزاید، تراکنشهای موجود در بلاک هم تایید و کامل میشوند.
ماینرها در ازای پیدا کردن هش بلاکهای جدید، بیت کوینهای جدید پاداش میگیرند و میتوانند ارزهای دیجیتال جدید را وارد شبکه کنند. البته باید به این نکته توجه داشته باشیم که عرضه بیت کوین محدود است. بنابراین بعد از اینکه ۲۱ میلیون بیت کوین استخراج شد، ماینرها به جای بیت کوین جدید، به عنوان پاداش بخشی از کارمزدها را دریافت میکنند.
امنیت گواه اثبات کار در بلاک چین
امنیت بالای اثبات کار Proof of Work در بلاک چین یکی از مهمترین ویژگیهای آن است. تأمین امنیت در این الگوریتم یک استدلال ساده دارد؛ افرادی که میخواهند تقلب کنند و تراکنشهای نامعتبر انجام دهند، باید هزینه زیادی صرف کنند. در مقابل افرادی که عملکرد صادقانهای داشته باشند، میتوانند پاداش بگیرند.
در بلاک چینهایی که از گواه اثبات کار استفاده میکنند نه تریدرها میتوانند تقلب کنند و نه ماینرها. تریدرها باید تراکنشهایی که انجام میدهند را امضا کنند. شبکه بررسی میکند که آیا امضای موجود روی تراکنش با کلید عمومی کاربر مطابقت دارد یا خیر.
در صورتی که امضا با کلید عمومی مطابقت داشته باشد و موجودی کلید عمومی مورد نظر برای تراکنش کافی باشد، تراکنش تایید خواهد شد. در غیر این صورت، شبکه به صورت خودکار تراکنش را شکستخورده اعلام میکند و آن را برگشت میدهد.
ماینرها هم نمیتوانند در بلاک چین تقلب کنند. زیرا اولین چیزی که برای حمله به بلاک چین نیاز دارند، این است که بلاکهای مخرب را تایید و وارد بلاک چین کنند. ماینرهای دیگر به عنوان ناظر در بلاک چین حضور دارند و ماینر مخرب برای اینکه بتواند ماینرهای صادق را شکست دهد، باید بیشتر از نیمی از قدرت شبکه را در اختیار داشته باشد.
بنابراین فرد سودجو باید ۵۰ درصد از ماینرهای شبکه بلاک چین را در اختیار داشته باشد، این موضوع به سرمایه زیادی نیاز دارد و از نظر اقتصادی برای هکرها به صرفه نیست. در نتیجه بلاک چینهایی که از PoW استفاده میکنند، امنیت بالایی دارند.
کدام یک از ارزهای دیجیتال از PoW استفاده می کنند؟
در سالهای قبل اکثر بلاک چینها و ارزهای دیجیتال از الگویتم اجماع اثبات کار استفاده میکردند. اما به مرور زمان تعداد کاربران ارزهای دیجیتال مختلف زیاد شد. این موضوع باعث شده است که در روزهای شلوغ، شبکه مقیاسپذیری خود را از دست بدهد و تراکنشها را با سرعت پایین و کارمزد بالا تایید کند.
به همین دلیل بسیاری از بلاک چینها به دنبال راههای جایگزین برای PoW هستند.
در ادامه به چند مورد از مشهورترین ارزهای دیجیتالی که از الگوریتم PoW برای تایید تراکنشهایشان استفاده میکنند، اشاره میکنیم.
- بیت کوین
- اتریوم ۱.۰ (توسعهدهندگان اتریوم در حال راهاندازی ورژن دوم این بلاک چین هستند که در آن الگوریتم PoS با PoW جایگزین خواهد شد).
- بیت کوین کش
- لایت کوین
- دوج کوین
- مونرو
مقایسه PoW و PoS
تا این بخش از مقاله متوجه شدید که الگوریتم اجماع اثبات کار Proof of Work در بلاک چین همان فرایند استخراج است که دستگاههای ماینر قدرت پردازش خود در اختیار یک شبکه بلاک چین قرار میدهند تا تراکنشها پردازش و تایید شوند.
گواه اثبات سهام روش دیگری برای تایید تراکنشهاست که نیازی به سختافزار ندارد و برق مصرف نمیکند. در این الگوریتم کاربران ارز دیجیتال بومی یک بلاک چین را خریداری میکنند و با نگهداری ارزها در ولتهای مخصوص همان بلاک چین، آنها را سهامگذاری میکنند. مقاله «الگوریتم اجماع اثبات سهام چیست» به صورت کامل به این روش اجماع اختصاص دارد.
در این بخش از مقاله دو الگوریتم را از جوانب مختلف باهم مقایسه میکنیم تا هم درک بهتری از عملکرد آنها به دست آورید و هم تفاوتهای دو الگوریتم اجماع را تشخیص دهید.
تمرکززدایی الگوریتم اجماع اثبات کار
در قسمتهای قبلی به علت امنیت گواه اثبات کار اشاره کردیم. در ابتدای مسیر استفاده از این الگوریتم، سختی شبکه بسیار پایین بود و افراد حتی با کامپیوترهای خانگی هم میتوانستند ارز دیجیتال استخراج کنند.
به مرور زمان با افزایش تعداد بلاکها و ماینرها سختی شبکه افزایش پیدا کرد. اکنون اگر کسی بخواهد در فرایند ماینینگ مشارکت داشته باشد، باید دستگاه ماینر قدرتمند ASIC را خریداری کند.
در حال حاضر استخرها و مزارع ماینینگ هم راهاندازی شدهاند که قدرت پردازش چندین دستگاه ماینر را برای استخراج بیت کوین اختصاص دادهاند. این موضوع باعث شده که عملا ماینرهای خانگی شانسی برای استخراج بیت کوین نداشته باشند و قدرت در اختیار استخرهای بزرگ قرار بگیرد. این یعنی اگر چند استخر باهم متحد شوند، میتوانند بیش از نصف قدرت پردازش شبکه را به دست آورند و بلاکهای مخرب تولید کنند.
ماینرها و توسعهدهندگان راههای مختلفی برای مقابله با این مشکل پیدا کردهاند. مثلا زمانی که استخرهای ماینینگ متوجه میشوند یک استخر به صورت ناگهانی قدرت پردازش خود را افزایش داده و هش ریت بالایی به خود اختصاص داده، سریعا تعداد ماینرهایشان را افزایش میدهند تا دوباره هش ریت را به تعادل برسانند.
توسعه دهندگان هم الگوریتمهای رمزنگاری را به شیوهای مقاوم درباره دستگاههای اسیک توسعه میدهند. این راهکارها ریسک را تا حد زیادی کاهش میدهد، اما نمیتواند صددرصد کاربردی باشد.
تمرکززدایی الگوریتم اجماع اثبات سهام
مشکل تمرکززدایی در الگوریتم اثبات سهام هم وجود دارد؛ اگر نهنگی پیدا شود که بتواند اکثر توکنهای بومی یک بلاک چین را خریداری کند، عملا بیشتر از نصف قدرت پردازش شبکه را به دست میگیرد.
در الگوریتم Proof of Stake هم امکان تشکیل استخرهای سهامگذاری وجود داد؛ یعنی تریدرها توکنهایشان را در استخر سهامگذاری میکنند تا پاداش بیشتری دریافت کنند. در نتیجه ریسکی مشابه مزارع یا استخرهای ماینینگ PoW ایجاد میشود.
توسعه دهندگان برای تمرکززدایی بیشتر در شبکه، استراتژیهای خاصی را در نظر گرفتهاند. مثلا استخرهای قدرتمند پاداش کمتری نسبت به استخرهای سهام کوچکتر دریافت میکنند. در نتیجه سهامگذاران ترجیح میدهند به سراغ استخرهای کوچکتر بروند.
البته این روش به صورت کامل مسئله را حل نمیکند، زیرا نهنگهای بزرگ میتوانند داراییهایشان را بین چند استخر سهامگذاری تقسیم کنند. با وجود اینکه استخر بزرگی در بلاک چین وجود ندارد، اما قدرت شبکه در اختیار همان نهنگ است.
احتمال حملات هک به بلاک چین هایی با الگوریتم های اثبات کار و اثبات سهام
یکی از تهدیدهای شبکه بلاک چین، حملات هکرهاست که میتواند از روشهای گوناگونی انجام شود. در ادامه احتمال چند نوع حمله مشهور به بلاک چینهایی با الگوریتم گواه اثبات کار و گوه اثبات سهام را مقایسه میکنیم.
حمله خرج دوباره دارایی (Double spend)
خرج دوباره دارایی (Double spend) مشکلی است که هم میتواند به صورت تصادفی ایجاد شود و یک حمله مخرب باشد. در این حمله بلاک چین به دو شاخه تقسیم میشود. برخی از ماینرها دادههای یک شاخه را پردازش میکنند و برخی دیگر به سراغ شاخه دوم میروند.
در این صورت یک دارایی میتواند روی شاخه اول به یک آدرس و روی شاخه دوم به آدرس دیگر ارسال شود.
در مدل اثبات کار، احتمال حمله خرج دوباره دارایی بسیار پایین است. زیرا ماینرها توان پردازش محدود دارند و حتی اگر شبکه دو شاخه تقسیم شود هم به فعالیت روی شاخه اصلی ادامه میدهند.
زیرا شاخههای فرعی که توسط نودهای مخرب ایجاد میشوند، دیر یا زود از بین میروند. بنابراین ماینرها قدرت پردازششان را برای چیزی که احتمال از بین رفتن آن وجود دارد، صرف نمیکنند.
احتمال حمله خرج دوباره دارایی در بلاک چینهای گواه اثبات سهام بیشتر است؛ زیرا ماینرها قدرت پردازشی در شبکه صرف نمیکنند و برای کسب پاداش بیشتر، روی هر دو شاخه بلاک چین به کار خود ادامه میدهند. توسعهدهندگان بلاک چینهای اثبات سهام روشهایی برای پیشگیری از این مشکل ارائه دادهاند، اما چندان کاربردی نیست.
البته تاکنون هیچ بلاک چین اثبات سهامی با این مشکل مواجه نشده و این ضعف صرفا از نظر تئوری یک تهدید محسوب میشود.
حمله ۵۱ درصد
زمانی که در یک شبکه بلاکچجین تغییری ایجاد میشود، اگر بیشتر از ۵۰ درصد از نودهای شبکه به آن رأی مثبت بدهند، آن تغییر در کل شبکه اعمال خواهد شد. بنابراین اگر افراد سودجو بخواهند تغییر مخربی روی شبکه ایجاد کنند، باید بیشتر از ۵۰ درصد از قدرت شبکه را در اختیار بگیرند. این عمل با نام حمله ۵۱ درصد شناخته میشود.
با وجود توضیحی که درباره متمرکز شدن استخراج بلاک چینهای دارای الگوریتم اجماع اثبات کار ارائه دادیم، حمله ۵۱ درصد در آنها محتمل است. البته هش ریت بلاک چین هم نقش مهمی در این زمینه ایفا میکند. به عنوان مثال در بلاک چین بیت کوین که هش ریت بسیار زیاد است، یک استخر ماینینگ به تنهایی نمیتواند ۵۰ درصد از قدرت پردازش شبکه را در اختیار بگیرد و به همراهی چند استخر دیگر هم نیاز دارد. در مقابل در بلاک چینهایی که هش ریت پایینتری دارند، احتمال موفقیت حمله ۵۱ درصد بیشتر میشود.
زمانی که از نظر تئوری بررسی میکنیم، حمله ۵۱ درصد در بلاک چینهای دارای الگوریتم اثبات سهام سادهتر است. زیرا با خرید نیمی از کوینهای بلاک چین میتوان در شبکه تغییرات ایجاد کرد، اما در عمل خرید نیمی از کوینها و خارج کردن آنها از گردش مالی بازار به معنی افزایش چشمگیر قیمت است.
بنابراین حمله ۵۱ درصد در بلاک چینهای اثبات سهام صرفه اقتصادی ندارد. البته در این مورد هم اگر تعداد کوینهای یک بلاک چین کم باشد، احتمال وقوع حمله ۵۱ درصد وجود دارد.
مصرف انرژی
یکی از مهمترین تفاوتهای گواه اثبات کار و اثبات سهام، در مصرف انرژی آنهاست. ماینرهای بیت کوین و سایر ارزهای دیجیتال دارای الگوریتم اجماع اثبات کار برای تأمین قدرت پردازش شبکه برق زیادی را مصرف میکنند. آمار نشان میدهد مصرف سوختهای فسیلی از زمانی که استخراج بیت کوین به صورت گسترده آغاز شده، افزایش پیدا کرده است.
البته مصرف برق دستگاههای ماینری که در سالهای اخیر تولید شدهاند، کمتر از ماینرهای قدیمی است و با محیط زیست سازگار هستند.
در الگوریتم اجماع اثبات سهام برای تأمین قدرت پردازش شبکه به سختافزارهای قدرتمند نیاز نداریم. به همین دلیل مصرف برق این دسته از بلاک چینها به اندازهای نیست که برای محیط زیست مشکلی ایجاد کند.
معایب و مزایای PoW چیست؟
در قسمت قبل تا حد زیادی با معایب و مزایایی PoW آشنا شدید، اما در این بخش مزایا و معایب این الگوریتم را به صورت خلاصه در یک جدول ارائه میدهیم تا منبع منسجمتری در اختیار داشته باشید.
مزایا | معایب |
امنیت بالا | آسیب رساندن به محیط زیست بخاطر مصرف برق زیاد |
تراکنشها به صورت غیرمتمرکز تایید میشوند و نیازی به واسطه ندارند. | سرعت تایید تراکنشها پایین است و کارمزد بالایی برای تایید دریافت میشود |
ماینرها در ازای تایید تراکنشها ارزهای دیجیتال جدید پاداش میگیرند | خرید دستگاه ماینر به سرمایه بالایی نیاز دارد |
احتمال حملات ۵۱ درصد و حملات خرج دوباره دارایی در بلاک چینهای PoW کمتر است. | تنها قشر پردرآمد میتوانند ماینرهای PoW را خریداری کنند، به همین دلیل فرایند استخراج در انحصار گروه خاصی قرار دارد. |
توزیع درآمد استخراج در این بلاک چین عادلانه نیست و افراد ثروتمندی که میتوانند ماینرهای بیشتری خریداری کنند، شانس بیشتری برای استخراج ارز دیجیتال و دریافت پاداش خواهند داشت. |
کلام آخر
در این مقاله الگوریتم اثبات کار و ویژگیهای آن را با ادبیاتی ساده توضیح دادیم. بررسی تخصصی نحوه عملکرد گواه اثبات کار از نیاز تریدرها و فعالان بازار ارزهای دیجیتال خارج است و به زمینه کار متخصصین بلاک چین و برنامهنویسان برمیگردد. تاکنون اقدامات مختلفی برای بهینهسازی الگوریتم اثبات کار صورت گرفته است، اما نمیتوان گفت این روش بهترین الگوریتم اجماع موجود است.
کارشناسان صرافی رمز ارز داموند اطلاعات مورد نیاز درباره بازار ارزهای دیجیتال، بلاک چین، متاورس و… را از بروزترین منابع دنیا جمعآوری میکنند و در اختیار شما قرار میدهند. با بررسی روزانه مجله داموند اطلاعات جامعی درباره بازار ارزهای دیجیتال به دست میآورید و میتوانید فرصتهای موجود در بازار را شناسایی کنید و از آنها سود به دست آورید.
سوالات متداول
- کدام بلاک چینها از الگوریتم اثبات کار استفاده میکنند؟
اتریوم، بیت کوین، لایت کوین و دوج کوین
- چرا ایلان ماسک بخاطر اثبات کار بیت کوین را محدود کرد؟
مصرف برق زیاد ماینرهای قدیمی به محیط زیست آسیب میرساند و مصرف سوختهای فسیلی را تا حد زیادی افزایش داده بود. به همین دلیل ایلان ماسک دستور توقف پذیرش بیت کوین برای خرید و فروش خودروی تسلا را صادر کرد.
- چرا دیگر الگوریتم اثبات کار برای بلاک چینها کاربردی نیست؟
مصرف سوخت بالا، سرعت پایین در تایید تراکنشها و کارمزد زیاد باعث شده است که کاربران در بلاک چینها با مشکل مواجه شوند.