درک کارکرد انواع مکانیزم اجماع به ما کمک میکند پروژههایی را که بر اساس آن روش عمل میکنند، بهتر بشناسیم. الگوریتم اجماع NPoS که در شبکه پولکادات به کار گرفته شده است، یکی از همین موارد است که شاید کمتر با آن آشنا باشیم.
احتمالا همهمان چیزهایی از گواه اثبات سهام (PoS) یا اثبات کار (PoW) میدانیم، اما کمتر کسی میداند مکانیزم اجماع NPoS چیست.
ما در صرافی سیمیا تصمیم گرفتیم که این مقاله را به معرفی الگوریتم اجماع گواه اثبات سهام نامزدشده اختصاص بدهیم. با صرافی سیمیا زیرمجموعه هلدینگ سیمیا همراه باشید تا با نحوه کار و ویژگیهای NPoS و تفاوتهای آن با سایر الگوریتمهای اجماع بیشتر آشنا خواهید شد.
نکات کلیدی مقاله: ✔ مکانیزم اجماع NPoS یکی از انواع الگوریتمهایی است که بر مبنای اثبات سهام و استیکینگ انجام میشود. ✔ در این روش، نودهایی به نام نامینیتور یا نامزد، باید ولیدیتورهای معتبر را انتخاب کنند. ✔ نامزدها از طریق استکینگ توکنهای خود، به داوطلبهای اعتبارسنجی رای میدهند و هر داوطلب که تعداد توکنهای بیشتری داشته باشد، شانس بالاتری برای انتخاب شدن دارد. ✔ در این ساختار اگر ولیدیتورها اقدامات مخرب و نادرستی انجام بدهند، جریمه میشوند. ✔ اگر ولیدیتوری خطا کند، نامزدی که به آن رای داده هم مشمول جریمه خواهد شد. ✔ شبکه پولکادات معروفترین پروژهای است که از مکانیزم اجماع NPoS استفاده میکند. |
فهرست محتوا
مکانیزم اجماع NPoS چیست؟
گواه اثبات سهام کاندیدشده (Nominated Proof of Stake یا به اختصار NPoS) یک مکانیزم اجماع در شبکههای بلاکچینی است که بر اساس فرایند رایدهی عمل میکند. دارندگان توکنهای شبکه میتوانند در رایگیری شرکت کرده و مشخص کنند که کدام نودها قادر به مشارکت در فرایند اعتبارسنجی برای ایجاد بلاکهای جدید خواهند بود. تنها نودهایی که توسط رایدهندگان انتخاب شده باشند، اجازه این کار را دارند.
این مکانیزم اجماع، به اثبات سهام مشابهت دارد؛ اما تفاوتش این است که تنها نودهای نامزدشده میتوانند در فرایند اعتبارسنجی بلاک شرکت کنند.
مکانیزم اجماع NPoS رفتار خوب و بد را بدون جواب نمیگذارد. همانطور که اقدامات خوب را با پاداش جبران میکند، با اقدامات مخرب هم مقابله و جریمههایی برای آن تعیین میکند. مثلا اگر یک سازنده بلاک بخواهد تراکنشی تقلبی را تایید کند، مشمول جریمه اسلشینگ میشود و بخشی از توکنهای استیکشده خود را از دست خواهد داد.
همین امر به ایمنی شبکه کمک میکند و باعث میشود که نودها به خودشان اجازه انجام اعمال مخرب ندهند.
در وصف الگوریتم NPoS همین بس که ترکیبی از امنیت حاصل از اثبات سهام با مزایای رایدهی دارندگان توکنهاست. به طور خلاصه باید گفت در شبکهای مثل پولکادات که از مکانیزم اجماع NPoS استفاده میکند، ولیدیتورها توسط موجودیتهایی به نام Nominator انتخاب میشوند.
نامینیتورها به صورت معمول تنها نودهای ولیدیتوری را انتخاب میکنند که به آنها اعتماد دارند؛ چرا که اگر نودهای مخرب را برگزینند، خودشان هم به خاطر اعمال خرابکارانه آنها جریمه خواهند شد. آشنایی با این مکانیزم اجماع، به شما کمک میکند از طریق استیک ارز دیجیتال DOT، کسب درآمد کنید.
نقشهای موثر در شبکههای NPoS
برای پیادهسازی الگوریتم اجماع گواه اثبات سهام کاندیدشده، به دو عنصر اصلی به نامهای Validator (اعتبارسنج) و Nominator (نامزد) نیاز داریم. پس کار را با مقایسه این دو آغاز میکنیم تا متوجه شویم که وظایف هرکدام از این نودها در شبکه چیست.
اعتبارسنجهای بلاک، وظیفه تایید اعتبار بلاکهای جدید را به عهده دارند. پس از این کار هم باید بلاکهای مذکور را به بلاکچین اضافه کنند. اما آیا هرکسی در شبکههای NPoS میتواند تبدیل به ولیدیتور شود؟ نه. برای این کار نود باید اول نامزد شود.
وقتی یک نود نامزد میشود، این اجازه را دارد که در فرایند اعتبارسنجی شرکت کند و در ازای این کار، پاداش بگیرد. تفاوت این روش با گواه اثبات سهام نیابتی (DPoS) این است که در آنجا دلیگیتورها، ولیدیتورها را با توجه به میزان داراییهای استیکشده انتخاب میکنند.
همچنین در مکانیزم اجماع اثبات سهام کاندیدشده، هم نامینیتورها و هم ولیدیتورها در صورت اقدامات مخرب Validatorها جریمه میشوند؛ ولی در DPoS تنها ولیدیتور است که جریمه خواهد شد.
از دیگر تفاوتهای نامزدها با اعتبارسنجها باید به این مسئله اشاره کرد که ولیدیتور فول نود است؛ اما نامینیتورها نیازی به اجرای فول نودها ندارند. انتخاباتی برگزار میشود که در آن نامینیتورها، ولیدیتورها را برای حضور در یک مجموعه ولیدیتور فعال انتخاب میکنند. این مجموعه تعداد ثابتی دارد. مثلا تعداد ولیدیتورهای فعال در پولکادات برابر با ۲۹۷ و در شبکه کوساما برابر با ۱,۰۰۰ است.
در شبکه پولکادات، مجموعه فعال جدید ولیدیتورها در هر دوره (Era) انتخاب میشوند. Era یک بازه زمانی است که در شبکه پولکادات برابر با ۲۴ ساعت و در کوساما ۶ ساعت است.
نامینیتورها میتوانند در هر انتخابات تا ۱۶ اعتبارسنج را معرفی کنند (البته اجباری در انتخاب ۱۶ اعتبارسنج وجود ندارد). پس از آن، شبکه ولیدیتورهایی با بیشترین میزان استیکینگ را انتخاب و آنها را در مجموعه فعالان قرار میدهد. در کل آن دوره، این ولیدیتورها وظیفه ایجاد بلاک را به عهده دارند.
در پایان دوره، میزان پاداش استیکینگ با توجه به امتیازاتی که هر ولیدیتور طی همان دوره به دست آورده است، محاسبه میشود.
ولیدیتورها وظایف زیر را به عهده دارند:
- ایجاد بلاکهای جدید
- اعتبارسنجی بلاکها
- اطمینان از نهایی شدن بلاک
- اطمینان از امنیت شبکه
نامینیتورها برخلاف ولیدیتورها میتوانند تعداد نامحدودی شرکتکننده داشته باشند. آنها مسئول نامزد کردن نودهای جدید برای تبدیل شدن به ولیدیتورهای بلاک هستند. تنها نودهایی که توسط سایر رایدهندگان نامزد شده باشند، میتوانند بلاکهای جدید را اعتبارسنجی کنند و در قبال این کار پاداش بگیرند.
Nominatorها نقش مهمی در مکانیزم NPoS بازی میکنند؛ چرا که مسئول این هستند که مطمئن شوند تنها نودهای معتبر و قابل اعتماد میتوانند در فرایند اعتبارسنجی بلاک جدید شرکت کنند.
به طور خلاصه میشود اینطور گفت که تفاوت اصلی نامینیتورها و اعتبارسنجهای بلاک این است که ولیدیتورها مسئول اعتبارسنجی بلاکهای جدید هستند؛ در حالیکه نامینیتورها مسئولیت نامزد کردن سایر نودها را برای تبدیل شدن به ولیدیتور به عهده دارند.
نحوه کار NPoS چگونه است؟
چیدمان ولیدیتور-نامینیتور منجر به تضمین امنیتی قوی در شبکه میشود. این کار به سیستم اجازه میدهد ولیدیتورهایی را انتخاب کند که حجم زیادی از توکنهای جمعآوریشده DOT (در شبکه پولکادات) را در اختیار دارند. این میزان در مقایسه با توکنهایی که یک نفر به تنهایی هولد میکند، قطعا بیشتر است.
در این سیستم نامزدهایی که موجودی استیکشده کمتری دارند، از فهرست خط میخورند. با این مکانیزم، هر لحظه انتظار داریم که مقدار قابل توجهی از ذخایر توکنهای دات در NPoS استیک شده باشد. این امر باعث میشود که نودهای متخاصم به سختی بتوانند به عنوان ولیدیتور انتخاب شوند؛ چرا که برای به دست آوردن اعتبار نیازمند پشتوانه هستند.
حمله به سیستم در چنین مواقعی بسیار هزینهبر خواهد بود؛ چون با هر اقدام نادرست، حجم زیادی از داتهای استیکشده در معرض اسلشینگ قرار میگیرند.
این سیستم در مقایسه با اثبات کار بسیار کارآمدتر و در مقایسه با اثبات سهام بسیار سریعتر است؛ چرا که اجازه میدهد تمام هولدرهای دات به طور مداوم در شبکه مشارکت کنند. به همین خاطر سطوح بالایی از امنیت را در شبکه فراهم میکند و به طور همزمان تعداد ولیدیتورها را محدود نگه میدارد.
فرایند انتخاب ولیدیتورها
سوالی که پیش میآید این است که ولیدیتورها چطور با توجه به آرای نامزدها انتخاب میشوند. برخلاف سایر پروژهههای مبتنی بر اثبات سهام که ولیدیتورها در آنها با توجه به میزان استیکشان سنجیده و وزندهی میشوند، پولکادات به تمام ولیدیتورهای انتخابی قدرت یکسانی در پروتکل اعطا میکند.
برای نشان دادن این حقیقت، این را در نظر بگیرید که میزان استیکینگ نامینیتورها باید تا حد امکان به شکلی مساوی میان ولیدیتورها تقسیم شود؛ این در حالی است که ترجیحات نامزدها هم قابل احترام است.
تصویر زیر را نگاه کنید:
در این تصویر یکسری مفروضات داریم. هر نامینیتور در سمت چپ مقادیر متفاوتی توکن استیک کرده است. هر یک از نامزدها با خطی به داوطلبان اعتبارسنجی متصل شدهاند. این خط مشخص میکند که هر نامینیتور کدام ولیدیتورها را انتخاب کرده است.
در این مثال برای سادگی بیشتر فرضمان بر این است که اعتبارسنجها هیچ توکنی استیک نکردهاند که در حقیقت چنین نیست. فرض کنید قصد داریم از میان این داوطلبها، ۴ تای آنها را انتخاب کنیم که این عدد را N در نظر میگیریم. منصفانهترین قانون این است که هر نامینیتور حداقل ۱/Nام تعداد کل توکنهای استیکشده را در اختیار داشته باشد تا دستکم یکی از ولیدیتورهای موردنظرش انتخاب شود.
در این مثال، کل میزان استیکینگ برابر با ۴۰ دات است. یکچهارم عدد ۴۰ برابر است با ۱۰؛ به این معنا که نامینیتورها باید دستکم ۱۰ توکن استیکشده داشته باشند. در تصویر زیر هم میتوانید سه نتیجه ممکن انتخابات را ببینید که دومی و سومی منصفانه هستند و اولی نه.
اگر تعداد دو یا بیشتر از ولیدیتورهای یک نامینیتور انتخاب شود، نیاز است که توکنهای استیکشدهاش میان آنها تقسیم شود. اینطور پشتوانه اعتبارسنجها تا حد امکان بالانس و متعادل خواهد بود. این را به یاد داشته باشید که شبکه میخواهد مانع از انتخاب ولیدیتورهای مرتبط با استخرهای خرابکار شود.
این کار تنها از طریق پشتوانه کافی انجام میشود. پس یک میزان حداقلی برای ولیدیتورهای انتخابی در نظر گرفته میشود. دو تصویر سمت راستی در بالا، توزیعی را نشان میدهند که در آن سطح امنیت به ترتیب برابر با ۶ و ۹ توکن است. تصویر زیر کمک میکند این مسئله را بهتر متوجه شویم.
در این تصویر میتوانیم ببینیم که هر نامینیتور توکنهای خود را نزد کدام ولیدیتور استیک میکند. کمترین مبلغ استیکشده در تصویر سمت چپ ۶ و در تصویر سمت راست ۹ است.
پرسش و پاسخ (FAQ)
- مکانیزم اجماع NPoS چیست؟
یکی از الگوریتمهای اجماع است که بر پایه اثبات سهام عمل میکند. در این مکانیزم، نودهایی با نام نامینیتور، اعتبارسنجهای شبکه را انتخاب میکنند. - الگوریتم NPoS چه تفاوتی با DPoS دارد؟
در شبکههای DPoS تنها ولیدیتورها در صورت انجام اشتباه جریمه میشوند؛ اما در NPoS، هم نامزدها و هم اعتبارسنجها مشمول جریمه اسلشینگ میشوند.
جمعبندی
الگوریتم اجماع NPoS یا گواه اثبات سهام نامزدشده/ کاندیدشده یکی از انواع مکانیزمهای اجماع است که در شبکه پولکادات به کار گرفته شده است. در این روش، نودهایی تحت عنوان نامینیتور یا نامزد، باید تعدادی از ولیدیتورهای مورداعتماد خودشان را انتخاب کنند. سپس توکنهای خود را نزد آنها استیک میکنند تا شانس آنها را برای شرکت در عملیات اعتبارسنجی افزایش بدهند.
در این روش نامزدها تنها به اعتبارسنجهایی رای میدهند که به آنها اعتماد دارند؛ چون اگر ولیدیتوری را انتخاب کنند که عملکرد خوبی ندارد، توکنهای استیکشده خودشان هم در معرض جریمه اسلشینگ قرار خواهد گرفت.