پرش به محتوای اصلی

آخرین بروزرسانی صفحه: ۴ اسفند ۱۴۰۲

قطعیت اسلات منفرد

حدود 15 دقیقه زمان لازم است تا یک بلوک اتریوم قطعی شود. با این حال، می‌توانیم مکانیزم اجماع اتریوم را به شکلی طراحی کنیم که معتبر ساختن بلوک‌ها در حالت بهینه‌تری انجام شود و از این طریق زمان قطعی شدن بلاک‌ها را به شدت کاهش دهیم. به جای انتظار 15 دقیقه‌ای، بلوک‌ها می‌توانند در یک اسلات یکسان پیشنهاد شوند و در همان اسلات هم قطعی شوند. این مفهوم تحت عنوان قطعیت اسلات منفرد (SSF) شناخته می‌شود.

قطعیت چسیت؟

در مکانیزم اجماع مبتنی بر اثبات سهام اتریوم، قطعیت به این تضمین اشاره دارد که بلوک نتواند تغییر کند یا از زنجیره‌‌ی بلوکی حذف شود، مگر 33 درصد از کل اتریوم سهام‌گذاری‌شده را بسوزاند. این یک امنیت «رمزنگاری اقتصادی» است زیرا حصول اطمینان لازم با صرف هزینه بسیار بالایی بابت تغییر ترتیب زنجیره یا محتوای آن انجام می‌شود و بنابراین مانع روی آوردن فعالان اقتصادی منطق‌گرا به انجام این کار می‌شود.

چرا باید به دنبال سریع‌تر کردن قطعیت باشیم؟

در حال حاضر زمان لازم برای قطعیت بلوک‌ها خیلی طولانی است. اکثر کاربران نمی‌خواهند برای قطعیت تراکنش‌ها 15 دقیقه منتظر بمانند و از طرفی انتظار برای اطمینان از تحقق یافتن تراکنش‌ها در برنامه‌ها و صرافی‌ها که باید تعداد بالایی از داده‌های ورودی تراکنش‌ها داشته باشند، نامطلوب است. همچنین، تأخیر ایجادشده بین پیشنهاد شدن بلوک‌ها و قطعی شدن آن، موقعیت را برای سازمان‌دهی دوباره فراهم می‌کند و مهاجم می‌تواند از آن برای پنهان کردن بلوک‌های خاص یا استخراج MEV استفاده کند. مکانیزمی که مسئولیت ارتقای بلوک‌ها در مراحل مختلف را به عهده دارد نیز بسیار پیچیده است و پچ‌های مختلفی بارها برای بستن حفره‌های امنیتی آن ارائه شده است، که آن را به یکی از قسمت‌های کدهای پایۀ اتریوم تبدیل می‌کند و در آنجا وقوع باگ‌های ریز محتمل‌تر است. همه این مشکلات با کاهش زمان قطعیت یک اسلات قابل رفع هستند.

تمرکززدایی/ زمان/مدیریت سربار

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

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

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

مکانیزم اجماع فعلی اتریوم این سه پارامتر را به شکل زیر متعادل کرده است:

  • تنظیم حداقل سهام‌گذاری روی 32 واحد اتر. این تنظیمات یک حد بالا برای سقف تعداد تصدیق اعتبارسنج‌ها ایجاد می‌کند که باید توسط گره‌های منفرد پردازش شوند، و بنابراین یک حد بالا نیز برای توان محاسباتی مورد نیاز هر گره ایجاد می‌کند.
  • تنظیم زمان قطعیت روی حدود 15 دقیقه. این تنظیم زمان کافی را در اختیار اعتبارسنج‌هایی که بر روی کامپیوترهای خانگی عادی اجرا می‌شوند قرار می‌دهد تا بتوانند به صورت امن تصدیق هر بلوک را پردازش کنند.

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

مسیرهای منتهی به SSF

از زمانی که مکانیزم اجماع اتریوم طراحی شد، مشخص شد که طرح تجمیع امضا (BLS) بسیار مقیاس‌پذیرتر از آنچه در ابتدا تصور می‌شد بوده است. این در حالی است که توانایی کلاینت‌ها برای پردازش و تأیید امضاها نیز بهبود یافته است. به نظر می‌رسد که پردازش تصدیق‌ها توسط تعداد عظیمی اعتبارسنج درواقع در داخل یک اسلات امکان‌پذیر باشد. به عنوان نمونه، با یک میلیون اعتبارسنج که هر کدام دو بار در هر اسلات رأی می‌دهند و زمان 16 ثانیه‌ای که برای هر اسلات تنظیم شده است، گره‌ها باید امضاها را حداقل با نرخ 125,000 تجمیع در ثانیه تأیید کنند تا بتوانند کل 1 میلیون تصدیق را در داخل اسلات پردازش کنند. در واقعیت، برای یک کامپیوتر معمولی حدود 500 نانوثانیه طول می‌کشد تا یک تأیید امضا را انجام دهد، به این معنی که 125,000 امضا را می‌توان در 62/5 میلی‌ثانیه انجام داد - بسیار کمتر از آستانه یک ثانیه.

با ایجاد ابَرکمیته‌ها که مثلاً 125,000 اعتبارسنج تصادفی در هر اسلات داشته باشند، می‌توان به افزایش بازدهی دست یافت. فقط این اعتبارسنج‌ها می‌توانند در مورد یک بلوک رأی دهند و بنابراین فقط این زیرمجموعه از اعتبارسنج‌ها تصمیم می‌گیرند که آیا یک بلوک نهایی شود یا خیر. خوب بودن یا نبودن این ایده به این بستگی دارد که اعضای جامعه اتریوم ترجیح دهند هزینه حمله موفقیت‌آمیز به اتریوم چقدر سنگین باشد. این بدان خاطر است که به جای نیاز به دوسوم از کل اترهای سهام‌گذاری‌شده، مهاجم می‌تواند یک بلوک غیر صادقانه را با دوسوم اترهای سهام‌گذاری‌شده در آن ابَرکمیته قطعی کند. این هنوز یک حوزه تحقیقاتی فعال است، اما امکان‌پذیر به نظر می‌رسد که برای مجموعه‌ای از اعتبارسنج‌‌ها در اندازه‌ای که در وهله اول نیاز به ابَرکمیته داشته باشد، هزینه حمله به یکی از آن زیر کمیته‌ها بسیار بالا خواهد بود (مثلاً هزینه حمله به اتریوم بر این اساس 2/3 * 125,000 * 32 = تقریباً 2/6 میلیون اتر خواهد بود). هزینه حمله را می‌توان با افزایش بزرگی مجموعۀ اعتبارسنج‌ها تنظیم کرد (به عنوان مثال اندازه اعتبارسنج را طوری تنظیم کنید که هزینه حمله برابر با 1 میلیون اتر، 4 میلیون اتر، 10 میلیون اتر و غیره باشد). نظرسنجی‌های اولیه(opens in a new tab) از اعضای جامعه اتریوم نشان می‌دهد که 1 تا 2 میلیون اتر، هزینه قابل قبولی برای حمله است، که به این معنی است: 65,536 - 97,152 اعتبارسنج در هر ابَرکمیته.

با این حال، تأییدیه مسئله اصلی نیست - در واقع این تجمیع امضا است که گره‌های اعتبارسنج را به چالش می‌کشد. برای مقیاس‌پذیری تجمیع امضا، احتمالاً نیاز به افزایش تعداد اعتبارسنج‌ها در هر زیرشبکه، افزایش تعداد زیرشبکه‌ها، یا افزودن لایه‌های اضافی تجمیع (یعنی پیاده‌سازی کمیته‌هایی برای کمیته‌ها) خواهد بود. بخشی از راه حل می‌تواند صدور مجوز برای تجمیع‌کننده‌های تخصصی باشد - شبیه نحوه ایجاد بلوک و توسعه تعهدات برای اطلاعات رول‌‌آپ‌شده به بلوک‌سازان تخصصی مبتنی بر جداسازی پیشنهاددهنده-سازنده (PBS) و Danksharding.

نقش قانون انتخاب فورک در SSF چیست؟

مکانیزم اجماع فعلی بر یک پیوند محکم میان ابزار قطعیت (الگوریتمی که تعیین می‌کند آیا دوسوم از اعتبار‌سنج‌ها زنجیره خاصی را تصدیق کرده‌اند) و قانون انتخاب فورک (الگوریتمی که در صورت وجود چندین زنجیره، تصمیم می‌گیرد کدام زنجیره صحیح است) متکی است. الگوریتم انتخاب فورک بلوک‌ها را فقط از آخرین بلوک قطعی درنظر می‌گیرد. بر مبنای SSF هیچ بلوکی برای قانون انتخاب فورک وجود نخواهد داشت، زیرا قطعیت در همان اسلاتی رخ می‌دهد که بلوک پیشنهاد شده است. این بدان معناست که بر مبنای SSF،‏ یکی از این دو در هر زمانی فعال خواهد بود: الگوریتم انتخاب فورک یا ابزار قطعیت. ابزار قطعیت بلوک‌هایی را قطعی خواهد کرد که دوسوم از اعتبارسنج‌ها آنلاین بوده و با صداقت تصدیق کرده باشند. اگر یک بلوک نتواند از آستانه دوسوم عبور کند، قانون انتخاب فورک برای تعیین زنجیره‌ای که باید دنبال شود وارد عمل خواهد شد. این همچنین فرصتی برای حفظ مکانیزم‌های تشخیص وقوع عدم فعالیت ایجاد می‌کند تا زنجیره‌‌ای به کمک آن بازیابی شود که >یک‌سوم از اعتبارسنج‌ها آفلاین می‌شوند، البته با تفاوت‌هایی اندک.

موضوعات قابل ملاحظه

مشکل مقیاس‌پذیری تجمیع با افزایش تعداد اعتبارسنج‌ها در هر زیرشبکه این است که منجر به ترافیک بیشتر در شبکه همتا به همتا می‌شود. مشکل اضافه کردن لایه‌های تجمیع این است که مهندسی آن کاملاً پیچیده است و تأخیر را بیشتر می‌کند (یعنی ممکن است مدت بیشتری طول بکشد تا پیشنهاددهندۀ بلوک اطلاعات را از همه تجمیع‌کنندگان زیرشبکه دریافت کند). همچنین مشخص نیست که چگونه می‌توان با سناریویی برخورد کرد که در آن تعداد اعتبارسنج‌های فعال در شبکه از تعدادی که پردازششان در هر اسلات عملاً امکان‌پذیر است بیشتر می‌شود، حتی با تجمیع امضای BLS. یک راه حل بالقوه این است که، چون تمام اعتبارسنج‌ها هر اسلات را تصدیق می‌کنند و کمیته‌ای بر مبنای SSF وجود ندارد، محدودیت 32 اتر در موجودی را می‌توان به طور کامل حذف کرد؛ به عبارتی، اپراتورهایی که چندین اعتبارسنج را مدیریت می‌کنند می توانند سهام‌گذاری خود را تجمیع کنند و کمتر فعالیت کنند تا تعداد پیام‌هایی که گره‌های اعتبارسنجی باید برای لحاظ کردن کل مجموعه اعتبارسنج‌ها پردازش کنند کاهش یابد. این به نظرِ سهام‌گذاران بزرگ وابسته است که بپذیرند اعتبارسنج‌های خود را ادغام کنند. همچنین این امکان وجود دارد که در هر زمانی، یک سقف ثابت برای تعداد اعتبارسنج‌ها یا مقدار اتر سهام‌گذاری‌شده اعمال شود. با این حال، این نیاز به مکانیزمی برای تصمیم‌گیری دارد که کدام اعتبارسنج مجاز به مشارکت است و کدام مجاز نیست، که ممکن است اثرات ثانویه ناخواسته ایجاد کند.

پیشرفت فعلی

SSF در مرحله تحقیقاتی است. انتظار نمی‌رود تا چندین سال آتی تحقق یابد، و احتمالاً باید ابتدا ارتقاهای اساسی دیگر مانند درختان ورکل و Danksharding را پشت سر گذاشت.

بیشتر بخوانید

آیا این مقاله مفید بود؟