
یکی از بنیانهای اساسی شبکههای بلاک چین، ایجاد سازوکاری برای به اجماع رسیدن میان نودهای شبکه بر سر نسخه واحدی از تراکنشهای تایید شده و ایجاد یک زنجیره بلوکی واحد در شبکه است. الگوریتم گواه اثبات کار یا PoW و الگوریتم گواه اثبات سهام یا PoS دو روش شناختهشده و مشهور در این زمینه هستند. الگوریتم گواه اثبات وکالتی یا نیابتی که به اختصار DPoS نام دارد، یکی دیگر از روشهاست که در این مقاله آن را معرفی کرده و نحوه کار آن را نشان خواهیم داد.
گواه اثبات سهام وکالتی (DPoS) چیست؟
در شبکههای متمرکز به دلیل وجود نهاد مدیریتی مرکزی، تمام اطلاعات پردازش شده در شبکه به صورت متمرکز و تحت کنترل کامل نهاد مسئول، ثبت و ذخیره خواهد شد. اما در سیستمهای توزیع شده و غیرمتمرکز، به دلیل حذف نهاد مرکزی مسئول، اطلاعات شبکه توسط نودهای آن پردازش و ذخیره خواهد شد. هر نود، نسخه مخصوص به خود را در شبکه دارد و به منظور رسیدن به یک نسخه واحد از اطلاعات ذخیره شده، باید میان این نودها اجماع صورت گرفته تا همه یا اکثر آنها بر سر یک نسخه واحد توافق کنند. این توافق نظر توسط الگوریتمهای اجماع صورت میپذیرد. در حوزه بلاک چین، گواه اثبات کار یا Proof Of Work و گواه اثبات سهام یا Proof Of Stake دو الگوریتم شناختهشده هستند که در شبکههای زیادی مورد استفاده قرار میگیرند. الگوریتم Delegated Proof Of Stake یا به اختصار DPoS، در فارسی به گواه اثبات سهام وکالتی یا گواه اثبات سهام نیابتی ترجمه میشود؛ این روش تقریبا ساختاری مشابه گواه اثبات سهام دارد اما تغییرات مهمی نیز در آن اعمال شده که این روش را به یک الگوریتم اجماع جدید مبدل کرده است. ما در ادامه به منظور درک بهتر گواه اثبات سهام نیابتی، ابتدا روش گواه اثبات سهام را معرفی خواهیم کرد و در ادامه، روش DPoS را معرفی کرده و نحوه کار آن را شرح خواهیم داد.
گواه اثبات سهام
بیت کوین به عنوان بزرگترین رمز ارز کنونی جهان، از الگوریتم گواه اثبات کار برای اجماع در شبکه بلاک چین خود استفاده میکنند. هر چند این الگوریتم، امنیت بسیار بالایی را برای این شبکه به ارمغان آورده با این حال انتقادهای بسیاری به این روش مطرح است؛ بیت کوین برای تامین امنیت خود، انرژی و هزینه بالایی را صرف میکند. به این دلیل (و البته دلایلی دیگر) روش گواه اثبات سهام یا PoS به عنوان جایگزینی برای این الگوریتم معرفی شد. در روش PoS نودهای شبکه با استفاده از پردازشگرهای قوی و با حل تابعی پیچیده بر سر یافتن بلاک جدید رقابت میکنند. هریک که قدرت پردازشی بالاتری را در اختیار داشته باشد، شانس بالاتری برای یافتن بلاک خواهد داشت و یافتن بلاک جدید مساوی دریافت پاداش استخراج است. در این روش، هرکس سرمایه بالاتری داشته باشد، قادر است توان پردازشی بالاتری را فراهم کرده و در نتیجه سود بالاتری خواهد داشت.
در الگوریتم گواه اثبات سهام، نودها به جای خریداری دستگاههای ماینر خاص با توان پردازشی بالا، صرفا با خریداری رمز ارز شبکه و سپردهگذاری یا Staking آن، واجد شرایط ایجاد بلاک جدید و دریافت پاداش ارائه بلاک خواهند بود. هرچند در این روش نیز هرکس تعداد بیشتری از رمز ارزهای شبکه را سپردهگذاری کند، شانس بالاتری برای ایجاد بلاک جدید در شبکه خواهد داشت؛ انتخاب این نود به میزان سپردهگذاری او بستگی دارد (در اغلب شبکهها). در مقاله زیر به صورت مفصل در مورد الگوریتم گواه اثبات سهام صحبت کردهایم که برای آشنایی عمیقتر با این روش، مطالعه آن را پیشنهاد میکنیم:
الگوریتم گواه اثبات نیابتی چیست؟
ایده روش DPoS در سال ۲۰۱۴ توسط دنیل لریمر (Daniel Larimer) بنیانگذار شبکه ایاس مطرح شد. در این روش، به نودهایی که وظیفه و توانایی تایید تراکنش و ایجاد بلاک در شبکه را دارند، Block Producer یا Witness گفته میشود. این نودها با برگزاری انتخابات در شبکه و براساس رای سپردهگذاران انتخاب میشوند. به همین دلیل به این روش گواه اثبات سهام نیابتی یا وکالتی میگویند. این افراد به نمایندگی از سپردهگذاران بلاک جدید را تولید خواهند کرد.
این روش را میتوان نسخه بهینه روش گواه اثبات سهام دانست. در روش DPoS نیز افراد با خریداری کوین اصلی شبکه میتوانند آن را Stake کرده و از میان نودهای شبکه که مجوز ایجاد بلاک جدید در شبکه را دارند، نمایندگان خود را با رایدهی به آنها انتخاب میکنند. نودهای منتخب نیز در یک بازه زمانی مشخص، مسئول ایجاد بلاک در شبکه خواهند بود و پس از اتمام این بازه زمانی، مجددا رایگیری در شبکه انجام شده و این فرآیند مدام تکرار میشود (البته در عمل این اتفاق نمیافتد) یکی از تفاوتهای مهم میان شبکههای مبتنی بر الگوریتم گواه اثبات سهام نیابتی با شبکههای مبتنی بر الگوریتم گواه اثبات سهام در تعداد نودهای ایجاد کننده بلاک در شبکه است. در شبکه PoS تمامی نودها شانس این را دارند تا بلاک جدید را در شبکه تولید کنند اما در شبکههای DPoS، تعداد این نودها کاهش یافته و این نودهای محدود، به نمایندگی از سایرین تراکنشها را تایید و بلاک جدیدی را به شبکه معرفی میکنند.
الگوریتم گواه اثبات سهام وکالتی چطور کار میکند؟
هنگام پیادهسازی یک روش گواه اثبات سهام وکالتی یا گواه اثبات نیابتی به پارامترهایی نیاز داریم که در ادامه هر یک از آنها را معرفی و هدف آن را شرح میدهیم:
فرآیند رایگیری
فرآیند رایگیری یا Voting یکی از پارامترهای اساسی در شبکههای DPoS است؛ در این شبکهها هر فردی که کوین اصلی این شبکه را در کیف پول خود ذخیره کرده، میتوانند با قراردادن رمز ارز خود در قرارداد رایگیری، در فرآیند انتخابات شرکت کند. در نتیجه دارندگان کوین اصلی شبکه میتوانند به صورت مستقیم در فرآیند رایدهی شرکت کنند و یا قدرت رای خود را به فردی دیگری محول کنند. این فرآیند رایگیری برای انتخاب نمایندگان سپردهگذاران برگزار میشود. هر فرد میتواند یک یا چند نماینده را برای خود انتخاب کند. برای مثال در شبکه ایاس هر دارنده توکن، میتواند تا ۳۰ نماینده را برای خود برگزیند. تعداد این نمایندهها عموما بین ۲۱ تا ۱۰۰ نفر بوده که سپردهگذاران نمایندگان خود را از میان این لیست انتخاب میکنند. هر فردی که در کیف پول خود تعداد بیشتری کوین در اختیار داشته باشد، قدرت رای او نیز بیشتر خواهد بود. در نهایت، هرکس که تعداد رای بیشتری را کسب کند، به عنوان نماینده منتخب برای تولید بلاکهای بعدی شبکه، تراکنشها را بررسی کرده و آنها را در بلاک جدید شبکه ذخیره میکند. در طرف مقابل، این نماینده باید مقدار مشخصی از کوین شبکه را استیک کرده تا در صورتی که بلاک معرفی شده توسط او بر خلاف قوانین شبکه باشد، جریمه شود. این اتفاق، انگیزه اقتصادی برای آسیب رساندن به شبکه را از بین خواهد برد.
در صورتی که نماینده منتخب، تراکنشهای تایید شده در قالب بلاک جدید به شبکه معرفی کند، پاداش دریافت کرده که عموما این پاداش میان او و تمامی افرادی که او را انتخاب کردهاند توزیع خواهد شد. اما در حالتی که او در زمان مشخص شده، به هر دلیلی موفق به تایید تراکنشها نشود، در آن بازه زمانی بلاک جدید به شبکه اضافه نشده و تمامی تراکنشها به صورت تایید نشده در شبکه باقی خواهد ماند؛ در این حالت، نماینده بعدی مسئول ایجاد بلام شده و در صورت ارائه بلاک جدید، پاداش بلاک قبلی و بلاکی که او به شبکه اضافه کرده را دریافت خواهد کرد.
نمایندگان
پارامتر بعدی در الگوریتم گواه اثبات سهام وکالتی، نمایندگان شبکه هستند. یکی از انتقادهای وارد به شبکههای DPoS مربوط به نمایندگان شبکه است. تعداد این نمایندگان عموما بین ۲۱ تا ۱۰۰ نود تعریف میشود. این افراد را میتوان مشابه ماینرها در شبکه بیت کوین یا هر شبکه PoW دیگر دانست. زیرا در شبکههای گواه اثبات سهام نیابتی، تنها این افراد میتوانند تراکنشها را تایید و بلاک جدید را به شبکه اضافه کنند. باید توجه کرد که افراد میتوانند با در اختیار داشتن لجر شبکه و فراهم کردن موارد مورد نیاز برای راهاندازی نود در آن شبکه، به لیست واجدین شرایط برای نمایندگی در این شبکه وارد شود.
سپس از این لیست براساس رای تمامی هولدرهای شبکه تعدادی از نودها به لیست اصلی وارد خواهند شد. در این لیست در شبکه ایاس ۲۱ نماینده و در برخی شبکهها تا ۱۰۰ نماینده حضور دارند. به محض آفلاین شدن یکی از این نودها، از لیست افراد در انتظار برای ورود به لیست اصلی، فردی که بالاترین رای را در اختیار دارد، به جمع لیست نمایندگان اضافه خواهد شد. در نتیجه همواره میان نودها رقابتی برای قرارگیری در لیست نمایندگان فعال برقرار است.
زمانی که یک نود در لیست نمایندگان فعال قرار بگیرد، باید مقداری (براساس شبکههای مختلف این مقدار متفاوت خواهد بود) از رمز ارز اصلی شبکه را به عنوان Stake در شبکه قفل کند. این استیک اهرمی برای جریمه افراد خطارکار در شبکه در نظر گرفته خواهد شد.
براساس پروتکل هرشبکه، تعداد مشخصی نماینده برای زمان مشخصی به عنوان تولید کننده بلاک جدید در شبکه در نظر گرفته خواهند شد. این دوره زمانی در هر شبکه متغیر بوده و عموما مفهوم Epoch در این شبکهها، به همین دوره زمانی مشخص اطلاق میشود. در هر دوره، تعداد مشخصی بلاک قابل تولید است. برای درک بهتر این روند، به مثال زیر توجه کنید:
- پروتکل یک شبکه بلاک چین به نحوی تعریف شده تا در هر دوره زمانی، ۲۱ نماینده از لیست نمایندگان انتخاب شوند (۲۱ نفر اول که رای بالاتری دارند).
- هر نود واجد شرایط، مسئول تولید بلاک در شبکه خواهد بود و زمانی که تعداد بلاکهای ایجاد شده به عدد ۲۱ رسید، این دوره زمانی به پایان رسیده و فرآیند از ابتدا آغاز خواهد شد. تا زمانی که رایدهندگان آرای خود را تغییر ندهند، ترتیب نمایندگان به همین شکل برای هر دوره ادامه خواهد یافت.
- از آنجا که تعداد نودهای تولید کننده بلاک در شبکه عدد بسیار کمتری در مقایسه با شبکههای PoW و PoS است، در نتیجه فرآیند ایجاد بلاک میتواند سریعتر اتفاق افتاده که منجر به افزایش سرعت کلی شبکه بلاک چین خواهد شد. این نکته، یکی از مسائل اساسی در شبکه بلاک چین، مقیاسپذیری، را تا حد زیادی مرتفع کرده است. در چنین شبکههایی در صورتی که بیش از ۶۶ درصد نودها (در این مثال بالاتر از ۱۵ نود) بلاک را تایید کنند، آن بلاک در شبکه تایید شده تلقی خواهد شد.
مزایا و معایب الگوریتم DPoS
در این بخش مزایا و معایب الگوریتم گواه اثبات سهام نیابتی را مطرح میکنیم:
مزایا
- انجام تراکنش در این شبکهها ارزانتر است.
- شبکههایی که از این الگوریتم استفاده میکنند، مقیاسپذیرتر از شبکههای PoW و PoS هستند.
- مصرف انرژی در این الگوریتم بسیار کاهش یافته و الگوریتم سازگار با محیط زیست به شمار میآید.
معایب
- شبکه کاملا غیرمتمرکز نیست و عموما به این شبکهها، نیمه متمرکز گفته میشود. این انتقاد بسیار مهمی به این الگوریتم است.
- در این سیستم نیز افرادی که توکنهای بیشتری دارند، نقش بیشتری در شبکه ایفا خواهند کرد.
- از آنجا که تعداد نودهایی که برای تشکیل بلاک انتخاب میشوند، کمتر است؛ در نتیجه آسیب پذیری شبکه بالاتر رفته و احتمال حمله به آن بیشتر خواهد شد.
- برای پیادهسازی صحیح این سیستم، باید افراد زیادی در شبکه مشارکت کنند.
مقایسه گواه اثبات سهام و گواه اثبات سهام نیابتی
اگرچه گواه اثبات سهام و گواه اثبات سهام نیابتی از لحاظ استیکینگ مشابه هستند، اما گواه اثبات سهام نیابتی یک سیستم رایگیری دموکراتیک جدید ارائه میدهد که طی آن، تولیدکنندگان بلاک انتخاب میشوند. از آنجایی که سیستم گواه اثبات سهام نیابتی توسط رایدهندگان حفظ میشود، نمایندگان تشویق به عملکرد صادقانه میشوند. در غیر این صورت رای به برکناری آنها داده میشود. به علاوه، بلاک چینهای مبتنی بر DPoS از لحاظ تعداد تراکنشها در ثانیه، سریعتر هستند.
گواه اثبات سهام در صدد برطرف کردن نقص های گواه اثبات کار است؛ در حالی که گواه اثبات سهام نیابتی یا وکالتی به دنبال تسهیل فرآیند تولید بلاک است. به همین دلیل، سیستمهای مبتنی بر گواه اثبات سهام وکالتی میتوانند تعداد بیشتری تراکنش را سریعا پردازش کنند.
در حال حاضر، گواه اثبات سهام وکالتی همانند گواه اثبات سهام و گواه اثبات کار استفاده نمیشود. گواه اثبات کار همچنان به عنوان ایمنترین الگوریتم اجماع در نظر گرفته میشود و بدین ترتیب، بیشترین انتقالهای پول در این سیستمها رخ میدهد. تولید بلاک در گواه اثبات سهام نیابتی بر خلاف سیستم رقابتمحور گواه اثبات کار عمل میکند و از قبل مشخص شده است. هر شاهد یک نوبت برای تولید بلاک دریافت میکند. در نتیجه میتوان گفت که گواه اثبات سهام وکالتی را باید یک سیستم گواه اثبات اعتبار در نظر گرفت.
گواه اثبات سهام وکالتی تفاوت چشمگیری با گواه اثبات کار و حتی گواه اثبات سهام دارد. یکپارچگی رایدهی سپردهگذاران به عنوان یک ابزار برای تصمیم گیری و تشویق نمایندگان به انجام رفتارهای صادقانه عمل میکند. هرچند تولید بلاک نسبت به سیستمهای مبتنی بر گواه اثبات سهام کاملا متفاوت است و در بسیاری از موارد، عملکرد بهتری از لحاظ تعداد تراکنش در ثانیه ارائه میدهد.
چه شبکههایی از الگوریتم DPoS استفاده میکنند؟
هرچند شبکههای بلاک چینی که از الگوریتم اجماع گواه اثبات سهام نیابتی یا وکالتی استفاده میکنند، براساس اهداف پروژه خود، تعداد کاربران و توزیع جامعه خود، در این الگوریتمها تغییراتی را اعمال میکنند. با این حال در این بخش، شبکههایی که از این الگوریتم برای رسیدن به اجماع میان نودهای شبکه خود استفاده میکنند را معرفی خواهیم کرد.
شبکه بلاک چین ایاس یکی از مهمترین شبکههایی است که این الگوریتم را به صورت جامعتری در شبکه خود پیادهسازی کرد. در این شبکه تعداد نودهای سازنده بلاک در شبکه ۲۱ تعریف شده است. شبکه Lisk نیز از الگوریتم گواه اثبات سهام نیابتی استفاده میکند که تعداد نودهای منتخب در این شبکه ۱۰۱ نود تنظیم شده است. شبکه لونا – Luna – نیز دیگر شبکهای است که از این الگوریتم استفاده میکند. ؤبکه بلاک چین ترون و تزوس نیز از این الگوریتم در شبکههای بلاک چین خود استفاده میکنند.
سخن پایانی
الگوریتم اجماع یکی از مولفههای اساسی در شبکههای توزیع شده و غیرمتمرکز به شمار میرود. بیت کوین با معرفی الگوریتم گواه اثبات کار یا PoW، فعالیت خود را در این حوزه آغاز کرد و تا به امروز این الگوریتم اجماع همچنان در حال فعالیت بوده و با تمامی انتقادهایی که به آن مطرح است، همچنان بزرگترین رمز ارز جهان بر اساس این الگوریتم فعالیت دارد. روش گواه اثبات سهام نیابتی یا گواه اثبات سهام نیابتی، DPoS، روشی برای بهبود عملکرد الگوریتم گواه اثبات سهام است که برخی از شبکههای مطرح بازار نیز از این الگوریتم اجماع استفاده میکنند. ما در این مقاله این الگوریتم را معرفی کرده و نحوه کار آن را نیز توضیح دادیم. در انتها تفاوتهای جدی میان سه الگوریتم اجماع PoW، PoS و DPoS را عنوان کردیم.