اثبات سهـام نیابتی یا Delegated Proof of Stake (DPos) یک نوع الگوریتم اجماع برای سیستمهای غیرمتمرکز است. همانطور که در مقاله الگوریتم اجماع چیست؟ توضیح دادیم، سامانههای غیرمتمرکز بدون نیاز به یک نهاد ناظر مرکزی فعالیت میکنند و حفظ امنیت و پایداری این شبکهها امکانپذیر نیست، مگر آنکه کل اعضای سیستم به نحوی درباره اعتبارسنجی تراکنشهای شبکه به اجماع برسند.
بنابراین اعضای یک شبکه غیرمتمرکز به وسیله الگوریتم اجماع، افرادی را به عنوان اعتبارسنج شبکه انتخاب میکنند و این افراد منتخب، امنیت شبکه را تامین کرده و تراکنشهای موجود در شبکه را اعتبارسنجی میکنند.
انواع گوناگونی از الگوریتمهای اجماع وجود دارد. یکی از جدیدترین و دموکراتیزهترین آنها، الگوریتم اجماع اثبات سهـام نیابتی است که بسیاری از نقصهای الگوریتمهای رایج قدیمی، همچون اثبات کار و اثبات سهام را رفع کرده است.
در این مقاله با زبانی ساده به این موضوع میپردازیم که اثبات سهام نیابتی یا Dpos چیست؟ و سپس به مقایسه الگوریتم Dpos با الگوریتم اثبات کار و اثبات سهام میپردازیم و در آخر معایب و مزایای الگوریتم اثبات سهام نیابتی را نیز توضیح میدهیم. اگر شما هم از علاقهمندان به یادگیری مفاهیم پایهای بلاکچین و شبکههای غیرمتمرکز هستید، توصیه میکنیم تا انتهای این مقاله با داموندمگ همراه باشید.
اثبات سهام نیابتی یا Dpos چیست؟
در یک سیستم متمرکز حفظ امنیت و نظارت بر شبکه بر عهده یک سازمان واسطه و مرکزی است. این سازمان واسطه میان دو کاربر قرار میگیرد و به انجام درست کارها نظارت میکند. به عنوان مثال اگر بخواهید در یک سیستم مرکزدار مقداری پول به شخص دوم انتقال دهید، بانک واسطه شما و شخص دوم خواهد بود.
یک بانک وظیفه دارد تا پول را از حساب شما کم کند و موجودی حساب شخص دوم را زیاد کند. در واقع شما و شخص دوم به بانک اعتماد کردهاید تا کار انتقال پول را برای شما انجام دهد و امنیت حساب های خود را به دست بانک سپردهاید. همین عامل باعث میشود که یک سیستم متمرکز کاملا آسیبپذیر باشد، چرا که همیشه امکان هک بانکها و فساد در کارمندان بانک وجود دارد.
سیستم های غیرمتمرکز هسته مرکزی ندارند و هیچگونه سازمان مرکزی بر چگونگی کار شبکه و تایید شدن تراکنشها نظارت ندارد. حال سوال اصلی پیش میآید که وظیفه حفظ امنیت شبکه در بلاکچین ها برعهده کیست؟ اگر بلاکچین ها بدون نیاز به هسته مرکزی اداره میشوند، پس چه کسانی تراکنش های شبکه را اعتبارسنجی میکنند و امنیت آن را تامین میکنند؟ جواب همه این سوالها در خاصیت و کاربرد الگوریتم های اجماع خلاصه میشود.
در بلاک چین ها و شبکههای غیرمتمرکز تمام کاربران یک کپی از دفتر کل شبکه را در اختیار دارند. این دفتر کل شامل سابقه تمام تراکنشهای انجام شده در شبکه است. تمام کاربران میتوانند تحت عنوان نود (Node) در شبکه فعالیت کنند و تراکنش های بلاکچین را اعتبارسنجی کنند. نودها در ازای کار کردن برای شبکه جایزه دریافت میکنند، بنابراین همواره انگیزهای برای کاربران وجود دارد که به عنوان نود در شبکه های غیرمتمرکز فعالیت کنند.
اما اگر هر کسی میتواند به عنوان نود فعالیت کند، امنیت بلاکچین ها چگونه تامین میشود؟ چه مکانیزمی باعث میشود که نودهای شبکه تقلب نکنند و کار خود را درست انجام دهند؟ در واقع در یک شبکه غیرمتمرکز تایید اعتبار یک تراکنش فقط توسط یک نود انجام نمیشود و باید تعدادی از نودها بر سر اعتبار یا عدم اعتبار یک تراکنش به توافق یا اجماع برسند. ایجاد توافق میان نودها یا به اصطلاح بهتر اجماع میان نودهای بلاکچین، توسط مکانیزمی به نام الگوریتم اجماع انجام میشود.
نودهای گوناگون یک شبکه غیرمتمرکز که در سراسر جهان پراکنده شدهاند، به وسیله الگوریتم اجماع درباره درستی یا نادرست بودن یک تراکنش به توافق میرسند. این توافق دسته جمعی باعث میشود که امنیت تراکنش ها در شبکه غیرمتمرکز حفظ شود و شبکه بدون مشکل به کار خود ادامه دهد. ایجاد اجماع میان نودها با انواع گوناگونی از الگوریتم های اجماع صورت میپذیرد که هر کدام از آنها عملکرد خاص خود را دارند.
در الگوریتم اثبات سهام نیابتی، ایجاد اجماع میان نودهای شبکه از طریق رایگیری صورت میپذیرد. در این الگوریتم، هر شخص به اندازه میزان دارایی خود در شبکه حق رای دارد. کاربران شبکه میتوانند با رای خود یک یا چند نود را برای اعتبارسنجی تراکنشهای شبکه انتخاب کنند. بنابراین در الگوریتم اثبات سهام نیابتی، نودهایی شایستگی اعتبارسنجی تراکنشها را دارند که بیشترین رای را از کاربران شبکه دریافت کرده باشند.
در الگوریتم اثبات سهام نیابتی، نودهای منتخب یا نودهای نماینده (Delegated Nodes) تراکنشهای شبکه را اعتبارسنجی کرده و پاداش دریافت میکنند. این نودها میتوانند پاداش دریافتی خود را میان اشخاصی که به آنها رای دادهاند، تقسیم کنند یا آنکه پاداششان را در جهت ارتقا و توسعه شبکه هزینه کنند. نودهایی که میخواهند به عنوان نود نماینده انتخاب شوند، باید در ابتدا برنامه خود را ارائه دهند و سپس کاربران شبکه آن را بررسی کرده و به آنها رای خواهند داد.
اثبات سهام نیابتی، از جمله الگوریتمهای اجماع جدید و مدرن به حساب میآید و هدف آن از بین بردن نقاط ضعف الگوریتمهای اولیه همچون اثبات کار و اثبات سهام است. در قسمت بعد به این موضوع میپردازیم که این الگوریتم چه مزایایی نسبت به اثبات کار و اثبات سهام دارد و استفاده از آن چه مشکلاتی را در دنیای بلاکچین و ارزهای دیجیتال حل کرده است.
مقایسه الگوریتم Dpos با اثبات کار و اثبات سهام
اثبات کار، اولین الگوریتم اجماع به کار رفته در سیستمهای غیرمتمرکز است و از رایجترین آنها به شمار میرود. اثبات کار الگوریتم اجماع شبکه بیتکوین و اتریوم است و به همین دلیل امتحانهای خود را به عنوان یک الگوریتم اجماع کارآمد و مطمئن پس داده است.
در اثبات کار، نودهای شبکه به منظور اعتبارسنجی تراکنشها باید جواب معادلات ریاضی پیچیدهای را حدس بزنند. این کار استخراج نام دارد و به وسیله ماشینهای پردازشگر قدرتمندی به نام ماینر انجام میشود. نودهای یک شبکه اثبات کار، برای اعتبارسنجی تراکنشها نیازمند صرف انرژی الکتریکی و زمان زیادی هستند.
همین مساله باعث شده است که انتقادهای زیادی به الگوریتم اثبات کار وارد شود. اجماع رسیدن با این روش، نیازمند اتلاف انرژی بسیار زیادی است و همه افراد با استفاده از کامپیوتر معمولی، نمیتوانند موفق به اعتبارسنجی در شبکه شوند. برای آنکه تبدیل به یک استخراج کننده در شبکه اثبات کار بیتکوین شوید، باید تعداد زیادی دستگاه قوی و گران قیمت ماینر در اختیار داشته باشید.
همین اتلاف انرژی و در دسترس نبودن اعتبارسنجی شبکه برای همه افراد، از نقاط ضعف اثبات کار به حساب میآید و بلاکچینهای بعد از بیتکوین، تلاش کردند تا این مشکلات را با ایجاد یک الگوریتم اجماع جدید برطرف کنند. بنابراین الگوریتم اثبات سهام ایجاد شد.
در اثبات سهام، خبری از استخراج و ماشینهای ماینر نبود. هر کسی میتوانست مقداری ارز دیجیتال را در شبکه به وثیقه بگذارد یا اصطلاحا استیک کند و به میزان سهم پول استیک شده خود، حق اعتبارسنجی در شبکه را به دست میآورد.
با اینکه اثبات سهام مشکل اتلاف انرژی اثبات کار را حل کرد، ولی باز هم نتوانست مشکل عدالت در دسترسی به اعتبارسنجی شبکه را حل کند. در اثبات سهام افرادی که ثروتمندتر هستند، میتوانند تراکنشهای بیشتری از شبکه را اعتبارسنجی کنند و افرادی که پول کمتری دارند، حق کمتری برای اعمال نظر خود در شبکه دارند.
بنابراین الگوریتم دیگری به نام اثبات سهام نیابتی،برای عادلانه تر و دموکراتیزه کردن الگوریتم اثبات سهام به وجود آمده است. در الگوریتم اثبات سهام اشخاصی که ثروتمندتر باشند، میتوانند کنترل تراکنشها و اعتبارسنجی تراکنشها را بر عهده بگیرند و این با آرمانهای اولیه ارزهای دیجیتال و شبکه های غیرمتمرکز سازگار نیست.
در عوض در اثبات سهام نیابتی، هر فردی به میزان دارایی خود، حق رای دارد و اعتبارسنجهای شبکه به وسیله رایگیری انتخاب میشود. هر شخصی فارغ از اینکه ثروتمند یا فقیر است، میتواند به عنوان کاندید برنامههای خود را در جهت توسعه شبکه یا تقسیم سود، ارائه کند و کاربران دیگر میتوانند به او رای دهند.
چنانچه شخصی رای کافی را از دیگران دریافت کند. میتواند تراکنشهای شبکه را اعتبارسنجی کند و پاداش آنها را دریافت کند. پاداشهای دریافت شده توسط این شخص، طبق برنامه ارائه شده توسط او، مصرف میشوند. برخی اوقات این پاداشها برای توسعه شبکه خرج میشوند و در بیشتر اوقات این پاداشها میان کسانی تقسیم میشود که به این شخص رای دادهاند.
بنابراین با این روش، محیط عادلانهتر و دموکراتیزهتری در یک فضای غیرمتمرکز و بلاکچین به وجود میآید و همه افراد فرصت این را دارند که با توجه به لیاقت و کارایی به عنوان اعتبارسنج شبکه انتخاب شوند.