دانلود اپلیکیشن

هرآنچه باید درباره‌ رول‌ آپ آپتیمیستیک (Optimistic Rollup) بدانید!

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

فهرست محتوا

هرآنچه باید درباره‌ رول‌ آپ آپتیمیستیک (Optimistic Rollup) بدانید!
2 سال قبل

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

در این مقاله به بحث اصول مدرن «راه‌ حل‌ های لایه 2»، مدل امنیتی مربوط به آنها و اینکه چگونه می‌ توانند مقیاس‌ پذیری اتریوم را حل کنند خواهیم پرداخت.

الزامات منابع بلاک‌ چین

سه عامل بر الزامات منابع اجرای نود در شبکه‌ غیرمتمرکزی نظیر بیتکوین و اتریوم تاثیر می‌گذارند:

  • پهنای باند:‌ هزینه‌ دانلود و پخش هر نوع داده‌‌ی مرتبط با بلاک‌چین
  • محاسبات: هزینه‌ اجرای محاسبات در درون اسکریپت‌ها و قراردادهای هوشمند
  • ذخیره‌سازی: هزینه‌ ذخیره‌ داده‌های تراکنش برای اهداف شاخص‌گذاری و هزینه‌ی ذخیره‌ «وضعیت» به‌منظور ادامه‌ پردازش بلوک‌های جدید تراکنش.

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

  • توان عملیاتی: تعداد تراکنش‌هایی که سیستم می‌تواند در هر ثانیه پردازش کند.
  • تاخیر: زمان لازم برای پردازش تراکنش.

ویژگی مطلوبی که شبکه‌های نوظهور کریپتو مانند بیت کوین و اتریوم دارند، تمرکززدایی است. اما چه چیزی شبکه را غیرمتمرکز می‌کند؟

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

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

مطالب مرتبط: منظور از مقیاس‌ پذیری در بلاکچین

  • با نگاه دقیق‌تر متوجه می‌شویم که محیط اجرای اتریوم، ماشین مجازی اتریوم (EVM) است. تراکنش‌هایی که در ماشین مجازی اتریوم اجرا می‌شوند عملیات گوناگونی را با هزینه‌های متفاوت انجام می‌دهند (برای مثال، عملیات ذخیره‌ هزینه بیشتری در مقایسه با an addition ایجاد می‌کند). واحد محاسبه در تراکنش «گس» نامیده می‌شود و سیستم طوری تعریف می‌شود که حداکثر 12.5 گس به‌ازای هر بلوک پردازش کند. به‌طور میانگین در هر 12.5 ثانیه یک بلوک از تراکنش‌ها تولید می‌شود. در نتیجه، تاخیر اتریوم 12.5 ثانیه و توان عملیاتی آن 1m گس در هر ثانیه است.

شاید بپرسید: در 1m گس در ثانیه چه چیزی می‌توان خرید؟

  • تقریباً 47 تراکنش‌ «انتقال ساده» در هر ثانیه. هزینه‌ این تراکنش‌ها 21000 گس است و ساده‌ترین نوع تراکنشی است که اتریوم را از A به B انتقال می‌دهد.
  • تقریباً 16 توکن ERC20 در هر ثانیه. عملیات ذخیره‌سازی این انتقال‌ها در مقایسه با انتقال اتریوم بیشتر است و در نتیجه هر کدام تقریباً 60k هزینه دارد.
  • تقریباً معامله‌ 10 دارایی یونی‌سواپ در هر ثانیه. میانگین هزینه‌ معامله‌ی توکن‌به‌توکن حدود 102k گس است.
  • … هزینه‌ گس دلخواه خود را انتخاب و 1m را به آن تقسیم کنید (12.5/12.5m/گس)

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

مطالب مرتبط: مقدمه‌ای بر استاندارد ERC-20

راه‌حل 1: استفاده از واسطه

برای تسهیل همه‌ تراکنش‌ها می‌توان از طرف ثالث مورد اعتماد استفاده کرد. البته با این روش، توان عملیاتی بسیار بالا و احتمالاً تاخیر کمتر از ثانیه خواهیم داشت که بسیار عالی است. این روش باعث تغییر هیچ پارامتری در سیستم نخواهد شد، اما باز هم مسئله اعتماد خودنمایی می‌کند.

ما می‌توانیم به طرف سوم اعتماد کنیم اما باید در نظر داشت که احتمال سانسور و توقیف دارایی  هم وجود دارد که مطمئنا دلخواه ما نیست.

راه‌حل 2: بزرگ‌تر و پرتکرار کردن بلوک‌ها

  • با کاهش زمان بین 2 بلوک می‌توان تاخیر را کاهش و توان عملیاتی را با افزایش سطح گس بلوک افزایش داد. این تغییر باعث افزایش هزینه‌ عملیات نود و همچنین مانع اجرای نودهای افراد خواهد شد (برای مثال، اتفاقی که با EOS، Solana، Ripple و غیره روی می‌دهد).

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

کشف رول‌ آپ آپتیمیستیک از اصول اول

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

سوال: خب… می‌خواهیم اتریوم را بدون ایجاد تغییر معنادار در مفروضات هزینه و اعتماد، مقیاس‌پذیر کنیم. چگونه می‌توانیم این کار را انجام دهیم؟

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

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

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

جواب: در نقطه‌ی حدی، می‌توانیم تمام کارهای اجرایی را به خارج از زنجیره منتقل کنیم و برخی از داده‌ها را در داخل زنجیره نگه داریم. – این کار با معرفی طرف ثالث انجام می‌شود که به آن توالی‌سنج می‌گویند. آنها مسئولیت مرتب‌سازی و اجرای تراکنش‌هایی را به عهده دارند که به‌طور محلی به‌وسیله‌ی کاربر ارسال شده‌اند. برای حفظ چالاکی سیستم، توالی‌سنج‌ها موظفند که روت (ریشه) مرکل تراکنش‌هایی را که دریافت می‌کنند و روت‌های وضعیت در اتریم را به‌طور دوره‌ای ارسال کنند. این گام در جهت درستی است، زیرا تنها داده‌‌های در مرتبه‌ی O(1) را در وضعیت اتریوم برای تراکنش‌های برون‌زنجیره‌ای O(N) ذخیره می‌کنیم.

سوال: بنابراین وقتی توالی‌سنج همه چیز را به‌صورت برون‌زنجیره‌ای محاسبه کند و تنها روت‌های مرکل را منتشر کند، به مقیاس‌پذیری دست می‌یابیم؟

جواب: بله.

سوال: بسیار خوب. بنابراین وقتی داخل هستید، توالی‌سنج تضمین می‌کند انتقال‌های شما ارزان باشند. سپرده‌گذاری و برداشت از حساب چگونه کار می‌کنند؟

جواب: کاربر با سپرده‌گذاری در اتریم وارد سیستم می‌شود و پس از آن توالی‌سنج حساب کابر را با مبلغ متناظر بستانکار می‌کند. کاربر با انجام تراکنشی که می‌گوید «می‌خواهم 3 اتریوم از حساب برداشت کنم، حساب من در حال حاضر 3 اتریوم دارد و این هم اثبات آن» از حساب برداشت خواهد کرد. گرچه L1، وضعیت کاربر حقیقی را ندارد، ** کاربر با نشان دادن اثبات مرکل و ارجاع به روت‌های وضعیت انتشاریافته به‌وسیله‌ی توالی‌سنج اثبات می‌کند که بودجه کافی در وضعیت فعلی دارد.**

سوال: مشخص شد که کاربر برای برداشت وجه خود نیاز به اثبات مرکل دارد. حال، کاربر برای ساخت اثبات مرکل چگونه داده‌ به دست می‌آورد؟

جواب: آنها می‌توانند از توالی‌سنج بخواهند که برای آنها داده فراهم کند!

‌سوال: اما اگر توالی‌سنج موقتاً یا به‌طور دائم در دسترس نباشد در آن صورت چه باید کرد؟

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

سوال: بنابراین اگر توالی‌سنج آنلاین باشد اما نخواهد داده‌های اثبات مرکل را برای ما فراهم کند، آیا می‌توان آنها را از اتریوم دانلود کرد؟

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

سوال: چیزی که هنوز متوجه نشدم… چگونه می‌توان چیزی را در اتریوم بدون اجرای آن ذخیره کرد؟ آیا هر تراکنش از مسیر ماشین مجازی اتریم (EVM) نمی‌گذرد؟

جواب: فرض کنید 10 تراکنش ارسال کردید و اتریوم را از A به B انتقال دادید. با اجرای هر تراکنش اقدامات زیر انجام خواهد شد:

افزایش نانس A، کاهش مانده حساب A و افزایش مانده حساب B. درعوض، می‌توانید رمزگذاری تمام تراکنش‌ها را به تابع قرارداد هوشمند publish(bytes _transactions) public { } بفرستید. توجه کنید که بدنه‌ی تابع خالی است!. این بدان معناست که داده‌های تراکنش منتشرشده تفسیر و اجرا نمی‌شود و هیچ کجا دسترسی به وضعیت وجود ندارد؛ این فقط در لاگ های تاریخی بلاک‌چین ذخیره می‌شود (که نوشتن آن ارزان است).

سوال: آیا می‌توان به توالی‌سنج اعتماد کرد؟ اگر آنها انتقال وضعیت غیرمعتبر را منتشر کنند چه باید کرد؟

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

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

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

‌سوال: صبر کنید! قبلاً گفتید که اگر پروتکل a) باعث افزایش هزینه شود یا b) مفروضات اعتماد جدیدی معرفی کند، مقیاس‌پذیر نیست. در طرحی که اینجا توصیف شد، آیا این فرض اضافه نمی‌کنیم که همیشه کسی وجود دارد که تقلب را گزارش کند؟

جواب: درست است. فرض می‌کنیم که ناظرهایی به نام «اعتبارسنج‌ها‌» وجود دارند که مسئول دیده‌بانی تقلب هستند و اگر عدم‌تطابق میان وضعیت لایه‌ی 1 و لایه 2 وجود داشته باشد آنها اثبات تقلب را منتشر می‌کنند.

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

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

‌سوال: موافقم که کسی اعتبارسنج را اجرا خواهد کرد، زیرا طرف‌های بسیاری در موفقیت این راه‌حل جدید نفع می‌برند. اما مطمئناً بستگی به میزان هزینه‌ این کار هم دارد. پس الزامات منابع برای اجرای اعتبارسنج و توالی‌سنج چیست؟

جواب: توالی‌سنج‌ها و اعتبارسنج‌ها باید نود کامل اتریوم (نه نود آرشیو)، نود کامل L2، را اجرا کنند تا وضعیت L2 را تولید کنند. اعتبارسنج‌ها نرم‌افزاری را اجرا می‌کنند که مسئول اثبات‌ تقلب است و توالی‌سنج‌ها نرم‌افزاری را اجرا می‌کنند که مسئول بسته‌بندی تراکنش‌های کاربر و انتشار آنهاست.

سوال: درست است؟

جواب: بله! تبریک عرض می‌کنم! شما رول‌آپ آپتیمیستیک را مجدداً کشف کرده‌اید؛ راه‌حل مقیاس‌پذیری دوره‌ی 2019 تا 2021 که منتظرش بودیم. این دلیل خوبی دارد، چرا که رول‌آپ آپتیمیستیک از یافته‌های نهایی فرایند پژوهشی طولانی چندساله در اجتماع اتریوم است که شما آن را در مکالمه کوتاه تجربه کردید.

مشوق‌ های رول‌آپ آپتیمیستیک

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

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

با معرفی  “تضمین درستکاری” (Fdelity Bond) انگیزه تقلب کم می‌شود. برای آنکه یک کاربر به توالی‌سنج تبدیل شود، ابتدا باید وجه تضمین در اتریوم ارسال کند که در صورت اثبات تقلب ضبط خواهد شد. برای تشویق افراد به پایش تقلب از وجه تضمین توالی‌سنج کسر و بین اعتبارسنج‌ها توزیع می‌شود.

وجه تضمین درستکاری و دوره‌های مناقشه

2 پارامتر وجود دارد که در هنگام طراحی مشوق برای اثبات تقلب باید تنظیم شوند:

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

به عقیده‌ی ما، هیچ مقدار استاتیک صحیحی برای هر یک از این پارامترها وجود ندارد. شاید وجه تضمین 10 اتریومی و دوره‌ مناقشه‌ 1 روزه کافی باشد. شاید 1 اتریوم و 7 روز کافی باشد. جواب صحیح این است که این مقادیر به انگیزه اعتبارسنج بودن (که بستگی به هزینه‌ی اجرای اعتبارسنج دارد) و میزان سهولت انتشار اثبات تقلب بستگی دارد (که بستگی به ازدحام L1 دارد). هر دو فاکتور باید به‌طور دستی یا خودکار قابل تنظیم باشند. برای مثال، EIP559 کد دستور (آپکُد)BASEFEE جدیدی در اتریوم معرفی می‌کند که می‌توان از آن برای برآورد ازدحام درون‌زنجیره‌ای استفاده و در نتیجه طول مدت دوره‌ مناقشه را به صورت قابل برنامه‌ای (programmatically) تنظیم کرد.

پیاده‌سازی درست سازوکار مجازات بسیار اهمیت دارد، در غیر این صورت ممکن است مورد سوء‌استفاده قرار گیرد. مثال زیر، نمونه‌ای از پیاده‌سازی ساده‌لوحانه‌ است که به درستی کار نخواهد کرد:

  1. علی1 اتریوم وجه تضمین ارسال می‌کند و از این طریق می‌تواند در سیستم به عنوان یک توالی‌سنج معرفی شود.
  2. علی به‌روزرسانی وضعیت تقلب را منتشر می‌کند.
  3. محمد متوجه می‌شود و مناقشه‌ای منتشر می‌کند. در صورت موفقیت این مناقشه، باید از وجه تضمین علی 1 اتریوم به محمد داده شود و به‌روزرسانی وضعیت متقلبانه را لغو کند.
  4. محمد متوجه مناقشه می‌شود و او نیز مناقشه‌ای منتشر می‌کند (خودش را به مناقشه می‌کشد!)
  5. علی 1 اتریوم خودش را دریافت می‌کند و درواقع هیچ جریمه‌ای پرداخت نمی‌کند علی‌رغم اینکه سعی داشت مرتکب تقلب شود.

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

راه‌حل ساده: به‌جای آن که وجه‌ تضمین کامل به مناقشه‌کننده اعطا شود، X% از آن سوخت می‌شود. در مثال بالا، اگر 50% را می‌سوزاندیم، علی درمقابل 0.5 اتریوم دریافت می‌کرد که به‌اندازه‌ی کافی غیرمشوق بود تا او را از تلاش برای فریب در گام دوم بازدارد. البته، این سوخت‍ه شدن وجه تضمین باعث کاهش انگیزه فعالیت به‌عنوان اعتبارسنج می‌شود (چون موجب کاهش مبلغ پرداختی می‌شود)، بنابراین به‌جای سوخت‌شدن وجه تضمین باید، انگیزه اعتبارسنج‌ها به‌اندازه‌ی زیاد باشد.

رایج‌ترین انتقادات از رول‌آپ آپتیمیستیک (OR) و پاسخ‌های ما

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

دوره‌های طولانی برداشت از حساب/مناقشه اثر زیا‌ن‌باری بر پذیرش و ترکیب‌پذیری دارند. در بالا گفته شد که دوره‌های طولانی مناقشه از لحاظ امنیت فاکتور بسیار خوبی است. به‌نظر می‌رسد یک حد مشخص وجود داشته باشد: دوره‌های طولانی مناقشه برای پذیرش رول‌آپ آپتیمیستیک خوب نیست، چون هر کاربری که بخواهد وجوه خود را از رول‌آپ آپتیمیستیک برداشت کند باید مثلاً 7 روز صبر کند تا وجوهش برداشت شود. دوره‌های کوتاه مناقشه نیز باعث هموار شدن تجربه‌ کاربر می‌شود، اما این ریسک وجود دارد که تقلب روی دهد و هیچ مناقشه‌ای انجام نگیرد.

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

بازیگران:

  • علی : 5 اتریوم در L2 دارد.
  • محمد : 4.95 اتریوم L1 در قرارداد هوشمند «بازارسازان» وجود دارد و در L2 اعتبارسنج اجرا می‌شود.

مراحل:

  1. علی به باب اطلاع می‌دهد که می‌خواهد برداشت «سریع» داشته باشد و به او 0.05 اتریوم کارمزد می‌دهد.
  2. علی برداشت از قرارداد هوشمند «بازارساز» را فعال می‌کند.
  3. دو اتفاق ممکن است رخ دهد:
    1. محمد در اعتبارسنج خودش در L2 معتبر بودن برداشت از حساب را بررسی می‌کند. این اتفاق باعث می‌شود 4.95 اتریوم فوراً به آدرس L1 علی منتقل شود. محمد قادر خواهد بود پس از اتمام دوره‌ برداشت 5 اتریوم مطالبه کند و سود خوبی به جیب بزند.
    2. اعتبارسنج‌ محم به او هشدار می‌دهد که این تراکنش معتبر نیست. محمد با انتقال وضعیت ناشی از این تراکنش مخالفت می‌کند و آن را لغو کرده و وجه تضمین توالی‌سنج را به‌خاطر اینکه اجازه وقوع تراکنش بدخواهانه را داده به دست می‌آورد.

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

مهم‌ترین کاربرد این ویژگی آنجاست که ترکیب‌پذیری با قراردادهای L2 را بدون انتظار برای دوره مناقشه کامل، ممکن می‌کند.

استخراج‌کنندگان را می‌توان تطمیع کرد تا برداشت‌ها را سانسور کنند که این موضوع به امنیت رول‌آپ آپتیمیستیک خدشه وارد می‌کند.

در “Nearly-zero cost attack scenario on Optimistic Rollup” استدلال بر این است که انگیزه‌های ماینرها طوری است که تبانی با استخراج‌کنندگان اتریوم برای سانسور تراکنش مناقشه، امر پیش پا افتاده محسوب می‌شود. البته، با توجه به اینکه به‌خاطر امنیت به مناقشه‌ها اتکا می‌شود، این امر برای هر سیستم آپتیمیستیکی زیان‌بار خواهد بود.

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

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

دو راهی اعتبارسنج موانعی برای اجرا ایجاد می‌کند که به امنیت رول‌آپ آپتیمیستیک لطمه می‌زند.

اد فلتن تحلیل و راه‌حل خوبی برای دوراهی اعتبارسنج تالیف کرده است که به اختصار آمده است:

  1. اگر مشوق‌های سیستم طبق انتظار کار کند، هیچ‌ کسی نمی‌تواند تقلب کند.
  2. اگر کسی تقلب نکند، در آن صورت هیچ نیازی به راه‌اندازی اعتبارسنج نخواهد بود، زیرا از اجرا‌ی آن پولی عاید شما نمی‌شود.
  3. از آنجایی که هیچ‌کسی اعتبارسنج راه‌اندازی نمی‌کند، نهایتاٌ فرصت تقلب برای توالی‌سنج فراهم خواهد شد.
  4. توالی‌سنج تقلب می‌کند و عملکرد سیستم طبق انتظار پیش نمی‌رود.

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

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

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

رول‌آپ آپتیمیستیک - optimistic rollup

سخن پایانی

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

مایلیم بر این نکته تاکید کنیم که عملکرد بیشینه‌ی رول‌آپ آپتیمیستیک محدود به داده‌هایی است که می‌تواند در L1 منتشر شود. در نتیجه، 1) فشرده‌سازی داده‌ها تا جای ممکن در هنگام انتشار (برای مثال، از طریق تجمیع امضای BLS) 2) داشتن لایه داده‌های ارزان و بزرگ (برای مثال، ETH2) محاسنی دارند.

چرا اتراکس بهترین است؟

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

وبلاگ اتراکس

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

مقالات مرتبط