الگوریتم "اثبات فعالیت"
والبی بلاگ » آرشیو پست ها » آموزش » الگوریتم “اثبات فعالیت” چیست و چگونه کار می کند؟
آموزش آموزش بلاک چین

الگوریتم “اثبات فعالیت” چیست و چگونه کار می کند؟

رمزارزها مرتباً در حال رشد هستند و محبوبیت آنها روز به روز در حال افزایش است. این محبوبیت و پیشرفت مدیون توانایی تکنولوژی بلاکچین در تمرکززدایی امور است. مقوله دفترهای توزیع غیر متمرکز را می توان به عنوان مفهوم اصلی دنیای بلاکچین ها دانست. با اینحال، رکن مهم دیگر این فناوری را باید در الگوریتم های اجماع امن و مؤثر آنها دید. مطمئناً الگوریتم های اجماع مختلفی در این حوزه وجود دارند. در این مقاله، به بررسی الگوریتم اثبات فعالیت (Proof of Activity) خواهیم پرداخت.

هم اکنون بسیاری از فعالیت های مالی، انتشاراتی، و حتی حمل و نقل از طریق این تکنولوژی به صورت غیر متمرکز درآمده است. بسیاری از صنایع دیگر نیز آینده را در فناوری بلاکچین و دنیای ارزهای دیجیتال می بینند.

بیایید پیش از شروع صحبت در مورد “اثبات فعالیت“، ابتدا نگاهی به تاریخچه الگوریتم های اجماع بیندازیم.

 

همه چیز با “اثبات کار” شروع شد

معروف ترین الگوریتم اجماع موجود بدون شک الگوریتم “اثبات کار” (Proof-of-Work) است. این الگوریتم توسط بیتکوین و بسیاری ارزهای دیجیتال دیگر مورد استفاده قرار می گیرد. الگوریتم اثبات کار (PoW) دارای دو ویژگی خاص برای شبکه بیت کوین است. اولاً به کمک این الگوریتم می توان تضمین کرد که هر بلاک جدید به صورت صحیح و درست ایجاد شده است. ثانیاً از طریق این الگوریتم، وضعیت اجماع بلاکچین بیتکوین تداوم می یابد. به عبارتی، خطر انجام فورک (fork) از سوی گروه های کوچک کلاهبردار در شبکه از بین می رود.

در اجماع اثبات کار، ماینرها با یکدیگر رقابت می کنند تا اولین کسی باشند که یک مسئله سخت رمزنگاری شده را حل می کنند. در صورت موفقیت، آنها می توانند بلاک بعدی و مجموعه تراکنش های جدیدی را به بلاکچین اضافه کنند. به واسطه انجام این کار، آنها تعدادی بیت کوین را به عنوان پاداش می گیرند. همچنین بخشی از کارمزدهای آن بلاک نیز به ایشان خواهد رسید. هم اکنون این پاداش 6.25 BTC است. مقدار این پاداش معمولاً هر چهار سال دچار فرآیند هالوینگ (halving) می شود که طیّ آن، پاداش ها نصف می شوند.

این تکنولوژی بسیار جدید و خارق العاده است، اما مطمئناً بدون عیب و نقص نیست.

 

مشکلات پروتکل “اثبات کار”

یکی از انتقادات از بیت کوین در خصوص منابع گسترده ای است که برای استخراج آن مورد استفاده قرار می گیرد. مسلماً منظور از این منابع، مصرف برق و قدرت محاسباتی مورد نیاز است. همچنین دیگر مشخص شده است که مقیاس پذیری بیتکوین بسیار ضعیف است. این شبکه تنها می تواند 7 تراکنش را در ثانیه پردازش کند. همچنین نرخ ایجاد بلاک جدید آن نیز هر 10 دقیقه می باشد. نهایتاً مشکلاتی نیز در خصوص متمرکز شدنِ این شبکه وجود دارد. در حال حاضر، بیشتر قدرت هش (hash) در اختیار عده ای اندک از ماینرها در شبکه است.

بیت کوین اولین بلاکچین بود و توانست ما را با ویژگی های منحصر به فردِ این تکنولوژی آشنا کند. اما این موضوع باعث نمیشود که شبکه بلاکچینی بیتکوین را بدون نقص بدانیم. حتی مطمئناً نمی توان از الگوریتم اثبات درون این شبکه نیز به عنوان بهترین راهکار برای تحقق اجماع یاد کرد. باید راه های دیگری نیز با نیاز به منابع کمتر، مقیاس پذیری بالاتر، و با تمرکززدایی بیشتر وجود داشته باشد.

 

معرفی الگوریتم “اثبات سهام” (Proof of Stake)

الگوریتم اجماع اثبات سهام پرکاربردترین الگوریتم بعد از اثبات کار است. “پیر کوین” (Peercoin) اولین کوینی بود که این الگوریتم را اجرایی ساخت. پس از آن نیز “بلک کوین” (Blackcoin) و “NXT” از اثبات سهام استفاده کردند. اتریوم نیز از سال 2018 مطرح کرد که قصد دارد از طریق “پروتکل کسپر” (Casper Protocol) وارد عرصه اثبات سهام نیز بشود.

الگوریتم اثبات سهام می تواند مشکل استفاده منابع را حل کند، زیرا در این الگوریتم از ماینرها برای حلّ مسائل استفاده نمیشود. در عوض، در اثبات سهام از اعتبارسنج ها استفاده میشود. این اعتبارسنج ها نهادهایی هستند که مالک مقداری کوین هستند، که در سیستم به آن “استیک” گفته میشود. آنان قادرند تا برحسب مقدار “استیک” موجودشان در شبکه، به تأیید تراکنش ها و بلاک ها بپردازند.

در الگوریتم اثبات سهام خبری از پاداش استخراج نیست. اعتبارسنج ها تنها بخشی از کارمزدهای شبکه را دریافت می کنند. شانسِ برگزیده شدن برای ایجاد بلاک بعدی در شبکه کاملاً بستگی به تعداد کوین هایی دارد که در اختیار نود اعتبارسنج است. کوین بیشتر به منزله شانس بیشتر برای برگزیده شدن می باشد. بنابراین، فردی با 5 هزار کوین نسبت به فرد دارنده 1000 کوین پنج برابر بیشتر شانس دارد تا برای ساخت بلاک بعد انتخاب گردد.

پس از ایجاد بلاک جدید، آن بلاک در معرض نودهای بلاکچین قرار میگیرد. معمولاً در اینجا ساز و کاری برای امضا و تأیید بلاک جدید وجود دارد. شبکه های مختلف از روش های مختلف برای پیشبرد این فرآیند استفاده می کنند. اما همه این روش ها می توانند مشکل مشابهی را در پی داشته باشند.

مشکلات شبکه ای با پروتکل اثبات سهام

چگونه می توان اعتبارسنج را از ایجاد دو بلاک جدید در هنگام نوبت خود منع کرد؟ در همین رابطه، آیا می توان جلوی امضا کننده ی آن دو بلاک جدید را گرفت؟ این مشکل به واسطه “نداشتنِ چیزی برای از دست دادن” (Nothing-at-stake) اتفاق می افتد. خیلی ساده، فرد دلیلی نمی خواهد که بخواهد صادقانه و درست رفتار کند.

یکی از روش های متداول برای اجتناب از این مشکل، قفل کردنِ کوین های استیک شده است. آنگاه اگر دارنده کوین های استیک شده بخواهد دو بلاک را ایجاد کند یا شبکه را فورک کند، این کوین ها سوزانده خواهند شد.

اجماع اثبات سهام همچنین دارای مشکل “مرکزیت” نیز می باشد. در واقع، افرادی که پیش تر وارد شبکه شده اند دارای “استیک” بیشتری خواهند بود. بدین ترتیب، آنها سهم بیشتری از کارمزدهای ایجاد بلاک دریافت خواهند کرد. این مسئله معمولاً تازه واردان را از انجام استیک دلسرد می کند.

 

 

الگوریتم اثبات فعالیت (Proof of Activity) چیست؟

رویکرد “اثبات فعالیت” ابتدا توسط چهار نفر از جمله چارلی لی (Charlie Lee)، مؤسس لایت کوین (Litecoin)، مطرح گردید. مقاله آنها در دسامبر 2014 در مجله خبری “ACM SIGMETRICS Performance Evaluation Review” به چاپ رسید. در این مقاله آمده است:

«ما پروتکل جدیدی را برای حوزه ارز دیجیتال پیشنهاد می کنیم. این پروتکل بر پایه پروتکل بیتکوین و با تلفیق الگوریتم اثبات کار آن با الگوریتم اثبات سهام شکل می گیرد. پروتکل “اثبات فعالیت” ما از امنیت بالایی در برابر حملات احتمالی به بیتکوین برخوردار است. همچنین مشکلات آن از نظر ارتباطات شبکه ای و فضای ذخیره بسیار اندک است.»

پروتکل اثبات کار در بیتکوین برای اجتناب از بروز مشکل “تراژدی عوام” (tragedy of the commons) ایجاد شد. در این حالت، ماینرها صرفاً برای منافع شخصی خود کار می کنند و امنیت شبکه را به خطر می اندازند. پیش بینی شده است که این مسئله پس از اتمام پاداش استخراج (زمانیکه 21 میلیون کوین استخراج شدند) می تواند گریبانِ بیتکوین را بگیرد. این مشکل شاید حتی زودتر نیز رخ دهد. زیرا پاداش ها مرتباً کم و کمتر می شوند، و ماینرها عملاً تنها کارمزد تراکنش ها را دریافت می کنند.

 

نحوه کار الگوریتم اثبات فعالیت

همانطور که در مقاله سال 2014 مطرح شد، فرآیند استخراج در “اثبات فعالیت” به صورت سنتی آغاز می گردد. ماینرها تلاش خواهند کرد تا اولین کسی باشند که یک مسئله پیچیده را حل می کنند، تا اینگونه پاداش بگیرند. تفاوت اینجاست که بلاک های استخراج شده دارای تراکنش نیستند. بلاک ها صرفاً قالب هایی هستند که اطلاعاتی در سرتیتر (header) و آدرسی برای پاداش استخراج دارند.

به محض اینکه این بلاک تقریباً توخالی استخراج شد، سیستم به پروتکل اثبات سهام تبدیل میشود. از اطلاعات سرتیتر برای انتخاب تصادفی گروهی اعتبارسنج برای امضای بلاک استفاده می شود. این اعتبارسنج ها همان دارندگان کوین هستند که کوین خود را استیک کرده اند. هرچه مقدار استیک آنان بیشتر باشد، شانس آنان برای امضای بلاک بیشتر خواهد شد. زمانیکه امضای بلاک توسط همه اعتبارسنج های منتخب به اتمام برسد، آن بلاک بخشی از بلاکچین خواهد شد.

اگر پس از مدت منقضی همچنان برخی از اعتبارسنج ها از امضای بلاک سر باز بزنند، آن بلاک “ناقص” تلقی می شود و با بلاک امضاشده بعدی جایگزین می شود. لازمه اتصال بلاک به شبکه، امضا همه اعتبارسنج های منتخب می باشد. کارمزدهای شبکه بین ماینر اصلی و امضاکنندگان بلاک تقسیم می گردد.

 

مزیت های اثبات فعالیت

برخی منتقدان بر این باورند که الگوریتم “اثبات فعالیت” نیز نیاز به منابع نسبتاً زیادی برای فاز استخراج دارد. همچنین باز هم به نظر می رسد که قانون محکمی برای جلوگیری از انجام دو امضا توسط اعتبارسنج وجود ندارد.

یکی از مزیت های این الگوریتم در امنیت بسیار بالای آن است. در اثبات فعالیت، احتمال حمله “51 درصدی” تقریباً به صفر می رسد. برای انجام این حمله، یک فرد یا گروه باید 51 درصد نرخ هش (hash rate) مورد نیاز برای استخراج در فرآیند اثبات کار را در اختیار داشته باشد. اما نکته اینجاست که علاوه بر این قابلیت، آنها باید اکثر کوین های سیستم را نیز برای غلبه بر اثبات سهام در اختیار داشته باشند.

الگوریتم اثبات فعالیت
مزایای الگوریتم “اثبات فعالیت”

برخی معتقدند که این پروتکل ترکیبی اثبات کار (PoW) و اثبات سهام (PoS) تنها به صورت گذرا ایجاد شد. اما واقعیت این است که “اثبات فعالیت” کاملاً یک الگوریتم اجماع خودکفاست که برای افزایش امنیت بیتکوین و دیگر ارزهای دیجیتال ایجاد شده است.

 

کاربرهای الگوریتم اثبات فعالیت

دو کوین معروفی که از پروتکل اثبات فعالیت استفاده می کنند، دیکرد (Decred) و اسپرس (Espers) هستند. هر دو آنها تا حدودی از این پروتکل استفاده می کنند. در این شبکه ها، هر بلاک به صورت اثبات کار یا اثبات سهام پردازش شده و به پیش می رود.

فرآیند استیکینگ در هنگام اجرای اثبات سهام فعال می گردد. اما برای بلاک هایی که به صورت اثبات کار مدیریت می گردند، فرآیند استیک متوقف و غیر فعال می شود. از لحاظ قیمت و ارزش، دیکرد جایگاه بهتری دارد. این ارز دیجیتال از قراردادهای هوشمند، سواپ اتمی (atomic swap) و شبکه لایتنینگ (Lightning Network) پشتیبانی می کند.

 

نتیجه گیری

برای جلوگیری از حمله “51 درصدی” به نظر می آید که پروتکل اثبات فعالیت بتواند راهکار مناسبی باشد. این پروتکل از مزایای هر دو الگوریتم معتبر استفاده می کند. ترکیب و ادغامِ این پروتکل های اثبات مسلماً می تواند امن تر باشد.

نکته منفی در مورد “اثبات فعالیت” آن است که اگرچه دارای مزایای هر دو پروتکل می باشد، اما معایب آن دو را نیز در بردارد. از جمله این معایب می توان به منابع زیاد مورد نیاز و احتمالِ امضای دوباره تراکنش ها اشاره کرد.

با همه اینها، به نظر می رسد که پیاده سازی این پروتکل نیز چندان کار ساده ای نباشد. کمااینکه کوین های اندکی تا به حال از اثبات فعالیت استفاده کرده اند. دیکرد بهترین مثال در خصوص این پروتکل اجماع است. جالب اینجاست که خودِ شبکه دیکرد نیز به صورت ترکیبی از این پروتکل ترکیبی استفاده می کند.

اما بازخوردهای شبکه دیکرد به نسبت خوب بوده است. دیکرد از لحاظ قیمتی و حتی در مقایسه با بیتکوین در سال 2018 عملکرد مناسبی داشته است. این مسائل نشان می دهد که اجتماع این ارز دیجیتال از وضعیت این شبکه نسبتاً راضی هستند. پس می تواند نمونه ای موفق از پروتکل ترکیبی “اثبات فعالیت” باشد.

پست های مرتبط

آموزش کیف پول کوینومی

سردبیر والبی

آشنایی با اصطلاحات رمز ارز ها (قسمت دوم)

سردبیر والبی

قرارداد آتی چیست؟

سردبیر والبی

درج دیدگاه

error: اجازه کپی ندارید