اثبات سهام محول شده (DPoS) چیست؟

یکی از مهم‌ترین ویژگی‌های فن‌آوری بلاک چین، اجماع (Consensus) است که طی آن خود اعضای شبکه تصمیم‌گیرنده هستند. ایمن‌ترین روش رسیدن به اجماع، اثبات کار است. اما این روش انرژی زیادی می‌طلبد، بنابراین روش جایگزینی به نام اثبات سهام معرفی شده است. DPoS یا اثبات سهام محول شده ( Delegated Proof of Stake) یکی از گونه‌های همین الگوریتم است که در این مطلب به تشریح آن می‌پردازیم.

0 336

اگر بخواهیم خلاصه بگوییم، اثبات کار ایمن‌ترین روش اجماع است ولی انرژی بسیار زیادی مصرف می‌کند. اثبات سهام که جایگزینی برای آن است، نیاز به انرژی را بر بین می‌برد، و ماینرها را با «اعتبارسنج‌ها» جایگزین می‌کند؛ یعنی با کسانی که می‌توانند بلاک بعدی را متناسب با سپرده خود در شبکه، بلاک ها را اعتبارسنجی کنند. الگوریتم اجماع دیگری که غالباً مورد بحث قرار می‌گیرد اثبات سهام محول شده (DPoS) است؛ گونه‌ای از الگوریتم اثبات سهام که در ازای محدودسازی شمار اعتبارسنج‌های شبکه، سطح بالایی از مقیاس پذیری را فراهم می‌کند.

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

اثبات سهام محول شده چیست؟

اثبات سهام محول شده سیستمی است که در آن شمار ثابتی از صاحبان سهام منتخب (موسوم به تولیدکنندگان یا شاهدان بلاک) برگزیده می‌شوند تا بلاک‌ها را بر اساس یک جور ترتیب نوبت-گردشی بسازند. تولیدکنندگان بلاک توسط کاربران شبکه وارد گردانه قدرت می‌شوند و هر یک متناسب با تعداد توکنی که در شبکه در اختیار دارند (همان سهمشان) حق رای دریافت می‌کنند.

در مقابل، رای‌دهندگان می‌توانند حق استفاده از سهام خود را به دیگران منتقل کنند تا به صورت وکالتی از طرف آن‌ها در رای‌گیری شرکت نمایند.

نکته‌ای درباره مفاهیم این روش در مقایسه با PoS، از زبان دن لاریمر:

  • تولیدکنندگان بلاک کسانی‌اند که مسئول ایجاد بلاک‌های جدید و امضا کردن آن‌ها هستند. تعداد آن‌ها کم است و توسط رای‌دهندگان انتخاب می‌شوند.
  • منظور از اعتبارسنج‌های بلاک در DPoS گره‌های کاملی است که تایید می‌کنند که بلاک‌های ساخته شده توسط تولیدکنندگان، تابع اجماع بوده یا نه. همه‌ی کاربران می‌توانند نقش اعتبارسنج را بازی کرده و شبکه را تایید کنند.

تعداد تولیدکنندگان بلاک در شبکه‌های DPoS به قوانین اجماع آن زنجیره بستگی دارد. این تعداد برای شماری از زنجیره‌های معروف DPoS عبارت‌اند از:

  •  EOS: 21
  •  BitShares: 101
  •  Steemit: 21
  • Lisk: 101
  • Ark: 51

یک چرخش در یک بلاک چین DPoS که N تولیدکننده‌ بلاک دارد به صورت زیر است:

۱. N تولیدکننده‌ بلاک از استخر نامزدهای تولیدکنندگان بلاک انتخاب می‌شود.

۲. تولیدکننده‌ی بلاک i اُم تا زمانی که i=N شود بلاک i اُم را علامت می‌زند.

وقتی (2/3+1) تولیدکننده به یک بلاک رای دادند، آن بلاک قطعی می‌شود (یعنی دیگر امکان تغییر آن وجود نخواهد داشت). در غیر این صورت، قانون طولانی‌ترین زنجیره دنبال می‌شود. وقتی به دنبال هم‌کنش‌پذیری میان بلاک چین‌ها هستیم، قطعیت اهمیت بسیار زیادی پیدا می‌کند.

مکانیزم پاداش و تورم بلاک بسته به مدل پاداش‌دهیِ پروژه برای هر DPoS فرق می‌کند و توضیح آن از حوصله‌ این مقاله خارج است.

به‌علاوه، اگر رای‌دهندگان تشخیص بدهند که یک تولیدکننده‌ بلاک رفتار نادرستی دارد (مثلا سعی می‌کند تراکنش‌ها را سانسور یا به خرج دوباره اقدام کند)، می‌توانند با رای ندادن به او در چرخش بعدی وی را از شبکه اخراج کنند.

با توجه به تعداد محدود تولیدکنندگان بلاک، DPoS خیلی بهتر از PoW می‌تواند عملکرد تراکنش‌ها را مدیریت کند.

همان طور که قبلا گفتیم، اثبات سهام محول شده پروتکلی است که با توجه به تعداد پایین تولیدکنندگان بلاکش غیرمتمرکز بودن را فدای عملکرد بهتر می‌کند.

بنابراین اگرچه DPoS برای بسیاری از اپلیکیشن‌ها که مستلزم سطح بالایی از مقیاس پذیری هستند مناسب است، ولی ما (و اکثر توسعه‌دهندگان بلاک چین) باور داریم که این روش به اندازه‌ی کافی غیرمتمرکز نیست که بتواند لایه‌ای اساسی برای ذخیره‌سازی ارزش و دفتر کل مالکیت در اپلیکیشن‌های وب ۳ باشد. لایه اساسی بلاک چین که قادر به انتقال ارزش‌های کاربردی است باید کاملا غیرمتمرکز و ایمن باشد. این موضوع قابل اغماض نیست.

نکته جالب توجه این است که علی‌رغم تبلیغات وسیع برای بهتر نشان دادن DPoS نسبت به بلاک چین های مبتنی بر اثبات کار مثل اتریوم، هنوز هم در یک نظرسنجی توئیتری حدود ۵۰ درصد کاربران عقیده دارند که این روش بیش از حد متمرکز است:

اثبات سهام محول شده (DPoS) چیست؟
اثبات سهام محول شده (DPoS) چیست؟

تاکنون خیلی‌ها درباره‌ نقایص DPoS مطالب زیادی نوشته‌اند، مثلا ویتالیک بوترین می‌گوید با فراگیری این روش احتمال تشکیل کارتل‌ها و رشوه دادن به رای‌دهندگان به وجود می‌آید.

با توجه به این که ما ذره‌ای حاضر به از دست دادن ویژگی غیرمتمرکز بودن این سیستم نیستیم و نمی‌توانیم از صداقت مشارکت‌کنندگان این شبکه اطمینان یابیم، به نظر نمی‌رسد که DPoS به‌خصوص برای بلاک چین‌هایی که تراکنش‌های مالی را مدیریت می‌کنند روش خوبی باشد.

اگر از این روش در برخی حوزه‌های خاص استفاده شود چطور؟

ما اولین کسانی نیستیم که به این ایده فکر می‌کنیم. مایلز اسنایدر در این باره می‌گوید:

اگر سیستم‌های DPoS همچنان می‌توانند سطوح لازم برای مقابله با سانسور، عدم نیاز به مجوز و اعتمادی که مورد نیاز پایگاه‌های داده‌ی غیرمتمرکز است را ارائه کنند، با این حساب DPoS می‌تواند برای بسیاری از اپلیکیشن‌های غیرمتمرکز مناسب باشد. در برخی موارد مثل طلای دیجیتالِ مقاوم در برابر سانسور، پول دیجیتال همتا به همتا و غیره، چشم‌پوشی از غیرمتمرکز بودن در ازای رسیدن به عملکرد بهتر می‌تواند منطقی باشد. مقیاس پذیری برای بخش عمده‌ای از اپلیکیشن‌ها از اهمیت بسیار بیشتری برخوردار است

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

علاوه بر این، اگر یک شبکه‌ PoW مثل اتریوم را به عنوان لایه‌ای اساسی و ایمن در نظر بگیریم و زنجیره‌ی DPoS را در لایه‌ی دوم بسازیم، می‌توانیم اکثر اپلیکیشن‌ها را در زنجیره‌ی مقیاس‌پذیرِ DPoS اجرا کنیم، و در عین حال از امنیت لایه‌ی پایینی برای بخش‌هایی از اپلیکیشن‌ها (مثل مالکیت دارایی‌ها یا پرداخت‌های درون برنامه‌ای) که مستلزم ایمنی بالا هستند بهره‌مند شویم.

ویتالیک بوترین می‌گوید:

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

با این حساب، در صورتی که سناریویی مثل سناریوی قوی سیاه پیش بیاید، همواره راه برگشت به زنجیره‌ امن PoW وجود دارد.

برای مثال، اگر مهاجمان بتوانند اکثریت تولیدکنندگان بلاک را در لایه دوم DPoS به دست آورند، توکن‌های کاربران همچنان در لایه‌ی اول در امان باقی خواهد ماند.

این سازوکار در بلاک چین‌های مستقلِ DPoS که لایه‌ی پایه‌ای غیرمتمرکز ندارند ممکن نیست، چون در آن صورت توکن‌ها هم در کنار سایر چیزهایی که در زنجیره وجود دارد در معرض خطر قرار می‌گیرند.

هارد فورک لایه‌ دوم در مقایسه با لایه‌ اول

در زنجیره DPoS، اگر یک شخص یا گروه متخاصم با تهیه‌ی مقدار زیادی سهم بتواند کنترل شبکه را در اختیار بگیرد، بلاک چین به ناچار برای مقابله با این اتفاق دچار هارد فورک می‌شود.

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

ولی برای یک اپلیکیشن غیرمالی که در لایه‌ی دوم اجرا می‌شود و بخش‌های باارزش خود را در لایه‌ی اول ذخیره می‌کند، وقوع هارد فورک آن قدرها هم فاجعه‌بار نیست.

برای یک اپلیکیشن یا بازی که در لایه دوم اجرا می‌شود، تا زمانی که تمامیت اطلاعات زیربنایی حفظ شود، هارد فورک هم می‌تواند یک گزینه مناسب باشد.

افزایش امنیت لایه دوم با پلاسما کَش

پلاسما تکنیکی است که انتقال امن دارایی‌ها از طریق بلاک چین را ممکن می‌سازد. در این روش، حتی اگر زنجیره‌ی پلاسما دچار حالت بیزانس شود، امنیت سیستم به‌وسیله «زنجیره ریشه» تضمین می‌شود.

کاربران با استفاده از پلاسما می‌توانند با توکن‌های لایه‌ی دوم ارتباط برقرار کنند، ولی برای حفظ امنیت خود همچنان به لایه‌ی اول متکی هستند. اگر یک شخص یا گروه متخاصم کنترل لایه‌ی دوم را در دست بگیرد، کاربران می‌توانند توکن‌های خود را به لایه‌ی اول برگردانند.

ایجاد زنجیره‌های فرعیِ DPoS در لایه‌ی امن نخست، حتی بدون پلاسما، امنیت خوبی را برای سیستم فراهم می‌کند، چون توسعه‌دهندگان اپلیکیشن‌های غیرمتمرکز می‌توانند تشخیص دهند که کدام اپلیکیشن غیرمتمرکز در لایه‌ی امن اول و کدام یک در زنجیره‌های مقیاس‌پذیر فرعی ذخیره شده‌اند. توسعه‌دهندگان با کمک پلاسما انعطاف‌پذیری بیشتری دارند، زیرا می‌توانند تراکنش‌های اضافه را در زنجیره‌ی فرعی اجرا کنند و در عین حال برای امنیت به لایه‌ی اول متکی باشند.

تاکنون همه‌ی نمونه‌های زنجیره‌ پلاسما از اثبات اعتبار (PoA) همراه با یک مرجع منفرد اعتباردهی به نام «عملگر پلاسما» استفاده و سناریوهایی را بررسی می‌کردند که عملگر در آن نقش متخاصم را دارد. در این مدل فقط یک عملگر پلاسما در زنجیره‌ی فرعی در نظر گرفته شده، و استفاده از روش‌های اثبات سخت‌گیرانه برای تضمین حرکت سرمایه‌ها میان زنجیره فرعی و اصلی الزامی است.

با این حال، در مورد زنجیره‌های فرعی DPoS، آن‌جا که امکان حضور چند تولیدکننده‌ منتخب بلاک توسط کاربران زنجیره‌ی فرعی وجود داشته باشد، این مدل بسیار متفاوت خواهد بود. ما معتقدیم ایجاد پیوندی ایمن میان زنجیره‌ی اپلیکیشن‌های غیرمتمرکز (DAppChain) و زنجیره اصلیِ PoW اتریوم از طریق پلاسما، ساده‌تر است، چون مؤلفه‌های تهاجم در گروه‌های تبهکاری تولیدکننده بلاک به‌کلی فرق می‌کند.

ما در شبکه‌ Loom در حال کار بر روی پیاده‌سازی پلاسما کش (Plasma Cash) برای توکن‌های ERC721 هستیم و قرار است ماه آینده آن را منتشر کنیم. این روش به بازی‌سازان اجازه می‌دهد توکن‌های ERC721 خود را در Loom DAppChainsand قرار بدهند تا بتوانند در بازی‌ها از آن استفاده کنند.

جمع‌بندی

به منظور اجرای بازی‌ها و اپلیکیشن‌های غیرمتمرکز بزرگ بر روی بلاک چین، ضروری است که در ازای دستیابی به عملکرد بهتر و مقرون‌به‌صرفگی، غیرمتمرکز بودن را تا حدی فدا کنیم. و به نظر می‌رسد که DPoS بهترین راهکار برای انجام این کار باشد.

علاوه بر این، فهمیدیم که الگوریتم DPoS راهکار ایده‌آلی برای ذخیره‌سازی ارزش نیست، چون وقتی تعداد اعتبارسنج‌ها کم است، شبکه نیازمند اعتماد است.

بنابراین، فکر می‌کنیم استفاده از شبکه غیرمتمرکز اصلی (یعنی اتریوم) به عنوان لایه اول و اجرای اپلیکیشن‌های غیرمتمرکز در زنجیره‌های فرعی و مقیاس‌پذیر DPoS بهترین روش برای استفاده از حداکثر قابلیت‌های این دو سیستم باشد.

منبع

شاید از این مطالب هم خوشتان بیاید.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.